summaryrefslogtreecommitdiff
path: root/gnu/usr.bin
diff options
context:
space:
mode:
authorAndrew Fresh <afresh1@cvs.openbsd.org>2014-03-24 14:59:12 +0000
committerAndrew Fresh <afresh1@cvs.openbsd.org>2014-03-24 14:59:12 +0000
commit8b5e5eaf3fe5889deb1c00e8fdfa55925576b856 (patch)
tree2441c7e063a87c538378364951c832d913dff920 /gnu/usr.bin
parent17f808fe690fa4d7066ed8efda5793e4018b30d9 (diff)
Import perl-5.18.2
OK espie@ sthen@ deraadt@
Diffstat (limited to 'gnu/usr.bin')
-rw-r--r--gnu/usr.bin/perl/Porting/README.pod96
-rw-r--r--gnu/usr.bin/perl/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm14
-rw-r--r--gnu/usr.bin/perl/cpan/Config-Perl-V/V.pm115
-rw-r--r--gnu/usr.bin/perl/cpan/Config-Perl-V/t/10_base.t4
-rw-r--r--gnu/usr.bin/perl/cpan/Module-Metadata/t/encoding.t1
-rw-r--r--gnu/usr.bin/perl/cpan/Pod-Usage/lib/Pod/Usage.pm1576
-rw-r--r--gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/ee.pl64
-rw-r--r--gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl3116
-rw-r--r--gnu/usr.bin/perl/cpan/Unicode-Collate/t/ident.t9
-rw-r--r--gnu/usr.bin/perl/dist/Data-Dumper/t/quotekeys.t43
-rw-r--r--gnu/usr.bin/perl/ext/XS-APItest/t/handy.t247
-rw-r--r--gnu/usr.bin/perl/inline_invlist.c58
-rw-r--r--gnu/usr.bin/perl/regen/regcharclass_multi_char_folds.pl25
-rw-r--r--gnu/usr.bin/perl/regen/unicode_constants.pl15
-rw-r--r--gnu/usr.bin/perl/t/lib/croak/toke21
-rw-r--r--gnu/usr.bin/perl/t/op/for.t19
-rw-r--r--gnu/usr.bin/perl/t/op/heredoc.t21
-rw-r--r--gnu/usr.bin/perl/t/op/lexsub.t125
-rw-r--r--gnu/usr.bin/perl/t/op/while.t12
-rw-r--r--gnu/usr.bin/perl/t/opbasic/arith.t14
-rw-r--r--gnu/usr.bin/perl/t/re/recompile.t26
-rw-r--r--gnu/usr.bin/perl/t/re/regex_sets.t3
-rw-r--r--gnu/usr.bin/perl/t/run/switchM.t19
-rw-r--r--gnu/usr.bin/perl/t/uni/variables.t68
-rw-r--r--gnu/usr.bin/perl/unicode_constants.h15
25 files changed, 2558 insertions, 3168 deletions
diff --git a/gnu/usr.bin/perl/Porting/README.pod b/gnu/usr.bin/perl/Porting/README.pod
index 2bd612d688b..a714193a742 100644
--- a/gnu/usr.bin/perl/Porting/README.pod
+++ b/gnu/usr.bin/perl/Porting/README.pod
@@ -16,7 +16,7 @@ text.
Program to prepare dual-life distributions for insertion into the Perl 5
F<lib/> and F<t/> directories. Now thought to be largely superseded.
-=head2 F<bisect-example.sh>, F<bisect.pl> and F<bisect-runner.pl>
+=head2 F<bisect-example.sh>, F<bisect-runner.pl> and F<bisect.pl>
Use C<git bisect> to pinpoint changes.
@@ -30,14 +30,23 @@ number in various files within the perl source.
Performs pathname portability checks, including whether there are naming
conflicts when names are truncated to the DOSish, case-ignoring 8.3 format.
-=head2 F<checkansi.pl>
-
-Check source code for ANSI-C violations.
-
=head2 F<checkAUTHORS.pl>
Used by F<t/porting/authors.t> to ensure the F<AUTHORS> list is up to date.
+=head2 F<checkURL.pl>
+
+Checks that all the URLs in the Perl source are valid.
+
+=head2 F<checkVERSION.pl>
+
+Used by F<t/porting/cmp_version.t> to ensure changed modules have had their
+versions updated.
+
+=head2 F<checkansi.pl>
+
+Check source code for ANSI-C violations.
+
=head2 F<checkcfgvar.pl>
Check that the various F<config.sh>-clones have (at least) all the same
@@ -60,15 +69,6 @@ F<MANIFEST>).
Check if POD files contain non-ASCII without specifying
encoding. Run it as: C<perl Porting/checkpodencoding.pl>.
-=head2 F<checkURL.pl>
-
-Checks that all the URLs in the Perl source are valid.
-
-=head2 F<checkVERSION.pl>
-
-Used by F<t/porting/cmp_version.t> to ensure changed modules have had their
-versions updated.
-
=head2 F<cherrymaint>
Command line tool to update cherrymaint; a tool for selecting commits from
@@ -114,16 +114,16 @@ same version than the corresponding module on CPAN.
Prints a table of differences between two Perl versions with respect to
modules included in the distribution.
+=head2 F<corelist.pl>
+
+Generates info for Module::CoreList from this perl tree.
+
=head2 F<corelist-perldelta.pl>
Generates a list of the module changes for the Perl you are currently
building. Also generates a diff between the corelist sections of two
F<perldelta*> files.
-=head2 F<corelist.pl>
-
-Generates info for Module::CoreList from this perl tree.
-
=head2 F<epigraphs.pod>
List of Perl release epigraphs.
@@ -146,6 +146,13 @@ Expand C macros using the C preprocessor.
This script finds reentrant variants of functions used in an executable and
shared objects.
+=head2 F<GitUtils.pm>
+
+This script contains the subroutine to generate a F<.patch file> for a
+committish (the SHA1 checksum of a commit, a number made of 40 hexadecimal
+digits which acts the internal unique identifier for this commit
+(lilypond.org). Related file: F<make_dot_patch.pl>
+
=head2 F<git-deltatool>
This script, a rough draft, aids in generating a perldelta file
@@ -160,13 +167,6 @@ id.
This script creates a tag for every p4raw-id.
-=head2 F<GitUtils.pm>
-
-This script contains the subroutine to generate a F<.patch file> for a
-committish (the SHA1 checksum of a commit, a number made of 40 hexadecimal
-digits which acts the internal unique identifier for this commit
-(lilypond.org). Related file: F<make_dot_patch.pl>
-
=head2 F<Glossary>
This file is built by F<metaconfig>. This file contains a description of all
@@ -201,31 +201,31 @@ F<Maintainers>, F<Maintainers.pm>
A package to search and show information about which core files/modules are
associated with maintainers. Related files: F<Maintainers>, F<Maintainers.pl>
+=head2 F<make-rmg-checklist>
+
+This script creates a release checklist as a simple HTML document.
+
=head2 F<make_dot_patch.pl>
Generate a F<.patch> file to STDOUT for a commit ID specified on the
command-line.
-=head2 F<makemeta>
-
-This script creates F<META.yml> and F<META.json> files.
-
=head2 F<make_modlib_cpan.pl>
This script generates the list of registered CPAN sites in F<perlmodlib.PL>.
-=head2 F<makerel>
+=head2 F<make_snapshot.pl>
-This script builds a Perl release tarball.
+This script is a quick and dirty snapshot generator for the perl5.git.perl.org
+web page to use to generate the snapshot files.
-=head2 F<make-rmg-checklist>
+=head2 F<makemeta>
-This script creates a release checklist as a simple HTML document.
+This script creates F<META.yml> and F<META.json> files.
-=head2 F<make_snapshot.pl>
+=head2 F<makerel>
-This script is a quick and dirty snapshot generator for the perl5.git.perl.org
-web page to use to generate the snapshot files.
+This script builds a Perl release tarball.
=head2 F<manicheck>
@@ -279,13 +279,6 @@ Pumpkin - Notes on handling the Perl Patch Pumpkin And Porting Perl.
Many of these are out of date or superseded by other documents in
this directory.
-=head2 F<README.pod>
-
-This file. An exhaustive list of the contents of the F<Porting/>
-directory along with a description of each file.
-The test F<t/porting/readme.t> ensures that this lists every file
-and that every file is listed.
-
=head2 F<README.y2038>
The y2038 implementation for perl. This is an implementation of POSIX time.h
@@ -295,7 +288,7 @@ L<http://y2038.googlecode.com/>.
=head2 F<release_announcement_template.txt>
-Release announcement for minor releasements of the 5.19 development series.
+Release announcment for minor releasements of the 5.17 development series.
=head2 F<release_managers_guide.pod>
@@ -319,9 +312,18 @@ This is a script for sorting the warning and error messages in
F<perldiag.pod>. POD formatting, printf-style escapes, non-letter characters,
and case are ignored, as explained in L<perldiag>.
-=head2 F<sync-with-cpan>
+=head2 F<testall.atom>
+
+Test suite profiling on Tru 64.
+
+=head2 F<thirdclean>
+
+Script for cleaning out the "known noise" from Third Degree reports: either
+noise caused by F<libc> itself, or F<Perl_yyparse> leaks.
+
+=head2 F<time>
-Script to help out with syncing cpan distros.
+A helper tool for perl's 2038 support. See F<Porting/README.y2038> for details.
=head2 F<timecheck2.c>
@@ -338,7 +340,7 @@ 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:/Porting/todo.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@perl.org> to avoid duplication of effort, and to learn from
+F<perl5-porters@perl.org> to avoid duplication of effort, and to learn from
any previous attempts.
=head2 F<valgrindpp.pl>
diff --git a/gnu/usr.bin/perl/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm b/gnu/usr.bin/perl/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm
index 621550cef6a..ee53a3c4570 100644
--- a/gnu/usr.bin/perl/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm
+++ b/gnu/usr.bin/perl/cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm
@@ -1,7 +1,7 @@
use strict;
use warnings;
package CPAN::Meta::Requirements;
-our $VERSION = '2.125'; # VERSION
+our $VERSION = '2.122'; # VERSION
# ABSTRACT: a set of version requirements for a CPAN dist
@@ -433,18 +433,15 @@ sub from_string_hash {
# vim: ts=2 sts=2 sw=2 et:
__END__
-
=pod
-=encoding utf-8
-
=head1 NAME
CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
=head1 VERSION
-version 2.125
+version 2.122
=head1 SYNOPSIS
@@ -694,7 +691,7 @@ CPAN::Meta::Requirements object.
=head2 Bugs / Feature Requests
Please report any bugs or feature requests through the issue tracker
-at L<https://github.com/dagolden/CPAN-Meta-Requirements/issues>.
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-Requirements>.
You will be notified automatically of any progress on your issue.
=head2 Source Code
@@ -702,9 +699,9 @@ You will be notified automatically of any progress on your issue.
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
-L<https://github.com/dagolden/CPAN-Meta-Requirements>
+L<https://github.com/dagolden/cpan-meta-requirements>
- git clone https://github.com/dagolden/CPAN-Meta-Requirements.git
+ git clone https://github.com/dagolden/cpan-meta-requirements.git
=head1 AUTHORS
@@ -728,3 +725,4 @@ This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
+
diff --git a/gnu/usr.bin/perl/cpan/Config-Perl-V/V.pm b/gnu/usr.bin/perl/cpan/Config-Perl-V/V.pm
index 4cbf6fe66f0..c52b82608cf 100644
--- a/gnu/usr.bin/perl/cpan/Config-Perl-V/V.pm
+++ b/gnu/usr.bin/perl/cpan/Config-Perl-V/V.pm
@@ -8,7 +8,7 @@ use warnings;
use Config;
use Exporter;
use vars qw($VERSION @ISA @EXPORT_OK %EXPORT_TAGS);
-$VERSION = "0.22";
+$VERSION = "0.17";
@ISA = ("Exporter");
@EXPORT_OK = qw( plv2hash summary myconfig signature );
%EXPORT_TAGS = (
@@ -22,28 +22,14 @@ $VERSION = "0.22";
# The list are as the perl binary has stored it in PL_bincompat_options
# search for it in
-# perl.c line 1643 S_Internals_V ()
-# perl -ne'(/^S_Internals_V/../^}/)&&s/^\s+"( .*)"/$1/ and print' perl.c
-# perl.h line 4566 PL_bincompat_options
-# perl -ne'(/^\w.*PL_bincompat/../^\w}/)&&s/^\s+"( .*)"/$1/ and print' perl.h
+# perl.c line 1661 S_Internals_V ()
+# perl.h line 4664 (second block),
my %BTD = map { $_ => 0 } qw(
DEBUGGING
- NO_HASH_SEED
NO_MATHOMS
- NO_TAINT_SUPPORT
- PERL_BOOL_AS_CHAR
PERL_DISABLE_PMC
PERL_DONT_CREATE_GVSV
- PERL_EXTERNAL_GLOB
- PERL_HASH_FUNC_DJB2
- PERL_HASH_FUNC_MURMUR3
- PERL_HASH_FUNC_ONE_AT_A_TIME
- PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
- PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
- PERL_HASH_FUNC_SDBM
- PERL_HASH_FUNC_SIPHASH
- PERL_HASH_FUNC_SUPERFAST
PERL_IS_MINIPERL
PERL_MALLOC_WRAP
PERL_MEM_LOG
@@ -52,10 +38,6 @@ my %BTD = map { $_ => 0 } qw(
PERL_MEM_LOG_NOIMPL
PERL_MEM_LOG_STDERR
PERL_MEM_LOG_TIMESTAMP
- PERL_NEW_COPY_ON_WRITE
- PERL_PERTURB_KEYS_DETERMINISTIC
- PERL_PERTURB_KEYS_DISABLED
- PERL_PERTURB_KEYS_RANDOM
PERL_PRESERVE_IVUV
PERL_RELOCATABLE_INCPUSH
PERL_USE_DEVEL
@@ -63,9 +45,7 @@ my %BTD = map { $_ => 0 } qw(
UNLINK_ALL_VERSIONS
USE_ATTRIBUTES_FOR_PERLIO
USE_FAST_STDIO
- USE_HASH_SEED_EXPLICIT
USE_LOCALE
- USE_LOCALE_CTYPE
USE_PERL_ATOF
USE_SITECUSTOMIZE
@@ -75,21 +55,19 @@ my %BTD = map { $_ => 0 } qw(
FAKE_THREADS
FCRYPT
HAS_TIMES
- HAVE_INTERP_INTERN
MULTIPLICITY
MYMALLOC
- PERL_DEBUG_READONLY_COW
+ PERLIO_LAYERS
PERL_DEBUG_READONLY_OPS
PERL_GLOBAL_STRUCT
- PERL_GLOBAL_STRUCT_PRIVATE
PERL_IMPLICIT_CONTEXT
PERL_IMPLICIT_SYS
- PERLIO_LAYERS
PERL_MAD
PERL_MICRO
PERL_NEED_APPCTX
PERL_NEED_TIMESBASE
PERL_OLD_COPY_ON_WRITE
+ PERL_NEW_COPY_ON_WRITE
PERL_POISON
PERL_SAWAMPERSAND
PERL_TRACK_MEMPOOL
@@ -103,7 +81,6 @@ my %BTD = map { $_ => 0 } qw(
USE_LARGE_FILES
USE_LOCALE_COLLATE
USE_LOCALE_NUMERIC
- USE_LOCALE_TIME
USE_LONG_DOUBLE
USE_PERLIO
USE_REENTRANT_API
@@ -115,7 +92,7 @@ my %BTD = map { $_ => 0 } qw(
);
# These are all the keys that are
-# 1. Always present in %Config - lib/Config.pm #87 tie %Config
+# 1. Always present in %Config (first block)
# 2. Reported by 'perl -V' (the rest)
my @config_vars = qw(
@@ -231,60 +208,39 @@ sub _make_derived
sub plv2hash
{
my %config;
+ for (split m/\n+/ => join "\n", @_) {
+
+ if (s/^Summary of my\s+(\S+)\s+\(\s*(.*?)\s*\)//) {
+ $config{"package"} = $1;
+ my $rev = $2;
+ $rev =~ s/^ revision \s+ (\S+) \s*//x and $config{revision} = $1;
+ $rev and $config{version_patchlevel_string} = $rev;
+ my ($rel) = $config{package} =~ m{perl(\d)};
+ my ($vers, $subvers) = $rev =~ m{version\s+(\d+)\s+subversion\s+(\d+)};
+ defined $vers && defined $subvers && defined $rel and
+ $config{version} = "$rel.$vers.$subvers";
+ next;
+ }
- my $pv = join "\n" => @_;
-
- if ($pv =~ m/^Summary of my\s+(\S+)\s+\(\s*(.*?)\s*\)/m) {
- $config{"package"} = $1;
- my $rev = $2;
- $rev =~ s/^ revision \s+ (\S+) \s*//x and $config{revision} = $1;
- $rev and $config{version_patchlevel_string} = $rev;
- my ($rel) = $config{"package"} =~ m{perl(\d)};
- my ($vers, $subvers) = $rev =~ m{version\s+(\d+)\s+subversion\s+(\d+)};
- defined $vers && defined $subvers && defined $rel and
- $config{version} = "$rel.$vers.$subvers";
- }
-
- if ($pv =~ m/^\s+(Snapshot of:)\s+(\S+)/) {
- $config{git_commit_id_title} = $1;
- $config{git_commit_id} = $2;
- }
+ if (s/^\s+(Snapshot of:)\s+(\S+)//) {
+ $config{git_commit_id_title} = $1;
+ $config{git_commit_id} = $2;
+ next;
+ }
- if (my %kv = ($pv =~ m{\b
- (\w+) # key
- \s*= # assign
- ( '\s*[^']*?\s*' # quoted value
- | \S+[^=]*?\s*\n # unquoted running till end of line
- | \S+ # unquoted value
- | \s*\n # empty
- )
- (?:,?\s+|\s*\n)? # separator (5.8.x reports did not have a ','
- }gx)) { # between every kv pair
+ my %kv = m/\G,?\s*([^=]+)=('[^']+?'|\S+)/gc;
while (my ($k, $v) = each %kv) {
$k =~ s/\s+$//;
- $v =~ s/\s*\n\z//;
$v =~ s/,$//;
$v =~ m/^'(.*)'$/ and $v = $1;
+ $v =~ s/^\s+//;
$v =~ s/\s+$//;
$config{$k} = $v;
}
}
-
my $build = { %empty_build };
-
- $pv =~ m{^\s+Compiled at\s+(.*)}m
- and $build->{stamp} = $1;
- $pv =~ m{^\s+Locally applied patches:(?:\s+|\n)(.*?)(?:[\s\n]+Buil[td] under)}ms
- and $build->{patches} = [ split m/\n+\s*/, $1 ];
- $pv =~ m{^\s+Compile-time options:(?:\s+|\n)(.*?)(?:[\s\n]+(?:Locally applied|Buil[td] under))}ms
- and map { $build->{options}{$_} = 1 } split m/\s+|\n/ => $1;
-
$build->{osname} = $config{osname};
- $pv =~ m{^\s+Built under\s+(.*)}m
- and $build->{osname} = $1;
- $config{osname} ||= $build->{osname};
-
return _make_derived ({
build => $build,
environment => {},
@@ -345,9 +301,20 @@ sub myconfig
}
else {
#y $pv = qx[$^X -e"sub Config::myconfig{};" -V];
- my $cnf = plv2hash (qx[$^X -V]);
-
- $build->{$_} = $cnf->{build}{$_} for qw( osname stamp patches options );
+ my $pv = qx[$^X -V];
+ $pv =~ s{.*?\n\n}{}s;
+ $pv =~ s{\n(?: \s+|\t\s*)}{\0}g;
+
+ # print STDERR $pv;
+
+ $pv =~ m{^\s+Built under\s+(.*)}m
+ and $build->{osname} = $1;
+ $pv =~ m{^\s+Compiled at\s+(.*)}m
+ and $build->{stamp} = $1;
+ $pv =~ m{^\s+Locally applied patches:(?:\s+|\0)(.*)}m
+ and $build->{patches} = [ split m/\0+/, $1 ];
+ $pv =~ m{^\s+Compile-time options:(?:\s+|\0)(.*)}m
+ and map { $build->{options}{$_} = 1 } split m/\s+|\0/ => $1;
}
my @KEYS = keys %ENV;
@@ -534,7 +501,7 @@ H.Merijn Brand <h.m.brand@xs4all.nl>
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2009-2014 H.Merijn Brand
+Copyright (C) 2009-2013 H.Merijn Brand
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/gnu/usr.bin/perl/cpan/Config-Perl-V/t/10_base.t b/gnu/usr.bin/perl/cpan/Config-Perl-V/t/10_base.t
index a0a220c8dc9..b840ef58cd1 100644
--- a/gnu/usr.bin/perl/cpan/Config-Perl-V/t/10_base.t
+++ b/gnu/usr.bin/perl/cpan/Config-Perl-V/t/10_base.t
@@ -18,7 +18,9 @@ BEGIN {
}
ok (my $conf = Config::Perl::V::myconfig, "Read config");
-ok (exists $conf->{$_}, "Has $_ entry") for qw( build environment config inc );
+for (qw( build environment config inc )) {
+ ok (exists $conf->{build}, "Has build entry");
+ }
is (lc $conf->{build}{osname}, lc $conf->{config}{osname}, "osname");
SKIP: {
diff --git a/gnu/usr.bin/perl/cpan/Module-Metadata/t/encoding.t b/gnu/usr.bin/perl/cpan/Module-Metadata/t/encoding.t
index b010f7e727a..a0970e051ce 100644
--- a/gnu/usr.bin/perl/cpan/Module-Metadata/t/encoding.t
+++ b/gnu/usr.bin/perl/cpan/Module-Metadata/t/encoding.t
@@ -1,7 +1,6 @@
#!perl
use strict;
-use warnings;
use File::Spec;
use Test::More;
diff --git a/gnu/usr.bin/perl/cpan/Pod-Usage/lib/Pod/Usage.pm b/gnu/usr.bin/perl/cpan/Pod-Usage/lib/Pod/Usage.pm
index f0dd8350f12..e09d69e89b7 100644
--- a/gnu/usr.bin/perl/cpan/Pod-Usage/lib/Pod/Usage.pm
+++ b/gnu/usr.bin/perl/cpan/Pod-Usage/lib/Pod/Usage.pm
@@ -1,809 +1,767 @@
-#############################################################################
-# Pod/Usage.pm -- print usage messages for the running script.
-#
-# 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::Usage;
-use strict;
-
-use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '1.63'; ## Current version of this package
-require 5.006; ## requires this Perl version or later
-
-#use diagnostics;
-use Carp;
-use Config;
-use Exporter;
-use File::Spec;
-
-@EXPORT = qw(&pod2usage);
-BEGIN {
- $Pod::Usage::Formatter ||= 'Pod::Text';
- eval "require $Pod::Usage::Formatter";
- die $@ if $@;
- @ISA = ( $Pod::Usage::Formatter );
-}
-
-our $MAX_HEADING_LEVEL = 3;
-
-##---------------------------------------------------------------------------
-
-##---------------------------------
-## Function definitions begin here
-##---------------------------------
-
-sub pod2usage {
- local($_) = shift;
- my %opts;
- ## Collect arguments
- if (@_ > 0) {
- ## Too many arguments - assume that this is a hash and
- ## the user forgot to pass a reference to it.
- %opts = ($_, @_);
- }
- elsif (!defined $_) {
- $_ = '';
- }
- elsif (ref $_) {
- ## User passed a ref to a hash
- %opts = %{$_} if (ref($_) eq 'HASH');
- }
- elsif (/^[-+]?\d+$/) {
- ## User passed in the exit value to use
- $opts{'-exitval'} = $_;
- }
- else {
- ## User passed in a message to print before issuing usage.
- $_ and $opts{'-message'} = $_;
- }
-
- ## 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) = ($_, $opts{$_});
- $key =~ s/^(?=\w)/-/;
- $key =~ /^-msg/i and $key = '-message';
- $key =~ /^-exit/i and $key = '-exitval';
- lc($key) => $val;
- } (keys %opts);
-
- ## Now determine default -exitval and -verbose values to use
- if ((! defined $opts{'-exitval'}) && (! defined $opts{'-verbose'})) {
- $opts{'-exitval'} = 2;
- $opts{'-verbose'} = 0;
- }
- elsif (! defined $opts{'-exitval'}) {
- $opts{'-exitval'} = ($opts{'-verbose'} > 0) ? 1 : 2;
- }
- elsif (! defined $opts{'-verbose'}) {
- $opts{'-verbose'} = (lc($opts{'-exitval'}) eq 'noexit' ||
- $opts{'-exitval'} < 2);
- }
-
- ## Default the output file
- $opts{'-output'} = (lc($opts{'-exitval'}) eq 'noexit' ||
- $opts{'-exitval'} < 2) ? \*STDOUT : \*STDERR
- unless (defined $opts{'-output'});
- ## Default the input file
- $opts{'-input'} = $0 unless (defined $opts{'-input'});
-
- ## Look up input file in path if it doesn't exist.
- unless ((ref $opts{'-input'}) || (-e $opts{'-input'})) {
- my $basename = $opts{'-input'};
- my $pathsep = ($^O =~ /^(?:dos|os2|MSWin32)$/i) ? ';'
- : (($^O eq 'MacOS' || $^O eq 'VMS') ? ',' : ':');
- my $pathspec = $opts{'-pathlist'} || $ENV{PATH} || $ENV{PERL5LIB};
-
- my @paths = (ref $pathspec) ? @$pathspec : split($pathsep, $pathspec);
- for my $dirname (@paths) {
- $_ = File::Spec->catfile($dirname, $basename) if length;
- last if (-e $_) && ($opts{'-input'} = $_);
- }
- }
-
- ## Now create a pod reader and constrain it to the desired sections.
- my $parser = new Pod::Usage(USAGE_OPTIONS => \%opts);
- if ($opts{'-verbose'} == 0) {
- $parser->select('(?:SYNOPSIS|USAGE)\s*');
- }
- elsif ($opts{'-verbose'} == 1) {
- my $opt_re = '(?i)' .
- '(?:OPTIONS|ARGUMENTS)' .
- '(?:\s*(?:AND|\/)\s*(?:OPTIONS|ARGUMENTS))?';
- $parser->select( '(?:SYNOPSIS|USAGE)\s*', $opt_re, "DESCRIPTION/$opt_re" );
- }
- elsif ($opts{'-verbose'} >= 2 && $opts{'-verbose'} != 99) {
- $parser->select('.*');
- }
- elsif ($opts{'-verbose'} == 99) {
- my $sections = $opts{'-sections'};
- $parser->select( (ref $sections) ? @$sections : $sections );
- $opts{'-verbose'} = 1;
- }
-
- ## Check for perldoc
- my $progpath = File::Spec->catfile($Config{scriptdirexp}
- || $Config{scriptdir}, 'perldoc');
-
- my $version = sprintf("%vd",$^V);
- if ($Config{versiononly} and $Config{startperl} =~ /\Q$version\E$/ ) {
- $progpath .= $version;
- }
- $opts{'-noperldoc'} = 1 unless -e $progpath;
-
- ## Now translate the pod document and then exit with the desired status
- if ( !$opts{'-noperldoc'}
- and $opts{'-verbose'} >= 2
- and !ref($opts{'-input'})
- and $opts{'-output'} == \*STDOUT )
- {
- ## spit out the entire PODs. Might as well invoke perldoc
- print { $opts{'-output'} } ($opts{'-message'}, "\n") if($opts{'-message'});
- if(defined $opts{-input} && $opts{-input} =~ /^\s*(\S.*?)\s*$/) {
- # the perldocs back to 5.005 should all have -F
- # without -F there are warnings in -T scripts
- system($progpath, '-F', $1);
- if($?) {
- # RT16091: fall back to more if perldoc failed
- system(($Config{pager} || $ENV{PAGER} || '/bin/more'), $1);
- }
- } else {
- croak "Unspecified input file or insecure argument.\n";
- }
- }
- else {
- $parser->parse_from_file($opts{'-input'}, $opts{'-output'});
- }
-
- exit($opts{'-exitval'}) unless (lc($opts{'-exitval'}) eq 'noexit');
-}
-
-##---------------------------------------------------------------------------
-
-##-------------------------------
-## Method definitions begin here
-##-------------------------------
-
-sub new {
- my $this = shift;
- my $class = ref($this) || $this;
- my %params = @_;
- my $self = {%params};
- bless $self, $class;
- if ($self->can('initialize')) {
- $self->initialize();
- } else {
- # pass through options to Pod::Text
- my %opts;
- for (qw(alt code indent loose margin quotes sentence stderr utf8 width)) {
- my $val = $params{USAGE_OPTIONS}{"-$_"};
- $opts{$_} = $val if defined $val;
- }
- $self = $self->SUPER::new(%opts);
- %$self = (%$self, %params);
- }
- return $self;
-}
-
-# This subroutine was copied in whole-cloth from Pod::Select 1.60 in order to
-# allow the ejection of Pod::Select from the core without breaking Pod::Usage.
-# -- rjbs, 2013-03-18
-sub _compile_section_spec {
- my ($section_spec) = @_;
- my (@regexs, $negated);
-
- ## Compile the spec into a list of regexs
- local $_ = $section_spec;
- s{\\\\}{\001}g; ## handle escaped backward slashes
- s{\\/}{\002}g; ## handle escaped forward slashes
-
- ## Parse the regexs for the heading titles
- @regexs = split(/\//, $_, $MAX_HEADING_LEVEL);
-
- ## Set default regex for ommitted levels
- for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
- $regexs[$i] = '.*' unless ((defined $regexs[$i])
- && (length $regexs[$i]));
- }
- ## Modify the regexs as needed and validate their syntax
- my $bad_regexs = 0;
- for (@regexs) {
- $_ .= '.+' if ($_ eq '!');
- s{\001}{\\\\}g; ## restore escaped backward slashes
- s{\002}{\\/}g; ## restore escaped forward slashes
- $negated = s/^\!//; ## check for negation
- eval "m{$_}"; ## check regex syntax
- if ($@) {
- ++$bad_regexs;
- carp qq{Bad regular expression /$_/ in "$section_spec": $@\n};
- }
- else {
- ## Add the forward and rear anchors (and put the negator back)
- $_ = '^' . $_ unless (/^\^/);
- $_ = $_ . '$' unless (/\$$/);
- $_ = '!' . $_ if ($negated);
- }
- }
- return (! $bad_regexs) ? [ @regexs ] : undef;
-}
-
-sub select {
- my ($self, @sections) = @_;
- if ($ISA[0]->can('select')) {
- $self->SUPER::select(@sections);
- } else {
- # we're using Pod::Simple - need to mimic the behavior of Pod::Select
- my $add = ($sections[0] eq '+') ? shift(@sections) : '';
- ## Reset the set of sections to use
- unless (@sections) {
- delete $self->{USAGE_SELECT} unless ($add);
- return;
- }
- $self->{USAGE_SELECT} = []
- unless ($add && $self->{USAGE_SELECT});
- my $sref = $self->{USAGE_SELECT};
- ## Compile each spec
- for my $spec (@sections) {
- my $cs = _compile_section_spec($spec);
- if ( defined $cs ) {
- ## Store them in our sections array
- push(@$sref, $cs);
- } else {
- carp qq{Ignoring section spec "$spec"!\n};
- }
- }
- }
-}
-
-# Override Pod::Text->seq_i to return just "arg", not "*arg*".
-sub seq_i { return $_[1] }
-
-# This overrides the Pod::Text method to do something very akin to what
-# Pod::Select did as well as the work done below by preprocess_paragraph.
-# Note that the below is very, very specific to Pod::Text.
-sub _handle_element_end {
- my ($self, $element) = @_;
- if ($element eq 'head1') {
- $self->{USAGE_HEADINGS} = [ $$self{PENDING}[-1][1] ];
- if ($self->{USAGE_OPTIONS}->{-verbose} < 2) {
- $$self{PENDING}[-1][1] =~ s/^\s*SYNOPSIS\s*$/USAGE/;
- }
- } elsif ($element =~ /^head(\d+)$/ && $1) { # avoid 0
- my $idx = $1 - 1;
- $self->{USAGE_HEADINGS} = [] unless($self->{USAGE_HEADINGS});
- $self->{USAGE_HEADINGS}->[$idx] = $$self{PENDING}[-1][1];
- }
- if ($element =~ /^head\d+$/) {
- $$self{USAGE_SKIPPING} = 1;
- if (!$$self{USAGE_SELECT} || !@{ $$self{USAGE_SELECT} }) {
- $$self{USAGE_SKIPPING} = 0;
- } else {
- my @headings = @{$$self{USAGE_HEADINGS}};
- for my $section_spec ( @{$$self{USAGE_SELECT}} ) {
- my $match = 1;
- for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
- $headings[$i] = '' unless defined $headings[$i];
- my $regex = $section_spec->[$i];
- my $negated = ($regex =~ s/^\!//);
- $match &= ($negated ? ($headings[$i] !~ /${regex}/)
- : ($headings[$i] =~ /${regex}/));
- last unless ($match);
- } # end heading levels
- if ($match) {
- $$self{USAGE_SKIPPING} = 0;
- last;
- }
- } # end sections
- }
-
- # Try to do some lowercasing instead of all-caps in headings, and use
- # a colon to end all headings.
- if($self->{USAGE_OPTIONS}->{-verbose} < 2) {
- local $_ = $$self{PENDING}[-1][1];
- s{([A-Z])([A-Z]+)}{((length($2) > 2) ? $1 : lc($1)) . lc($2)}ge;
- s/\s*$/:/ unless (/:\s*$/);
- $_ .= "\n";
- $$self{PENDING}[-1][1] = $_;
- }
- }
- if ($$self{USAGE_SKIPPING} && $element !~ m/^over-/) {
- pop @{ $$self{PENDING} };
- } else {
- $self->SUPER::_handle_element_end($element);
- }
-}
-
-# required for Pod::Simple API
-sub start_document {
- my $self = shift;
- $self->SUPER::start_document();
- my $msg = $self->{USAGE_OPTIONS}->{-message} or return 1;
- my $out_fh = $self->output_fh();
- print $out_fh "$msg\n";
-}
-
-# required for old Pod::Parser API
-sub begin_pod {
- my $self = shift;
- $self->SUPER::begin_pod(); ## Have to call superclass
- my $msg = $self->{USAGE_OPTIONS}->{-message} or return 1;
- my $out_fh = $self->output_handle();
- print $out_fh "$msg\n";
-}
-
-sub preprocess_paragraph {
- my $self = shift;
- local $_ = shift;
- my $line = shift;
- ## See if this is a heading and we aren't printing the entire manpage.
- if (($self->{USAGE_OPTIONS}->{-verbose} < 2) && /^=head/) {
- ## Change the title of the SYNOPSIS section to USAGE
- s/^=head1\s+SYNOPSIS\s*$/=head1 USAGE/;
- ## Try to do some lowercasing instead of all-caps in headings
- s{([A-Z])([A-Z]+)}{((length($2) > 2) ? $1 : lc($1)) . lc($2)}ge;
- ## Use a colon to end all headings
- s/\s*$/:/ unless (/:\s*$/);
- $_ .= "\n";
- }
- return $self->SUPER::preprocess_paragraph($_);
-}
-
-1; # keep require happy
-
-__END__
-
-=head1 NAME
-
-Pod::Usage, pod2usage() - print a usage message from embedded pod documentation
-
-=head1 SYNOPSIS
-
- use Pod::Usage
-
- my $message_text = "This text precedes the usage message.";
- my $exit_status = 2; ## The exit status to use
- my $verbose_level = 0; ## The verbose level to use
- my $filehandle = \*STDERR; ## The filehandle to write to
-
- pod2usage($message_text);
-
- pod2usage($exit_status);
-
- pod2usage( { -message => $message_text ,
- -exitval => $exit_status ,
- -verbose => $verbose_level,
- -output => $filehandle } );
-
- pod2usage( -msg => $message_text ,
- -exitval => $exit_status ,
- -verbose => $verbose_level,
- -output => $filehandle );
-
- pod2usage( -verbose => 2,
- -noperldoc => 1 )
-
-=head1 ARGUMENTS
-
-B<pod2usage> should be given either a single argument, or a list of
-arguments corresponding to an associative array (a "hash"). When a single
-argument is given, it should correspond to exactly one of the following:
-
-=over 4
-
-=item *
-
-A string containing the text of a message to print I<before> printing
-the usage message
-
-=item *
-
-A numeric value corresponding to the desired exit status
-
-=item *
-
-A reference to a hash
-
-=back
-
-If more than one argument is given then the entire argument list is
-assumed to be a hash. If a hash is supplied (either as a reference or
-as a list) it should contain one or more elements with the following
-keys:
-
-=over 4
-
-=item C<-message>
-
-=item C<-msg>
-
-The text of a message to print immediately prior to printing the
-program's usage message.
-
-=item C<-exitval>
-
-The desired exit status to pass to the B<exit()> function.
-This should be an integer, or else the string "NOEXIT" to
-indicate that control should simply be returned without
-terminating the invoking process.
-
-=item C<-verbose>
-
-The desired level of "verboseness" to use when printing the usage
-message. If the corresponding value is 0, then only the "SYNOPSIS"
-section of the pod documentation is printed. If the corresponding value
-is 1, then the "SYNOPSIS" section, along with any section entitled
-"OPTIONS", "ARGUMENTS", or "OPTIONS AND ARGUMENTS" is printed. If the
-corresponding value is 2 or more then the entire manpage is printed.
-
-The special verbosity level 99 requires to also specify the -sections
-parameter; then these sections are extracted and printed.
-
-=item C<-sections>
-
-A string representing a selection list for sections to be printed
-when -verbose is set to 99, e.g. C<"NAME|SYNOPSIS|DESCRIPTION|VERSION">.
-
-Alternatively, an array reference of section specifications can be used:
-
- pod2usage(-verbose => 99,
- -sections => [ qw(fred fred/subsection) ] );
-
-=item C<-output>
-
-A reference to a filehandle, or the pathname of a file to which the
-usage message should be written. The default is C<\*STDERR> unless the
-exit value is less than 2 (in which case the default is C<\*STDOUT>).
-
-=item C<-input>
-
-A reference to a filehandle, or the pathname of a file from which the
-invoking script's pod documentation should be read. It defaults to the
-file indicated by C<$0> (C<$PROGRAM_NAME> for users of F<English.pm>).
-
-If you are calling B<pod2usage()> from a module and want to display
-that module's POD, you can use this:
-
- use Pod::Find qw(pod_where);
- pod2usage( -input => pod_where({-inc => 1}, __PACKAGE__) );
-
-=item C<-pathlist>
-
-A list of directory paths. If the input file does not exist, then it
-will be searched for in the given directory list (in the order the
-directories appear in the list). It defaults to the list of directories
-implied by C<$ENV{PATH}>. The list may be specified either by a reference
-to an array, or by a string of directory paths which use the same path
-separator as C<$ENV{PATH}> on your system (e.g., C<:> for Unix, C<;> for
-MSWin32 and DOS).
-
-=item C<-noperldoc>
-
-By default, Pod::Usage will call L<perldoc> when -verbose >= 2 is
-specified. This does not work well e.g. if the script was packed
-with L<PAR>. The -noperldoc option suppresses the external call to
-L<perldoc> and uses the simple text formatter (L<Pod::Text>) to
-output the POD.
-
-=back
-
-=head2 Formatting base class
-
-The default text formatter is L<Pod::Text>. The base class for Pod::Usage can
-be defined by pre-setting C<$Pod::Usage::Formatter> I<before>
-loading Pod::Usage, e.g.:
-
- BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; }
- use Pod::Usage qw(pod2usage);
-
-=head2 Pass-through options
-
-The following options are passed through to the underlying text formatter.
-See the manual pages of these modules for more information.
-
- alt code indent loose margin quotes sentence stderr utf8 width
-
-=head1 DESCRIPTION
-
-B<pod2usage> will print a usage message for the invoking script (using
-its embedded pod documentation) and then exit the script with the
-desired exit status. The usage message printed may have any one of three
-levels of "verboseness": If the verbose level is 0, then only a synopsis
-is printed. If the verbose level is 1, then the synopsis is printed
-along with a description (if present) of the command line options and
-arguments. If the verbose level is 2, then the entire manual page is
-printed.
-
-Unless they are explicitly specified, the default values for the exit
-status, verbose level, and output stream to use are determined as
-follows:
-
-=over 4
-
-=item *
-
-If neither the exit status nor the verbose level is specified, then the
-default is to use an exit status of 2 with a verbose level of 0.
-
-=item *
-
-If an exit status I<is> specified but the verbose level is I<not>, then the
-verbose level will default to 1 if the exit status is less than 2 and
-will default to 0 otherwise.
-
-=item *
-
-If an exit status is I<not> specified but verbose level I<is> given, then
-the exit status will default to 2 if the verbose level is 0 and will
-default to 1 otherwise.
-
-=item *
-
-If the exit status used is less than 2, then output is printed on
-C<STDOUT>. Otherwise output is printed on C<STDERR>.
-
-=back
-
-Although the above may seem a bit confusing at first, it generally does
-"the right thing" in most situations. This determination of the default
-values to use is based upon the following typical Unix conventions:
-
-=over 4
-
-=item *
-
-An exit status of 0 implies "success". For example, B<diff(1)> exits
-with a status of 0 if the two files have the same contents.
-
-=item *
-
-An exit status of 1 implies possibly abnormal, but non-defective, program
-termination. For example, B<grep(1)> exits with a status of 1 if
-it did I<not> find a matching line for the given regular expression.
-
-=item *
-
-An exit status of 2 or more implies a fatal error. For example, B<ls(1)>
-exits with a status of 2 if you specify an illegal (unknown) option on
-the command line.
-
-=item *
-
-Usage messages issued as a result of bad command-line syntax should go
-to C<STDERR>. However, usage messages issued due to an explicit request
-to print usage (like specifying B<-help> on the command line) should go
-to C<STDOUT>, just in case the user wants to pipe the output to a pager
-(such as B<more(1)>).
-
-=item *
-
-If program usage has been explicitly requested by the user, it is often
-desirable to exit with a status of 1 (as opposed to 0) after issuing
-the user-requested usage message. It is also desirable to give a
-more verbose description of program usage in this case.
-
-=back
-
-B<pod2usage> doesn't force the above conventions upon you, but it will
-use them by default if you don't expressly tell it to do otherwise. The
-ability of B<pod2usage()> to accept a single number or a string makes it
-convenient to use as an innocent looking error message handling function:
-
- use Pod::Usage;
- use Getopt::Long;
-
- ## Parse options
- GetOptions("help", "man", "flag1") || pod2usage(2);
- pod2usage(1) if ($opt_help);
- pod2usage(-verbose => 2) if ($opt_man);
-
- ## Check for too many filenames
- pod2usage("$0: Too many files given.\n") if (@ARGV > 1);
-
-Some user's however may feel that the above "economy of expression" is
-not particularly readable nor consistent and may instead choose to do
-something more like the following:
-
- use Pod::Usage;
- use Getopt::Long;
-
- ## Parse options
- GetOptions("help", "man", "flag1") || pod2usage(-verbose => 0);
- pod2usage(-verbose => 1) if ($opt_help);
- pod2usage(-verbose => 2) if ($opt_man);
-
- ## Check for too many filenames
- pod2usage(-verbose => 2, -message => "$0: Too many files given.\n")
- if (@ARGV > 1);
-
-As with all things in Perl, I<there's more than one way to do it>, and
-B<pod2usage()> adheres to this philosophy. If you are interested in
-seeing a number of different ways to invoke B<pod2usage> (although by no
-means exhaustive), please refer to L<"EXAMPLES">.
-
-=head1 EXAMPLES
-
-Each of the following invocations of C<pod2usage()> will print just the
-"SYNOPSIS" section to C<STDERR> and will exit with a status of 2:
-
- pod2usage();
-
- pod2usage(2);
-
- pod2usage(-verbose => 0);
-
- pod2usage(-exitval => 2);
-
- pod2usage({-exitval => 2, -output => \*STDERR});
-
- pod2usage({-verbose => 0, -output => \*STDERR});
-
- pod2usage(-exitval => 2, -verbose => 0);
-
- pod2usage(-exitval => 2, -verbose => 0, -output => \*STDERR);
-
-Each of the following invocations of C<pod2usage()> will print a message
-of "Syntax error." (followed by a newline) to C<STDERR>, immediately
-followed by just the "SYNOPSIS" section (also printed to C<STDERR>) and
-will exit with a status of 2:
-
- pod2usage("Syntax error.");
-
- pod2usage(-message => "Syntax error.", -verbose => 0);
-
- pod2usage(-msg => "Syntax error.", -exitval => 2);
-
- pod2usage({-msg => "Syntax error.", -exitval => 2, -output => \*STDERR});
-
- pod2usage({-msg => "Syntax error.", -verbose => 0, -output => \*STDERR});
-
- pod2usage(-msg => "Syntax error.", -exitval => 2, -verbose => 0);
-
- pod2usage(-message => "Syntax error.",
- -exitval => 2,
- -verbose => 0,
- -output => \*STDERR);
-
-Each of the following invocations of C<pod2usage()> will print the
-"SYNOPSIS" section and any "OPTIONS" and/or "ARGUMENTS" sections to
-C<STDOUT> and will exit with a status of 1:
-
- pod2usage(1);
-
- pod2usage(-verbose => 1);
-
- pod2usage(-exitval => 1);
-
- pod2usage({-exitval => 1, -output => \*STDOUT});
-
- pod2usage({-verbose => 1, -output => \*STDOUT});
-
- pod2usage(-exitval => 1, -verbose => 1);
-
- pod2usage(-exitval => 1, -verbose => 1, -output => \*STDOUT});
-
-Each of the following invocations of C<pod2usage()> will print the
-entire manual page to C<STDOUT> and will exit with a status of 1:
-
- pod2usage(-verbose => 2);
-
- pod2usage({-verbose => 2, -output => \*STDOUT});
-
- pod2usage(-exitval => 1, -verbose => 2);
-
- pod2usage({-exitval => 1, -verbose => 2, -output => \*STDOUT});
-
-=head2 Recommended Use
-
-Most scripts should print some type of usage message to C<STDERR> when a
-command line syntax error is detected. They should also provide an
-option (usually C<-H> or C<-help>) to print a (possibly more verbose)
-usage message to C<STDOUT>. Some scripts may even wish to go so far as to
-provide a means of printing their complete documentation to C<STDOUT>
-(perhaps by allowing a C<-man> option). The following complete example
-uses B<Pod::Usage> in combination with B<Getopt::Long> to do all of these
-things:
-
- use Getopt::Long;
- use Pod::Usage;
-
- my $man = 0;
- my $help = 0;
- ## Parse options and print usage if there is a syntax error,
- ## or if usage was explicitly requested.
- GetOptions('help|?' => \$help, man => \$man) or pod2usage(2);
- pod2usage(1) if $help;
- pod2usage(-verbose => 2) if $man;
-
- ## If no arguments were given, then allow STDIN to be used only
- ## if it's not connected to a terminal (otherwise print usage)
- pod2usage("$0: No files given.") if ((@ARGV == 0) && (-t STDIN));
- __END__
-
- =head1 NAME
-
- sample - Using GetOpt::Long and Pod::Usage
-
- =head1 SYNOPSIS
-
- sample [options] [file ...]
-
- Options:
- -help brief help message
- -man full documentation
-
- =head1 OPTIONS
-
- =over 8
-
- =item B<-help>
-
- Print a brief help message and exits.
-
- =item B<-man>
-
- Prints the manual page and exits.
-
- =back
-
- =head1 DESCRIPTION
-
- B<This program> will read the given input file(s) and do something
- useful with the contents thereof.
-
- =cut
-
-=head1 CAVEATS
-
-By default, B<pod2usage()> will use C<$0> as the path to the pod input
-file. Unfortunately, not all systems on which Perl runs will set C<$0>
-properly (although if C<$0> isn't found, B<pod2usage()> will search
-C<$ENV{PATH}> or else the list specified by the C<-pathlist> option).
-If this is the case for your system, you may need to explicitly specify
-the path to the pod docs for the invoking script using something
-similar to the following:
-
- pod2usage(-exitval => 2, -input => "/path/to/your/pod/docs");
-
-In the pathological case that a script is called via a relative path
-I<and> the script itself changes the current working directory
-(see L<perlfunc/chdir>) I<before> calling pod2usage, Pod::Usage will
-fail even on robust platforms. Don't do that. Or use L<FindBin> to locate
-the script:
-
- use FindBin;
- pod2usage(-input => $FindBin::Bin . "/" . $FindBin::Script);
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Marek Rouchal E<lt>marekr@cpan.orgE<gt>
-
-Brad Appleton E<lt>bradapp@enteract.comE<gt>
-
-Based on code for B<Pod::Text::pod2text()> written by
-Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
-
-=head1 ACKNOWLEDGMENTS
-
-rjbs for refactoring Pod::Usage to not use Pod::Parser any more.
-
-Steven McDougall E<lt>swmcd@world.std.comE<gt> for his help and patience
-with re-writing this manpage.
-
-=head1 SEE ALSO
-
-B<Pod::Usage> is now a standalone distribution, depending on
-L<Pod::Text> which in turn depends on L<Pod::Simple>.
-
-L<Pod::Perldoc>, L<Getopt::Long>, L<Pod::Find>, L<FindBin>,
-L<Pod::Text>, L<Pod::Text::Termcap>, L<Pod::Simple>
-
-=cut
-
+#############################################################################
+# Pod/Usage.pm -- print usage messages for the running script.
+#
+# 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::Usage;
+use strict;
+
+use vars qw($VERSION @ISA @EXPORT);
+$VERSION = '1.61'; ## Current version of this package
+require 5.005; ## requires this Perl version or later
+
+#use diagnostics;
+use Carp;
+use Config;
+use Exporter;
+use File::Spec;
+
+@EXPORT = qw(&pod2usage);
+BEGIN {
+ $Pod::Usage::Formatter ||=
+ ( $] >= 5.005_58 ? 'Pod::Text' : 'Pod::PlainText');
+ eval "require $Pod::Usage::Formatter";
+ die $@ if $@;
+ @ISA = ( $Pod::Usage::Formatter );
+}
+
+require Pod::Select;
+
+##---------------------------------------------------------------------------
+
+##---------------------------------
+## Function definitions begin here
+##---------------------------------
+
+sub pod2usage {
+ local($_) = shift;
+ my %opts;
+ ## Collect arguments
+ if (@_ > 0) {
+ ## Too many arguments - assume that this is a hash and
+ ## the user forgot to pass a reference to it.
+ %opts = ($_, @_);
+ }
+ elsif (!defined $_) {
+ $_ = '';
+ }
+ elsif (ref $_) {
+ ## User passed a ref to a hash
+ %opts = %{$_} if (ref($_) eq 'HASH');
+ }
+ elsif (/^[-+]?\d+$/) {
+ ## User passed in the exit value to use
+ $opts{'-exitval'} = $_;
+ }
+ else {
+ ## User passed in a message to print before issuing usage.
+ $_ and $opts{'-message'} = $_;
+ }
+
+ ## 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) = ($_, $opts{$_});
+ $key =~ s/^(?=\w)/-/;
+ $key =~ /^-msg/i and $key = '-message';
+ $key =~ /^-exit/i and $key = '-exitval';
+ lc($key) => $val;
+ } (keys %opts);
+
+ ## Now determine default -exitval and -verbose values to use
+ if ((! defined $opts{'-exitval'}) && (! defined $opts{'-verbose'})) {
+ $opts{'-exitval'} = 2;
+ $opts{'-verbose'} = 0;
+ }
+ elsif (! defined $opts{'-exitval'}) {
+ $opts{'-exitval'} = ($opts{'-verbose'} > 0) ? 1 : 2;
+ }
+ elsif (! defined $opts{'-verbose'}) {
+ $opts{'-verbose'} = (lc($opts{'-exitval'}) eq 'noexit' ||
+ $opts{'-exitval'} < 2);
+ }
+
+ ## Default the output file
+ $opts{'-output'} = (lc($opts{'-exitval'}) eq 'noexit' ||
+ $opts{'-exitval'} < 2) ? \*STDOUT : \*STDERR
+ unless (defined $opts{'-output'});
+ ## Default the input file
+ $opts{'-input'} = $0 unless (defined $opts{'-input'});
+
+ ## Look up input file in path if it doesnt exist.
+ unless ((ref $opts{'-input'}) || (-e $opts{'-input'})) {
+ my $basename = $opts{'-input'};
+ my $pathsep = ($^O =~ /^(?:dos|os2|MSWin32)$/i) ? ';'
+ : (($^O eq 'MacOS' || $^O eq 'VMS') ? ',' : ':');
+ my $pathspec = $opts{'-pathlist'} || $ENV{PATH} || $ENV{PERL5LIB};
+
+ my @paths = (ref $pathspec) ? @$pathspec : split($pathsep, $pathspec);
+ for my $dirname (@paths) {
+ $_ = File::Spec->catfile($dirname, $basename) if length;
+ last if (-e $_) && ($opts{'-input'} = $_);
+ }
+ }
+
+ ## Now create a pod reader and constrain it to the desired sections.
+ my $parser = new Pod::Usage(USAGE_OPTIONS => \%opts);
+ if ($opts{'-verbose'} == 0) {
+ $parser->select('(?:SYNOPSIS|USAGE)\s*');
+ }
+ elsif ($opts{'-verbose'} == 1) {
+ my $opt_re = '(?i)' .
+ '(?:OPTIONS|ARGUMENTS)' .
+ '(?:\s*(?:AND|\/)\s*(?:OPTIONS|ARGUMENTS))?';
+ $parser->select( '(?:SYNOPSIS|USAGE)\s*', $opt_re, "DESCRIPTION/$opt_re" );
+ }
+ elsif ($opts{'-verbose'} >= 2 && $opts{'-verbose'} != 99) {
+ $parser->select('.*');
+ }
+ elsif ($opts{'-verbose'} == 99) {
+ my $sections = $opts{'-sections'};
+ $parser->select( (ref $sections) ? @$sections : $sections );
+ $opts{'-verbose'} = 1;
+ }
+
+ ## Check for perldoc
+ my $progpath = File::Spec->catfile($Config{scriptdirexp}
+ || $Config{scriptdir}, 'perldoc');
+
+ my $version = sprintf("%vd",$^V);
+ if ($Config{versiononly} and $Config{startperl} =~ /\Q$version\E$/ ) {
+ $progpath .= $version;
+ }
+ $opts{'-noperldoc'} = 1 unless -e $progpath;
+
+ ## Now translate the pod document and then exit with the desired status
+ if ( !$opts{'-noperldoc'}
+ and $opts{'-verbose'} >= 2
+ and !ref($opts{'-input'})
+ and $opts{'-output'} == \*STDOUT )
+ {
+ ## spit out the entire PODs. Might as well invoke perldoc
+ print { $opts{'-output'} } ($opts{'-message'}, "\n") if($opts{'-message'});
+ if(defined $opts{-input} && $opts{-input} =~ /^\s*(\S.*?)\s*$/) {
+ # the perldocs back to 5.005 should all have -F
+ # without -F there are warnings in -T scripts
+ system($progpath, '-F', $1);
+ if($?) {
+ # RT16091: fall back to more if perldoc failed
+ system(($Config{pager} || $ENV{PAGER} || '/bin/more'), $1);
+ }
+ } else {
+ croak "Unspecified input file or insecure argument.\n";
+ }
+ }
+ else {
+ $parser->parse_from_file($opts{'-input'}, $opts{'-output'});
+ }
+
+ exit($opts{'-exitval'}) unless (lc($opts{'-exitval'}) eq 'noexit');
+}
+
+##---------------------------------------------------------------------------
+
+##-------------------------------
+## Method definitions begin here
+##-------------------------------
+
+sub new {
+ my $this = shift;
+ my $class = ref($this) || $this;
+ my %params = @_;
+ my $self = {%params};
+ bless $self, $class;
+ if ($self->can('initialize')) {
+ $self->initialize();
+ } else {
+ # pass through options to Pod::Text
+ my %opts;
+ for (qw(alt code indent loose margin quotes sentence stderr utf8 width)) {
+ my $val = $params{USAGE_OPTIONS}{"-$_"};
+ $opts{$_} = $val if defined $val;
+ }
+ $self = $self->SUPER::new(%opts);
+ %$self = (%$self, %params);
+ }
+ return $self;
+}
+
+sub select {
+ my ($self, @sections) = @_;
+ if ($ISA[0]->can('select')) {
+ $self->SUPER::select(@sections);
+ } else {
+ # we're using Pod::Simple - need to mimic the behavior of Pod::Select
+ my $add = ($sections[0] eq '+') ? shift(@sections) : '';
+ ## Reset the set of sections to use
+ unless (@sections) {
+ delete $self->{USAGE_SELECT} unless ($add);
+ return;
+ }
+ $self->{USAGE_SELECT} = []
+ unless ($add && $self->{USAGE_SELECT});
+ my $sref = $self->{USAGE_SELECT};
+ ## Compile each spec
+ for my $spec (@sections) {
+ my $cs = Pod::Select::_compile_section_spec($spec);
+ if ( defined $cs ) {
+ ## Store them in our sections array
+ push(@$sref, $cs);
+ } else {
+ carp qq{Ignoring section spec "$spec"!\n};
+ }
+ }
+ }
+}
+
+# Override Pod::Text->seq_i to return just "arg", not "*arg*".
+sub seq_i { return $_[1] }
+
+# This overrides the Pod::Text method to do something very akin to what
+# Pod::Select did as well as the work done below by preprocess_paragraph.
+# Note that the below is very, very specific to Pod::Text.
+sub _handle_element_end {
+ my ($self, $element) = @_;
+ if ($element eq 'head1') {
+ $self->{USAGE_HEADINGS} = [ $$self{PENDING}[-1][1] ];
+ if ($self->{USAGE_OPTIONS}->{-verbose} < 2) {
+ $$self{PENDING}[-1][1] =~ s/^\s*SYNOPSIS\s*$/USAGE/;
+ }
+ } elsif ($element =~ /^head(\d+)$/ && $1) { # avoid 0
+ my $idx = $1 - 1;
+ $self->{USAGE_HEADINGS} = [] unless($self->{USAGE_HEADINGS});
+ $self->{USAGE_HEADINGS}->[$idx] = $$self{PENDING}[-1][1];
+ }
+ if ($element =~ /^head\d+$/) {
+ $$self{USAGE_SKIPPING} = 1;
+ if (!$$self{USAGE_SELECT} || !@{ $$self{USAGE_SELECT} }) {
+ $$self{USAGE_SKIPPING} = 0;
+ } else {
+ my @headings = @{$$self{USAGE_HEADINGS}};
+ for my $section_spec ( @{$$self{USAGE_SELECT}} ) {
+ my $match = 1;
+ for (my $i = 0; $i < $Pod::Select::MAX_HEADING_LEVEL; ++$i) {
+ $headings[$i] = '' unless defined $headings[$i];
+ my $regex = $section_spec->[$i];
+ my $negated = ($regex =~ s/^\!//);
+ $match &= ($negated ? ($headings[$i] !~ /${regex}/)
+ : ($headings[$i] =~ /${regex}/));
+ last unless ($match);
+ } # end heading levels
+ if ($match) {
+ $$self{USAGE_SKIPPING} = 0;
+ last;
+ }
+ } # end sections
+ }
+
+ # Try to do some lowercasing instead of all-caps in headings, and use
+ # a colon to end all headings.
+ if($self->{USAGE_OPTIONS}->{-verbose} < 2) {
+ local $_ = $$self{PENDING}[-1][1];
+ s{([A-Z])([A-Z]+)}{((length($2) > 2) ? $1 : lc($1)) . lc($2)}ge;
+ s/\s*$/:/ unless (/:\s*$/);
+ $_ .= "\n";
+ $$self{PENDING}[-1][1] = $_;
+ }
+ }
+ if ($$self{USAGE_SKIPPING} && $element !~ m/^over-/) {
+ pop @{ $$self{PENDING} };
+ } else {
+ $self->SUPER::_handle_element_end($element);
+ }
+}
+
+# required for Pod::Simple API
+sub start_document {
+ my $self = shift;
+ $self->SUPER::start_document();
+ my $msg = $self->{USAGE_OPTIONS}->{-message} or return 1;
+ my $out_fh = $self->output_fh();
+ print $out_fh "$msg\n";
+}
+
+# required for old Pod::Parser API
+sub begin_pod {
+ my $self = shift;
+ $self->SUPER::begin_pod(); ## Have to call superclass
+ my $msg = $self->{USAGE_OPTIONS}->{-message} or return 1;
+ my $out_fh = $self->output_handle();
+ print $out_fh "$msg\n";
+}
+
+sub preprocess_paragraph {
+ my $self = shift;
+ local $_ = shift;
+ my $line = shift;
+ ## See if this is a heading and we arent printing the entire manpage.
+ if (($self->{USAGE_OPTIONS}->{-verbose} < 2) && /^=head/) {
+ ## Change the title of the SYNOPSIS section to USAGE
+ s/^=head1\s+SYNOPSIS\s*$/=head1 USAGE/;
+ ## Try to do some lowercasing instead of all-caps in headings
+ s{([A-Z])([A-Z]+)}{((length($2) > 2) ? $1 : lc($1)) . lc($2)}ge;
+ ## Use a colon to end all headings
+ s/\s*$/:/ unless (/:\s*$/);
+ $_ .= "\n";
+ }
+ return $self->SUPER::preprocess_paragraph($_);
+}
+
+1; # keep require happy
+
+__END__
+
+=head1 NAME
+
+Pod::Usage, pod2usage() - print a usage message from embedded pod documentation
+
+=head1 SYNOPSIS
+
+ use Pod::Usage
+
+ my $message_text = "This text precedes the usage message.";
+ my $exit_status = 2; ## The exit status to use
+ my $verbose_level = 0; ## The verbose level to use
+ my $filehandle = \*STDERR; ## The filehandle to write to
+
+ pod2usage($message_text);
+
+ pod2usage($exit_status);
+
+ pod2usage( { -message => $message_text ,
+ -exitval => $exit_status ,
+ -verbose => $verbose_level,
+ -output => $filehandle } );
+
+ pod2usage( -msg => $message_text ,
+ -exitval => $exit_status ,
+ -verbose => $verbose_level,
+ -output => $filehandle );
+
+ pod2usage( -verbose => 2,
+ -noperldoc => 1 )
+
+=head1 ARGUMENTS
+
+B<pod2usage> should be given either a single argument, or a list of
+arguments corresponding to an associative array (a "hash"). When a single
+argument is given, it should correspond to exactly one of the following:
+
+=over 4
+
+=item *
+
+A string containing the text of a message to print I<before> printing
+the usage message
+
+=item *
+
+A numeric value corresponding to the desired exit status
+
+=item *
+
+A reference to a hash
+
+=back
+
+If more than one argument is given then the entire argument list is
+assumed to be a hash. If a hash is supplied (either as a reference or
+as a list) it should contain one or more elements with the following
+keys:
+
+=over 4
+
+=item C<-message>
+
+=item C<-msg>
+
+The text of a message to print immediately prior to printing the
+program's usage message.
+
+=item C<-exitval>
+
+The desired exit status to pass to the B<exit()> function.
+This should be an integer, or else the string "NOEXIT" to
+indicate that control should simply be returned without
+terminating the invoking process.
+
+=item C<-verbose>
+
+The desired level of "verboseness" to use when printing the usage
+message. If the corresponding value is 0, then only the "SYNOPSIS"
+section of the pod documentation is printed. If the corresponding value
+is 1, then the "SYNOPSIS" section, along with any section entitled
+"OPTIONS", "ARGUMENTS", or "OPTIONS AND ARGUMENTS" is printed. If the
+corresponding value is 2 or more then the entire manpage is printed.
+
+The special verbosity level 99 requires to also specify the -sections
+parameter; then these sections are extracted (see L<Pod::Select>)
+and printed.
+
+=item C<-sections>
+
+A string representing a selection list for sections to be printed
+when -verbose is set to 99, e.g. C<"NAME|SYNOPSIS|DESCRIPTION|VERSION">.
+
+Alternatively, an array reference of section specifications can be used:
+
+ pod2usage(-verbose => 99,
+ -sections => [ qw(fred fred/subsection) ] );
+
+=item C<-output>
+
+A reference to a filehandle, or the pathname of a file to which the
+usage message should be written. The default is C<\*STDERR> unless the
+exit value is less than 2 (in which case the default is C<\*STDOUT>).
+
+=item C<-input>
+
+A reference to a filehandle, or the pathname of a file from which the
+invoking script's pod documentation should be read. It defaults to the
+file indicated by C<$0> (C<$PROGRAM_NAME> for users of F<English.pm>).
+
+If you are calling B<pod2usage()> from a module and want to display
+that module's POD, you can use this:
+
+ use Pod::Find qw(pod_where);
+ pod2usage( -input => pod_where({-inc => 1}, __PACKAGE__) );
+
+=item C<-pathlist>
+
+A list of directory paths. If the input file does not exist, then it
+will be searched for in the given directory list (in the order the
+directories appear in the list). It defaults to the list of directories
+implied by C<$ENV{PATH}>. The list may be specified either by a reference
+to an array, or by a string of directory paths which use the same path
+separator as C<$ENV{PATH}> on your system (e.g., C<:> for Unix, C<;> for
+MSWin32 and DOS).
+
+=item C<-noperldoc>
+
+By default, Pod::Usage will call L<perldoc> when -verbose >= 2 is
+specified. This does not work well e.g. if the script was packed
+with L<PAR>. The -noperldoc option suppresses the external call to
+L<perldoc> and uses the simple text formatter (L<Pod::Text>) to
+output the POD.
+
+=back
+
+=head2 Formatting base class
+
+The default text formatter depends on the Perl version (L<Pod::Text> or
+L<Pod::PlainText> for Perl versions E<lt> 5.005_58). The base class for
+Pod::Usage can be defined by pre-setting C<$Pod::Usage::Formatter> I<before>
+loading Pod::Usage, e.g.:
+
+ BEGIN { $Pod::Usage::Formatter = 'Pod::Text::Termcap'; }
+ use Pod::Usage qw(pod2usage);
+
+=head2 Pass-through options
+
+The following options are passed through to the underlying text formatter.
+See the manual pages of these modules for more information.
+
+ alt code indent loose margin quotes sentence stderr utf8 width
+
+=head1 DESCRIPTION
+
+B<pod2usage> will print a usage message for the invoking script (using
+its embedded pod documentation) and then exit the script with the
+desired exit status. The usage message printed may have any one of three
+levels of "verboseness": If the verbose level is 0, then only a synopsis
+is printed. If the verbose level is 1, then the synopsis is printed
+along with a description (if present) of the command line options and
+arguments. If the verbose level is 2, then the entire manual page is
+printed.
+
+Unless they are explicitly specified, the default values for the exit
+status, verbose level, and output stream to use are determined as
+follows:
+
+=over 4
+
+=item *
+
+If neither the exit status nor the verbose level is specified, then the
+default is to use an exit status of 2 with a verbose level of 0.
+
+=item *
+
+If an exit status I<is> specified but the verbose level is I<not>, then the
+verbose level will default to 1 if the exit status is less than 2 and
+will default to 0 otherwise.
+
+=item *
+
+If an exit status is I<not> specified but verbose level I<is> given, then
+the exit status will default to 2 if the verbose level is 0 and will
+default to 1 otherwise.
+
+=item *
+
+If the exit status used is less than 2, then output is printed on
+C<STDOUT>. Otherwise output is printed on C<STDERR>.
+
+=back
+
+Although the above may seem a bit confusing at first, it generally does
+"the right thing" in most situations. This determination of the default
+values to use is based upon the following typical Unix conventions:
+
+=over 4
+
+=item *
+
+An exit status of 0 implies "success". For example, B<diff(1)> exits
+with a status of 0 if the two files have the same contents.
+
+=item *
+
+An exit status of 1 implies possibly abnormal, but non-defective, program
+termination. For example, B<grep(1)> exits with a status of 1 if
+it did I<not> find a matching line for the given regular expression.
+
+=item *
+
+An exit status of 2 or more implies a fatal error. For example, B<ls(1)>
+exits with a status of 2 if you specify an illegal (unknown) option on
+the command line.
+
+=item *
+
+Usage messages issued as a result of bad command-line syntax should go
+to C<STDERR>. However, usage messages issued due to an explicit request
+to print usage (like specifying B<-help> on the command line) should go
+to C<STDOUT>, just in case the user wants to pipe the output to a pager
+(such as B<more(1)>).
+
+=item *
+
+If program usage has been explicitly requested by the user, it is often
+desirable to exit with a status of 1 (as opposed to 0) after issuing
+the user-requested usage message. It is also desirable to give a
+more verbose description of program usage in this case.
+
+=back
+
+B<pod2usage> doesn't force the above conventions upon you, but it will
+use them by default if you don't expressly tell it to do otherwise. The
+ability of B<pod2usage()> to accept a single number or a string makes it
+convenient to use as an innocent looking error message handling function:
+
+ use Pod::Usage;
+ use Getopt::Long;
+
+ ## Parse options
+ GetOptions("help", "man", "flag1") || pod2usage(2);
+ pod2usage(1) if ($opt_help);
+ pod2usage(-verbose => 2) if ($opt_man);
+
+ ## Check for too many filenames
+ pod2usage("$0: Too many files given.\n") if (@ARGV > 1);
+
+Some user's however may feel that the above "economy of expression" is
+not particularly readable nor consistent and may instead choose to do
+something more like the following:
+
+ use Pod::Usage;
+ use Getopt::Long;
+
+ ## Parse options
+ GetOptions("help", "man", "flag1") || pod2usage(-verbose => 0);
+ pod2usage(-verbose => 1) if ($opt_help);
+ pod2usage(-verbose => 2) if ($opt_man);
+
+ ## Check for too many filenames
+ pod2usage(-verbose => 2, -message => "$0: Too many files given.\n")
+ if (@ARGV > 1);
+
+As with all things in Perl, I<there's more than one way to do it>, and
+B<pod2usage()> adheres to this philosophy. If you are interested in
+seeing a number of different ways to invoke B<pod2usage> (although by no
+means exhaustive), please refer to L<"EXAMPLES">.
+
+=head1 EXAMPLES
+
+Each of the following invocations of C<pod2usage()> will print just the
+"SYNOPSIS" section to C<STDERR> and will exit with a status of 2:
+
+ pod2usage();
+
+ pod2usage(2);
+
+ pod2usage(-verbose => 0);
+
+ pod2usage(-exitval => 2);
+
+ pod2usage({-exitval => 2, -output => \*STDERR});
+
+ pod2usage({-verbose => 0, -output => \*STDERR});
+
+ pod2usage(-exitval => 2, -verbose => 0);
+
+ pod2usage(-exitval => 2, -verbose => 0, -output => \*STDERR);
+
+Each of the following invocations of C<pod2usage()> will print a message
+of "Syntax error." (followed by a newline) to C<STDERR>, immediately
+followed by just the "SYNOPSIS" section (also printed to C<STDERR>) and
+will exit with a status of 2:
+
+ pod2usage("Syntax error.");
+
+ pod2usage(-message => "Syntax error.", -verbose => 0);
+
+ pod2usage(-msg => "Syntax error.", -exitval => 2);
+
+ pod2usage({-msg => "Syntax error.", -exitval => 2, -output => \*STDERR});
+
+ pod2usage({-msg => "Syntax error.", -verbose => 0, -output => \*STDERR});
+
+ pod2usage(-msg => "Syntax error.", -exitval => 2, -verbose => 0);
+
+ pod2usage(-message => "Syntax error.",
+ -exitval => 2,
+ -verbose => 0,
+ -output => \*STDERR);
+
+Each of the following invocations of C<pod2usage()> will print the
+"SYNOPSIS" section and any "OPTIONS" and/or "ARGUMENTS" sections to
+C<STDOUT> and will exit with a status of 1:
+
+ pod2usage(1);
+
+ pod2usage(-verbose => 1);
+
+ pod2usage(-exitval => 1);
+
+ pod2usage({-exitval => 1, -output => \*STDOUT});
+
+ pod2usage({-verbose => 1, -output => \*STDOUT});
+
+ pod2usage(-exitval => 1, -verbose => 1);
+
+ pod2usage(-exitval => 1, -verbose => 1, -output => \*STDOUT});
+
+Each of the following invocations of C<pod2usage()> will print the
+entire manual page to C<STDOUT> and will exit with a status of 1:
+
+ pod2usage(-verbose => 2);
+
+ pod2usage({-verbose => 2, -output => \*STDOUT});
+
+ pod2usage(-exitval => 1, -verbose => 2);
+
+ pod2usage({-exitval => 1, -verbose => 2, -output => \*STDOUT});
+
+=head2 Recommended Use
+
+Most scripts should print some type of usage message to C<STDERR> when a
+command line syntax error is detected. They should also provide an
+option (usually C<-H> or C<-help>) to print a (possibly more verbose)
+usage message to C<STDOUT>. Some scripts may even wish to go so far as to
+provide a means of printing their complete documentation to C<STDOUT>
+(perhaps by allowing a C<-man> option). The following complete example
+uses B<Pod::Usage> in combination with B<Getopt::Long> to do all of these
+things:
+
+ use Getopt::Long;
+ use Pod::Usage;
+
+ my $man = 0;
+ my $help = 0;
+ ## Parse options and print usage if there is a syntax error,
+ ## or if usage was explicitly requested.
+ GetOptions('help|?' => \$help, man => \$man) or pod2usage(2);
+ pod2usage(1) if $help;
+ pod2usage(-verbose => 2) if $man;
+
+ ## If no arguments were given, then allow STDIN to be used only
+ ## if it's not connected to a terminal (otherwise print usage)
+ pod2usage("$0: No files given.") if ((@ARGV == 0) && (-t STDIN));
+ __END__
+
+ =head1 NAME
+
+ sample - Using GetOpt::Long and Pod::Usage
+
+ =head1 SYNOPSIS
+
+ sample [options] [file ...]
+
+ Options:
+ -help brief help message
+ -man full documentation
+
+ =head1 OPTIONS
+
+ =over 8
+
+ =item B<-help>
+
+ Print a brief help message and exits.
+
+ =item B<-man>
+
+ Prints the manual page and exits.
+
+ =back
+
+ =head1 DESCRIPTION
+
+ B<This program> will read the given input file(s) and do something
+ useful with the contents thereof.
+
+ =cut
+
+=head1 CAVEATS
+
+By default, B<pod2usage()> will use C<$0> as the path to the pod input
+file. Unfortunately, not all systems on which Perl runs will set C<$0>
+properly (although if C<$0> isn't found, B<pod2usage()> will search
+C<$ENV{PATH}> or else the list specified by the C<-pathlist> option).
+If this is the case for your system, you may need to explicitly specify
+the path to the pod docs for the invoking script using something
+similar to the following:
+
+ pod2usage(-exitval => 2, -input => "/path/to/your/pod/docs");
+
+In the pathological case that a script is called via a relative path
+I<and> the script itself changes the current working directory
+(see L<perlfunc/chdir>) I<before> calling pod2usage, Pod::Usage will
+fail even on robust platforms. Don't do that. Or use L<FindBin> to locate
+the script:
+
+ use FindBin;
+ pod2usage(-input => $FindBin::Bin . "/" . $FindBin::Script);
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Marek Rouchal E<lt>marekr@cpan.orgE<gt>
+
+Brad Appleton E<lt>bradapp@enteract.comE<gt>
+
+Based on code for B<Pod::Text::pod2text()> written by
+Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
+
+=head1 ACKNOWLEDGMENTS
+
+Steven McDougall E<lt>swmcd@world.std.comE<gt> for his help and patience
+with re-writing this manpage.
+
+=head1 SEE ALSO
+
+B<Pod::Usage> is now a standalone distribution.
+
+L<Pod::Parser>, L<Pod::Perldoc>, L<Getopt::Long>, L<Pod::Find>, L<FindBin>,
+L<Pod::Text>, L<Pod::PlainText>, L<Pod::Text::Termcap>
+
+=cut
+
diff --git a/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/ee.pl b/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/ee.pl
index ed2e548e679..c593a2679e5 100644
--- a/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/ee.pl
+++ b/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/ee.pl
@@ -1,36 +1,36 @@
+{
- locale_version => 1.01,
+ locale_version => 0.95,
# d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
- entry => <<'ENTRY', # for DUCET v6.3.0
-0302 ; [.0000.0029.0002] # COMBINING CIRCUMFLEX ACCENT
-00E2 ; [.15EB.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15EB.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-00EA ; [.1648.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.1648.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-00EE ; [.16C9.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE ; [.16C9.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00F4 ; [.176D.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.176D.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-00FB ; [.1832.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER U WITH CIRCUMFLEX
-00DB ; [.1832.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0177 ; [.187C.0020.0002][.0000.0029.0002] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0176 ; [.187C.0020.0008][.0000.0029.0002] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0064 007A ; [.162E.0020.0002] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 007A ; [.162E.0020.0007] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.162E.0020.0008] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0067 0062 ; [.168E.0020.0002] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.168E.0020.0007] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.168E.0020.0008] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0078 ; [.16B1.0020.0002] # LATIN SMALL LETTER X
-0058 ; [.16B1.0020.0008] # LATIN CAPITAL LETTER X
-006B 0070 ; [.16FC.0020.0002] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.16FC.0020.0007] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.16FC.0020.0008] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006E 0079 ; [.174C.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.174C.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.174C.0020.0008] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0074 0073 ; [.1813.0020.0002] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.1813.0020.0007] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.1813.0020.0008] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+ entry => <<'ENTRY', # for DUCET v6.2.0
+0302 ; [.0000.0042.0002.0302] # COMBINING CIRCUMFLEX ACCENT
+00E2 ; [.15EF.0020.0002.0061][.0000.0042.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15EF.0020.0008.0041][.0000.0042.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+00EA ; [.164C.0020.0002.0065][.0000.0042.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.164C.0020.0008.0045][.0000.0042.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+00EE ; [.16CD.0020.0002.0069][.0000.0042.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16CD.0020.0008.0049][.0000.0042.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00F4 ; [.1771.0020.0002.006F][.0000.0042.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1771.0020.0008.004F][.0000.0042.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+00FB ; [.1836.0020.0002.0075][.0000.0042.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB ; [.1836.0020.0008.0055][.0000.0042.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0177 ; [.1880.0020.0002.0079][.0000.0042.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176 ; [.1880.0020.0008.0059][.0000.0042.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0064 007A ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 007A ; [.1632.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0078 ; [.16B5.0020.0002.0078] # LATIN SMALL LETTER X
+0058 ; [.16B5.0020.0008.0058] # LATIN CAPITAL LETTER X
+006B 0070 ; [.1700.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.1700.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.1700.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006E 0079 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1750.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0074 0073 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
ENTRY
};
diff --git a/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl b/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
index f4bf5750813..31006d21cc0 100644
--- a/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
+++ b/gnu/usr.bin/perl/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
@@ -1,1563 +1,1563 @@
use Unicode::Collate::CJK::Zhuyin;
+{
- locale_version => 1.01,
+ locale_version => 0.94,
overrideCJK => \&Unicode::Collate::CJK::Zhuyin::weightZhuyin,
- entry => <<'ENTRY', # for DUCET v6.3.0
-02C9 ; [.0000.0199.0002] # MODIFIER LETTER MACRON
-02CA ; [.019A.0020.0002] # MODIFIER LETTER ACUTE ACCENT
-02C7 ; [.019B.0020.0002] # CARON
-02CB ; [.019C.0020.0002] # MODIFIER LETTER GRAVE ACCENT
-02D9 ; [.019D.0020.0002] # DOT ABOVE
-02EA ; [.019E.0020.0002] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB ; [.019F.0020.0002] # MODIFIER LETTER YANG DEPARTING TONE MARK
-0101 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15EB.001C.0002] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15EB.001C.0008] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15EB.001D.0002] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15EB.001D.0008] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15EB.001E.0002] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15EB.001E.0008] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15EB.001F.0002] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15EB.001F.0008] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.1648.001C.0002] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.1648.001C.0008] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1648.001D.0002] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1648.001D.0008] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.1648.001E.0002] # LATIN SMALL LETTER E WITH CARON
-011A ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.1648.001E.0008] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.1648.001F.0002] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.1648.001F.0008] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.1648.0021.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.1648.0021.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.1648.0022.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.1648.0022.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.1648.0022.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.1648.0022.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.1648.0023.0002] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.1648.0023.0008] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.1648.0024.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.1648.0024.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.1648.0024.0002] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.1648.0024.0008] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1648.0025.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1648.0025.0008] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.1648.0025.0002][.0000.002D.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.1648.0025.0008][.0000.002D.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.1648.0025.0002][.0000.003B.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.1648.0025.0008][.0000.003B.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.1648.0025.0002][.0000.0042.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.1648.0025.0008][.0000.0042.0002] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.16C9.001C.0002] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.16C9.001C.0008] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.16C9.001D.0002] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.16C9.001D.0008] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.16C9.001E.0002] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.16C9.001E.0008] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.16C9.001F.0002] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.16C9.001F.0008] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.173D.001C.0002] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.173D.001C.0008] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.173D.001D.0002] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.173D.001D.0008] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.173D.001E.0002] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.173D.001E.0008] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.173D.001F.0002] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.173D.001F.0008] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.174B.001C.0002] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.174B.001C.0008] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.174B.001D.0002] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.174B.001D.0008] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.174B.001E.0002] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.174B.001E.0008] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.174B.001F.0002] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.174B.001F.0008] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.176D.001C.0002] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.176D.001C.0008] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.176D.001D.0002] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.176D.001D.0008] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.176D.001E.0002] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.176D.001E.0008] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.176D.001F.0002] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.176D.001F.0008] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.1832.001C.0002] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.1832.001C.0008] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1832.001D.0002] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1832.001D.0008] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.1832.001E.0002] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.1832.001E.0008] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.1832.001F.0002] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.1832.001F.0008] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.1832.0021.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.1832.0021.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.1832.0021.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.1832.0021.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.1832.0022.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.1832.0022.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.1832.0022.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.1832.0022.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.1832.0023.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.1832.0023.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.1832.0023.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.1832.0023.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.1832.0024.0002] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.1832.0024.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.1832.0024.0002] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.1832.0024.0008] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1832.0025.0002] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1832.0025.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
-FDD0 3105 ; [.8000.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER B>
-2E8A ; [.80B5.0020.0002] # CJK RADICAL DIVINATION
-FDD0 3106 ; [.83B1.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER P>
-FDD0 3107 ; [.8626.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER M>
-FDD0 3108 ; [.897F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER F>
-2ECF ; [.8BC0.0020.0002] # CJK RADICAL CITY
-2ED6 ; [.8BC1.0020.0002] # CJK RADICAL MOUND TWO
-FDD0 3109 ; [.8C0D.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER D>
-2E88 ; [.8C86.0020.0002] # CJK RADICAL KNIFE ONE
-FDD0 310A ; [.901F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER T>
-FDD0 310B ; [.93D9.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER N>
-2EA7 ; [.9525.0020.0002] # CJK RADICAL COW
-FDD0 310C ; [.95D9.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER L>
-3007 ; [.9A41.0020.0002] # IDEOGRAPHIC NUMBER ZERO
-FDD0 310D ; [.9C5F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER G>
-2EE3 ; [.9E0A.0020.0002] # CJK RADICAL BONE
-FDD0 310E ; [.9FD2.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER K>
-FDD0 310F ; [.A223.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER H>
-FDD0 3110 ; [.A697.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER J>
-2E95 ; [.A762.0020.0002] # CJK RADICAL SNOUT TWO
-2E86 ; [.AD18.0020.0002] # CJK RADICAL BOX
-FDD0 3111 ; [.AD38.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER Q>
-FDD0 3112 ; [.B164.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER X>
-2E8C ; [.B383.0020.0002] # CJK RADICAL SMALL ONE
-2E8D ; [.B384.0020.0002] # CJK RADICAL SMALL TWO
-FDD0 3113 ; [.B6E9.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ZH>
-2EA5 ; [.B8AC.0020.0002] # CJK RADICAL PAW TWO
-FDD0 3114 ; [.BBAC.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER CH>
-2ECC ; [.BE9D.0020.0002] # CJK RADICAL SIMPLIFIED WALK
-2ECD ; [.BE9E.0020.0002] # CJK RADICAL WALK ONE
-FDD0 3115 ; [.BF5A.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER SH>
-2EAC ; [.BFBC.0020.0002] # CJK RADICAL SPIRIT ONE
-2EAE ; [.BFC1.0020.0002] # CJK RADICAL BAMBOO
-FDD0 3116 ; [.C2A2.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER R>
-2E9C ; [.C2A3.0020.0002] # CJK RADICAL SUN
-2EBC ; [.C2D3.0020.0002] # CJK RADICAL MEAT
-2EB6 ; [.C311.0020.0002] # CJK RADICAL SHEEP
-FDD0 3117 ; [.C402.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER Z>
-FDD0 3118 ; [.C630.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER C>
-2EBE ; [.C6CA.0020.0002] # CJK RADICAL GRASS ONE
-FDD0 3119 ; [.C7F6.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER S>
-FDD0 311A ; [.CA13.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER A>
-FDD0 311B ; [.CA19.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER O>
-FDD0 311C ; [.CA1E.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER E>
-FDD0 311E ; [.CAA0.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER AI>
-FDD0 311F ; [.CAE8.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER EI>
-FDD0 3120 ; [.CAEB.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER AU>
-FDD0 3121 ; [.CB2E.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER OU>
-FDD0 3122 ; [.CB51.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER AN>
-FDD0 3123 ; [.CB8B.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER EN>
-FDD0 3124 ; [.CB94.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ANG>
-FDD0 3125 ; [.CBA0.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ENG>
-FDD0 3126 ; [.CBA2.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER ER>
-FDD0 3127 ; [.CBDB.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER I>
-2E84 ; [.CDB5.0020.0002] # CJK RADICAL SECOND THREE
-2E80 ; [.CEDF.0020.0002] # CJK RADICAL REPEAT
-FDD0 3128 ; [.D16F.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER U>
-FDD0 3129 ; [.D403.0020.0002] # <noncharacter-FDD0, BOPOMOFO LETTER IU>
-2ED7 ; [.D47E.0020.0002] # CJK RADICAL RAIN
-2E9D ; [.D53B.0020.0002] # CJK RADICAL MOON
-3220 ; [*02FA.0020.0004][.CBDC.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ONE
-3226 ; [*02FA.0020.0004][.AD39.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SEVEN
-3222 ; [*02FA.0020.0004][.C8DF.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH THREE
-3228 ; [*02FA.0020.0004][.A95D.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NINE
-3221 ; [*02FA.0020.0004][.CBCD.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TWO
-3224 ; [*02FA.0020.0004][.D1A9.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIVE
-3239 ; [*02FA.0020.0004][.8C57.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REPRESENT
-323D ; [*02FA.0020.0004][.ADC1.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ENTERPRISE
-3241 ; [*02FA.0020.0004][.B3A8.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REST
-3227 ; [*02FA.0020.0004][.8001.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EIGHT
-3225 ; [*02FA.0020.0004][.9953.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SIX
-3238 ; [*02FA.0020.0004][.969E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH LABOR
-3229 ; [*02FA.0020.0004][.BF85.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH TEN
-323F ; [*02FA.0020.0004][.B2BC.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH ALLIANCE
-3234 ; [*02FA.0020.0004][.892A.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH NAME
-323A ; [*02FA.0020.0004][.A3B5.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CALL
-3223 ; [*02FA.0020.0004][.C82E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FOUR
-322F ; [*02FA.0020.0004][.92EA.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH EARTH
-323B ; [*02FA.0020.0004][.B5F0.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STUDY
-3230 ; [*02FA.0020.0004][.C2A4.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUN
-322A ; [*02FA.0020.0004][.D53C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH MOON
-3232 ; [*02FA.0020.0004][.CEC7.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH HAVE
-322D ; [*02FA.0020.0004][.895F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WOOD
-3231 ; [*02FA.0020.0004][.BA36.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH STOCK
-322C ; [*02FA.0020.0004][.C26E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH WATER
-322B ; [*02FA.0020.0004][.A48C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FIRE
-3235 ; [*02FA.0020.0004][.9060.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SPECIAL
-323C ; [*02FA.0020.0004][.A9B3.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SUPERVISE
-3233 ; [*02FA.0020.0004][.C05E.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SOCIETY
-3237 ; [*02FA.0020.0004][.BA90.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH CONGRATULATION
-3240 ; [*02FA.0020.0004][.A78C.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FESTIVAL
-3242 ; [*02FA.0020.0004][.C457.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH SELF
-3243 ; [*02FA.0020.0004][.B766.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH REACH
-3236 ; [*02FA.0020.0004][.C69F.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH FINANCIAL
-323E ; [*02FA.0020.0004][.C421.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH RESOURCE
-322E ; [*02FA.0020.0004][.AA72.0020.0004][*02FB.0020.0004] # PARENTHESIZED IDEOGRAPH METAL
-3358 ; [.15E1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
-33E9 ; [.15E2.0020.0004][.15E1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
-32C9 ; [.15E2.0020.0004][.15E1.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
-3362 ; [.15E2.0020.0004][.15E1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
-33EA ; [.15E2.0020.0004][.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
-32CA ; [.15E2.0020.0004][.15E2.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
-3363 ; [.15E2.0020.0004][.15E2.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
-33EB ; [.15E2.0020.0004][.15E3.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
-32CB ; [.15E2.0020.0004][.15E3.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
-3364 ; [.15E2.0020.0004][.15E3.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
-33EC ; [.15E2.0020.0004][.15E4.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
-3365 ; [.15E2.0020.0004][.15E4.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
-33ED ; [.15E2.0020.0004][.15E5.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
-3366 ; [.15E2.0020.0004][.15E5.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
-33EE ; [.15E2.0020.0004][.15E6.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
-3367 ; [.15E2.0020.0004][.15E6.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
-33EF ; [.15E2.0020.0004][.15E7.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
-3368 ; [.15E2.0020.0004][.15E7.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
-33F0 ; [.15E2.0020.0004][.15E8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
-3369 ; [.15E2.0020.0004][.15E8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
-33F1 ; [.15E2.0020.0004][.15E9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
-336A ; [.15E2.0020.0004][.15E9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
-33F2 ; [.15E2.0020.0004][.15EA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
-336B ; [.15E2.0020.0004][.15EA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
-33E0 ; [.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
-32C0 ; [.15E2.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
-3359 ; [.15E2.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
-33F3 ; [.15E3.0020.0004][.15E1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
-336C ; [.15E3.0020.0004][.15E1.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
-33F4 ; [.15E3.0020.0004][.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
-336D ; [.15E3.0020.0004][.15E2.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
-33F5 ; [.15E3.0020.0004][.15E3.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
-336E ; [.15E3.0020.0004][.15E3.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
-33F6 ; [.15E3.0020.0004][.15E4.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
-336F ; [.15E3.0020.0004][.15E4.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
-33F7 ; [.15E3.0020.0004][.15E5.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
-3370 ; [.15E3.0020.0004][.15E5.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
-33F8 ; [.15E3.0020.0004][.15E6.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
-33F9 ; [.15E3.0020.0004][.15E7.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
-33FA ; [.15E3.0020.0004][.15E8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
-33FB ; [.15E3.0020.0004][.15E9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
-33FC ; [.15E3.0020.0004][.15EA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
-33E1 ; [.15E3.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
-32C1 ; [.15E3.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
-335A ; [.15E3.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
-33FD ; [.15E4.0020.0004][.15E1.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
-33FE ; [.15E4.0020.0004][.15E2.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
-33E2 ; [.15E4.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
-32C2 ; [.15E4.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
-335B ; [.15E4.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
-33E3 ; [.15E5.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
-32C3 ; [.15E5.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
-335C ; [.15E5.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
-33E4 ; [.15E6.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
-32C4 ; [.15E6.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
-335D ; [.15E6.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
-33E5 ; [.15E7.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
-32C5 ; [.15E7.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
-335E ; [.15E7.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
-33E6 ; [.15E8.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
-32C6 ; [.15E8.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
-335F ; [.15E8.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
-33E7 ; [.15E9.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
-32C7 ; [.15E9.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
-3360 ; [.15E9.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
-33E8 ; [.15EA.0020.0004][.C2A4.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
-32C8 ; [.15EA.0020.0004][.D53C.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
-3361 ; [.15EA.0020.0004][.8E99.0020.0004] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
-1F241 ; [*035C.0020.0004][.C8DF.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
-1F242 ; [*035C.0020.0004][.CBCD.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
-1F247 ; [*035C.0020.0004][.C1CC.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
-1F243 ; [*035C.0020.0004][.CB52.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
-1F245 ; [*035C.0020.0004][.8C38.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
-1F248 ; [*035C.0020.0004][.80CD.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
-1F240 ; [*035C.0020.0004][.819A.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
-1F244 ; [*035C.0020.0004][.8E99.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
-1F246 ; [*035C.0020.0004][.8CA9.0020.0004][*035D.0020.0004] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
-2F00 ; [.CBDC.0020.0004] # KANGXI RADICAL ONE
-3192 ; [.CBDC.0020.0014] # IDEOGRAPHIC ANNOTATION ONE MARK
-3280 ; [.CBDC.0020.0006] # CIRCLED IDEOGRAPH ONE
-1F229 ; [.CBDC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
-319C ; [.8EC1.0020.0014] # IDEOGRAPHIC ANNOTATION FOURTH MARK
-3286 ; [.AD39.0020.0006] # CIRCLED IDEOGRAPH SEVEN
-3194 ; [.C8DF.0020.0014] # IDEOGRAPHIC ANNOTATION THREE MARK
-3282 ; [.C8DF.0020.0006] # CIRCLED IDEOGRAPH THREE
-1F22A ; [.C8DF.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
-3196 ; [.C19C.0020.0014] # IDEOGRAPHIC ANNOTATION TOP MARK
-32A4 ; [.C19C.0020.0006] # CIRCLED IDEOGRAPH HIGH
-3198 ; [.B2A0.0020.0014] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
-32A6 ; [.B2A0.0020.0006] # CIRCLED IDEOGRAPH LOW
-319B ; [.8355.0020.0014] # IDEOGRAPHIC ANNOTATION THIRD MARK
-2F01 ; [.9F64.0020.0004] # KANGXI RADICAL LINE
-3197 ; [.BB6D.0020.0014] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
-32A5 ; [.BB6D.0020.0006] # CIRCLED IDEOGRAPH CENTRE
-1F22D ; [.BB6D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
-2F02 ; [.BA6A.0020.0004] # KANGXI RADICAL DOT
-2F03 ; [.8558.0020.0004] # KANGXI RADICAL SLASH
-2F04 ; [.CC59.0020.0004] # KANGXI RADICAL SECOND
-319A ; [.CC59.0020.0014] # IDEOGRAPHIC ANNOTATION SECOND MARK
-3288 ; [.A95D.0020.0006] # CIRCLED IDEOGRAPH NINE
-2F05 ; [.AC3C.0020.0004] # KANGXI RADICAL HOOK
-2F06 ; [.CBCD.0020.0004] # KANGXI RADICAL TWO
-3193 ; [.CBCD.0020.0014] # IDEOGRAPHIC ANNOTATION TWO MARK
-3281 ; [.CBCD.0020.0006] # CIRCLED IDEOGRAPH TWO
-1F214 ; [.CBCD.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
-3284 ; [.D1A9.0020.0006] # CIRCLED IDEOGRAPH FIVE
-2F07 ; [.90D4.0020.0004] # KANGXI RADICAL LID
-1F218 ; [.A8BE.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
-2F08 ; [.C2EF.0020.0004] # KANGXI RADICAL MAN
-319F ; [.C2EF.0020.0014] # IDEOGRAPHIC ANNOTATION MAN MARK
-32AD ; [.ADC1.0020.0006] # CIRCLED IDEOGRAPH ENTERPRISE
-32A1 ; [.B3A8.0020.0006] # CIRCLED IDEOGRAPH REST
-329D ; [.CE97.0020.0006] # CIRCLED IDEOGRAPH EXCELLENT
-2F09 ; [.CBA3.0020.0004] # KANGXI RADICAL LEGS
-2F0A ; [.C376.0020.0004] # KANGXI RADICAL ENTER
-2F0B ; [.8001.0020.0004] # KANGXI RADICAL EIGHT
-3287 ; [.8001.0020.0006] # CIRCLED IDEOGRAPH EIGHT
-3285 ; [.9953.0020.0006] # CIRCLED IDEOGRAPH SIX
-2F0C ; [.AD19.0020.0004] # KANGXI RADICAL DOWN BOX
-1F21E ; [.C4C2.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-518D
-2F0D ; [.8867.0020.0004] # KANGXI RADICAL COVER
-32A2 ; [.B2E9.0020.0006] # CIRCLED IDEOGRAPH COPY
-2F0E ; [.834E.0020.0004] # KANGXI RADICAL ICE
-2F0F ; [.A74C.0020.0004] # KANGXI RADICAL TABLE
-2F10 ; [.AF59.0020.0004] # KANGXI RADICAL OPEN BOX
-2F11 ; [.8C87.0020.0004] # KANGXI RADICAL KNIFE
-1F220 ; [.BE3B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-521D
-1F21C ; [.AF3B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
-1F239 ; [.9C7B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5272
-2F12 ; [.9804.0020.0004] # KANGXI RADICAL POWER
-3298 ; [.969E.0020.0006] # CIRCLED IDEOGRAPH LABOR
-2F13 ; [.811A.0020.0004] # KANGXI RADICAL WRAP
-2F14 ; [.81FC.0020.0004] # KANGXI RADICAL SPOON
-2F15 ; [.8A9F.0020.0004] # KANGXI RADICAL RIGHT OPEN BOX
-2F16 ; [.B224.0020.0004] # KANGXI RADICAL HIDING ENCLOSURE
-32A9 ; [.CBE1.0020.0006] # CIRCLED IDEOGRAPH MEDICINE
-2F17 ; [.BF85.0020.0004] # KANGXI RADICAL TEN
-3038 ; [.BF85.0020.0004] # HANGZHOU NUMERAL TEN
-3289 ; [.BF85.0020.0006] # CIRCLED IDEOGRAPH TEN
-3039 ; [.954F.0020.0004] # HANGZHOU NUMERAL TWENTY
-303A ; [.C861.0020.0004] # HANGZHOU NUMERAL THIRTY
-32AF ; [.B2BC.0020.0006] # CIRCLED IDEOGRAPH ALLIANCE
-2F18 ; [.80B6.0020.0004] # KANGXI RADICAL DIVINATION
-2F19 ; [.A84F.0020.0004] # KANGXI RADICAL SEAL
-329E ; [.D06B.0020.0006] # CIRCLED IDEOGRAPH PRINT
-2F1A ; [.BDC0.0020.0004] # KANGXI RADICAL CLIFF
-2F1B ; [.C7F7.0020.0004] # KANGXI RADICAL PRIVATE
-2F1C ; [.CEE0.0020.0004] # KANGXI RADICAL AGAIN
-1F212 ; [.C28A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
-2F1D ; [.A070.0020.0004] # KANGXI RADICAL MOUTH
-1F251 ; [.A007.0020.0006] # CIRCLED IDEOGRAPH ACCEPT
-32A8 ; [.CEE1.0020.0006] # CIRCLED IDEOGRAPH RIGHT
-1F22E ; [.CEE1.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
-1F234 ; [.A232.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5408
-3294 ; [.892A.0020.0006] # CIRCLED IDEOGRAPH NAME
-1F225 ; [.BEBE.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5439
-3244 ; [.D3B7.0020.0006] # CIRCLED IDEOGRAPH QUESTION
-1F23A ; [.D120.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
-2F1E ; [.D27D.0020.0004] # KANGXI RADICAL ENCLOSURE
-3195 ; [.C82E.0020.0014] # IDEOGRAPHIC ANNOTATION FOUR MARK
-3283 ; [.C82E.0020.0006] # CIRCLED IDEOGRAPH FOUR
-2F1F ; [.92EA.0020.0004] # KANGXI RADICAL EARTH
-328F ; [.92EA.0020.0006] # CIRCLED IDEOGRAPH EARTH
-319E ; [.8C4B.0020.0014] # IDEOGRAPHIC ANNOTATION EARTH MARK
-2F20 ; [.BFB5.0020.0004] # KANGXI RADICAL SCHOLAR
-1F224 ; [.C1A8.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
-2F21 ; [.B740.0020.0004] # KANGXI RADICAL GO
-2F22 ; [.C986.0020.0004] # KANGXI RADICAL GO SLOWLY
-2F23 ; [.B165.0020.0004] # KANGXI RADICAL EVENING
-1F215 ; [.8F35.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-591A
-32B0 ; [.CDD7.0020.0006] # CIRCLED IDEOGRAPH NIGHT
-2F24 ; [.8C39.0020.0004] # KANGXI RADICAL BIG
-337D ; [.8C39.0020.001C][.BA1E.0020.001C] # SQUARE ERA NAME TAISYOU
-319D ; [.923B.0020.0014] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
-1F217 ; [.923B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5929
-2F25 ; [.95CC.0020.0004] # KANGXI RADICAL WOMAN
-329B ; [.95CC.0020.0006] # CIRCLED IDEOGRAPH FEMALE
-2F26 ; [.C466.0020.0004] # KANGXI RADICAL CHILD
-1F211 ; [.C456.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
-32AB ; [.B5F0.0020.0006] # CIRCLED IDEOGRAPH STUDY
-2F27 ; [.88BF.0020.0004] # KANGXI RADICAL ROOF
-32AA ; [.C5ED.0020.0006] # CIRCLED IDEOGRAPH RELIGION
-2F28 ; [.C7B4.0020.0004] # KANGXI RADICAL INCH
-2F29 ; [.B385.0020.0004] # KANGXI RADICAL SMALL
-2F2A ; [.CE9E.0020.0004] # KANGXI RADICAL LAME
-2F2B ; [.BF5B.0020.0004] # KANGXI RADICAL CORPSE
-2F2C ; [.BC63.0020.0004] # KANGXI RADICAL SPROUT
-2F2D ; [.C0C5.0020.0004] # KANGXI RADICAL MOUNTAIN
-2F2E ; [.BED1.0020.0004] # KANGXI RADICAL RIVER
-2F2F ; [.9F9E.0020.0004] # KANGXI RADICAL WORK
-32A7 ; [.C593.0020.0006] # CIRCLED IDEOGRAPH LEFT
-1F22C ; [.C593.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
-2F30 ; [.A74D.0020.0004] # KANGXI RADICAL ONESELF
-2F31 ; [.AA6D.0020.0004] # KANGXI RADICAL TURBAN
-2F32 ; [.9D7F.0020.0004] # KANGXI RADICAL DRY
-337B ; [.85BF.0020.001C][.BDFC.0020.001C] # SQUARE ERA NAME HEISEI
-2F33 ; [.CE11.0020.0004] # KANGXI RADICAL SHORT THREAD
-3245 ; [.CEE2.0020.0006] # CIRCLED IDEOGRAPH KINDERGARTEN
-2F34 ; [.9F8F.0020.0004] # KANGXI RADICAL DOTTED CLIFF
-2F35 ; [.D04E.0020.0004] # KANGXI RADICAL LONG STRIDE
-2F36 ; [.9FBB.0020.0004] # KANGXI RADICAL TWO HANDS
-2F37 ; [.CC86.0020.0004] # KANGXI RADICAL SHOOT
-2F38 ; [.9F9F.0020.0004] # KANGXI RADICAL BOW
-2F39 ; [.A763.0020.0004] # KANGXI RADICAL SNOUT
-2F3A ; [.C0C6.0020.0004] # KANGXI RADICAL BRISTLE
-2F3B ; [.BBF9.0020.0004] # KANGXI RADICAL STEP
-1F21D ; [.A30D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
-1F250 ; [.8C4D.0020.0006] # CIRCLED IDEOGRAPH ADVANTAGE
-2F3C ; [.B4AB.0020.0004] # KANGXI RADICAL HEART
-2F3D ; [.9C6C.0020.0004] # KANGXI RADICAL HALBERD
-2F3E ; [.A40C.0020.0004] # KANGXI RADICAL DOOR
-2F3F ; [.C0AE.0020.0004] # KANGXI RADICAL HAND
-1F210 ; [.C0AE.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-624B
-1F231 ; [.8C38.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6253
-1F227 ; [.90D6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6295
-1F22F ; [.B753.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6307
-1F228 ; [.838E.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6355
-2F40 ; [.B6EB.0020.0004] # KANGXI RADICAL BRANCH
-2F41 ; [.85EC.0020.0004] # KANGXI RADICAL RAP
-2F42 ; [.D38D.0020.0004] # KANGXI RADICAL SCRIPT
-3246 ; [.D38D.0020.0006] # CIRCLED IDEOGRAPH SCHOOL
-2F43 ; [.8CCF.0020.0004] # KANGXI RADICAL DIPPER
-1F21B ; [.9905.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6599
-2F44 ; [.AA6F.0020.0004] # KANGXI RADICAL AXE
-1F21F ; [.B4BC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
-2F45 ; [.8AA0.0020.0004] # KANGXI RADICAL SQUARE
-2F46 ; [.D18A.0020.0004] # KANGXI RADICAL NOT
-2F47 ; [.C2A4.0020.0004] # KANGXI RADICAL SUN
-3290 ; [.C2A4.0020.0006] # CIRCLED IDEOGRAPH SUN
-337E ; [.892B.0020.001C][.B773.0020.001C] # SQUARE ERA NAME MEIZI
-1F219 ; [.D15D.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6620
-337C ; [.B884.0020.001C][.A237.0020.001C] # SQUARE ERA NAME SYOUWA
-2F48 ; [.D533.0020.0004] # KANGXI RADICAL SAY
-2F49 ; [.D53C.0020.0004] # KANGXI RADICAL MOON
-328A ; [.D53C.0020.0006] # CIRCLED IDEOGRAPH MOON
-1F237 ; [.D53C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6708
-3292 ; [.CEC7.0020.0006] # CIRCLED IDEOGRAPH HAVE
-1F236 ; [.CEC7.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6709
-2F4A ; [.895F.0020.0004] # KANGXI RADICAL TREE
-328D ; [.895F.0020.0006] # CIRCLED IDEOGRAPH WOOD
-3291 ; [.BA36.0020.0006] # CIRCLED IDEOGRAPH STOCK
-337F ; [.BA36.0020.001C][.BFBF.0020.001C][.A51A.0020.001C][.C05E.0020.001C] # SQUARE CORPORATION
-2F4B ; [.AF68.0020.0004] # KANGXI RADICAL LACK
-2F4C ; [.B741.0020.0004] # KANGXI RADICAL STOP
-32A3 ; [.BA1E.0020.0006] # CIRCLED IDEOGRAPH CORRECT
-2F4D ; [.8C53.0020.0004] # KANGXI RADICAL DEATH
-2F4E ; [.C1D9.0020.0004] # KANGXI RADICAL WEAPON
-2F4F ; [.D18B.0020.0004] # KANGXI RADICAL DO NOT
-2E9F ; [.894D.0020.0004] # CJK RADICAL MOTHER
-2F50 ; [.81FD.0020.0004] # KANGXI RADICAL COMPARE
-2F51 ; [.8727.0020.0004] # KANGXI RADICAL FUR
-2F52 ; [.BFB6.0020.0004] # KANGXI RADICAL CLAN
-2F53 ; [.ADDA.0020.0004] # KANGXI RADICAL STEAM
-2F54 ; [.C26E.0020.0004] # KANGXI RADICAL WATER
-328C ; [.C26E.0020.0006] # CIRCLED IDEOGRAPH WATER
-329F ; [.BA84.0020.0006] # CIRCLED IDEOGRAPH ATTENTION
-1F235 ; [.8793.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
-1F226 ; [.CF75.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
-2F55 ; [.A48C.0020.0004] # KANGXI RADICAL FIRE
-328B ; [.A48C.0020.0006] # CIRCLED IDEOGRAPH FIRE
-1F21A ; [.D19A.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7121
-2F56 ; [.B88D.0020.0004] # KANGXI RADICAL CLAW
-2F57 ; [.8BC3.0020.0004] # KANGXI RADICAL FATHER
-2F58 ; [.CE21.0020.0004] # KANGXI RADICAL DOUBLE X
-2F59 ; [.8453.0020.0004] # KANGXI RADICAL HALF TREE TRUNK
-2F5A ; [.8593.0020.0004] # KANGXI RADICAL SLICE
-2F5B ; [.CD78.0020.0004] # KANGXI RADICAL FANG
-2F5C ; [.9526.0020.0004] # KANGXI RADICAL COW
-3295 ; [.9060.0020.0006] # CIRCLED IDEOGRAPH SPECIAL
-2F5D ; [.B123.0020.0004] # KANGXI RADICAL DOG
-2F5E ; [.B63A.0020.0004] # KANGXI RADICAL PROFOUND
-2F5F ; [.D4A7.0020.0004] # KANGXI RADICAL JADE
-2F60 ; [.9E4D.0020.0004] # KANGXI RADICAL MELON
-2F61 ; [.D216.0020.0004] # KANGXI RADICAL TILE
-2F62 ; [.9D4E.0020.0004] # KANGXI RADICAL SWEET
-2F63 ; [.C1A6.0020.0004] # KANGXI RADICAL LIFE
-1F222 ; [.C1A6.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-751F
-2F64 ; [.D68B.0020.0004] # KANGXI RADICAL USE
-2F65 ; [.9245.0020.0004] # KANGXI RADICAL FIELD
-3199 ; [.A814.0020.0014] # IDEOGRAPHIC ANNOTATION FIRST MARK
-1F238 ; [.C125.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7533
-329A ; [.9459.0020.0006] # CIRCLED IDEOGRAPH MALE
-2F66 ; [.852E.0020.0004] # KANGXI RADICAL BOLT OF CLOTH
-2F67 ; [.93F9.0020.0004] # KANGXI RADICAL SICKNESS
-2F68 ; [.8046.0020.0004] # KANGXI RADICAL DOTTED TENT
-2F69 ; [.80BD.0020.0004] # KANGXI RADICAL WHITE
-2F6A ; [.8504.0020.0004] # KANGXI RADICAL SKIN
-2F6B ; [.890B.0020.0004] # KANGXI RADICAL DISH
-32AC ; [.A9B3.0020.0006] # CIRCLED IDEOGRAPH SUPERVISE
-2F6C ; [.8962.0020.0004] # KANGXI RADICAL EYE
-2F6D ; [.8728.0020.0004] # KANGXI RADICAL SPEAR
-2F6E ; [.BFA9.0020.0004] # KANGXI RADICAL ARROW
-2F6F ; [.BF87.0020.0004] # KANGXI RADICAL STONE
-2F70 ; [.BFBD.0020.0004] # KANGXI RADICAL SPIRIT
-3293 ; [.C05E.0020.0006] # CIRCLED IDEOGRAPH SOCIETY
-3297 ; [.BA90.0020.0006] # CIRCLED IDEOGRAPH CONGRATULATION
-1F232 ; [.AAB2.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7981
-2F71 ; [.C2BD.0020.0004] # KANGXI RADICAL TRACK
-2F72 ; [.A231.0020.0004] # KANGXI RADICAL GRAIN
-3299 ; [.8871.0020.0006] # CIRCLED IDEOGRAPH SECRET
-2F73 ; [.B5ED.0020.0004] # KANGXI RADICAL CAVE
-1F233 ; [.A211.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
-2F74 ; [.9808.0020.0004] # KANGXI RADICAL STAND
-2F75 ; [.BA53.0020.0004] # KANGXI RADICAL BAMBOO
-3247 ; [.BA0D.0020.0006] # CIRCLED IDEOGRAPH KOTO
-2F76 ; [.8856.0020.0004] # KANGXI RADICAL RICE
-2F77 ; [.8868.0020.0004] # KANGXI RADICAL SILK
-1F221 ; [.BB7F.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
-2F78 ; [.89F6.0020.0004] # KANGXI RADICAL JAR
-2F79 ; [.D3D1.0020.0004] # KANGXI RADICAL NET
-2F7A ; [.D08F.0020.0004] # KANGXI RADICAL SHEEP
-2F7B ; [.D47D.0020.0004] # KANGXI RADICAL FEATHER
-2F7C ; [.96B7.0020.0004] # KANGXI RADICAL OLD
-2F7D ; [.CBA4.0020.0004] # KANGXI RADICAL AND
-2F7E ; [.966B.0020.0004] # KANGXI RADICAL PLOW
-2F7F ; [.CBBF.0020.0004] # KANGXI RADICAL EAR
-2F80 ; [.D4AA.0020.0004] # KANGXI RADICAL BRUSH
-2F81 ; [.C2D4.0020.0004] # KANGXI RADICAL MEAT
-2F82 ; [.BD5B.0020.0004] # KANGXI RADICAL MINISTER
-2F83 ; [.C457.0020.0004] # KANGXI RADICAL SELF
-2F84 ; [.B766.0020.0004] # KANGXI RADICAL ARRIVE
-2F85 ; [.A96D.0020.0004] # KANGXI RADICAL MORTAR
-2F86 ; [.C053.0020.0004] # KANGXI RADICAL TONGUE
-2F87 ; [.BEE4.0020.0004] # KANGXI RADICAL OPPOSE
-2F88 ; [.B8B0.0020.0004] # KANGXI RADICAL BOAT
-2F89 ; [.9D94.0020.0004] # KANGXI RADICAL STOPPING
-2F8A ; [.C870.0020.0004] # KANGXI RADICAL COLOR
-2F8B ; [.C6C2.0020.0004] # KANGXI RADICAL GRASS
-2F8C ; [.A3B4.0020.0004] # KANGXI RADICAL TIGER
-2F8D ; [.BF4A.0020.0004] # KANGXI RADICAL INSECT
-2F8E ; [.B604.0020.0004] # KANGXI RADICAL BLOOD
-2F8F ; [.B543.0020.0004] # KANGXI RADICAL WALK ENCLOSURE
-2F90 ; [.CBE0.0020.0004] # KANGXI RADICAL CLOTHES
-2F91 ; [.CD9C.0020.0004] # KANGXI RADICAL WEST
-2F92 ; [.AA1C.0020.0004] # KANGXI RADICAL SEE
-2F93 ; [.A8EB.0020.0004] # KANGXI RADICAL HORN
-1F216 ; [.A898.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
-2F94 ; [.CF21.0020.0004] # KANGXI RADICAL SPEECH
-2F95 ; [.9E07.0020.0004] # KANGXI RADICAL VALLEY
-2F96 ; [.8CD0.0020.0004] # KANGXI RADICAL BEAN
-2F97 ; [.BFAB.0020.0004] # KANGXI RADICAL PIG
-2F98 ; [.B76C.0020.0004] # KANGXI RADICAL BADGER
-2F99 ; [.80EB.0020.0004] # KANGXI RADICAL SHELL
-3296 ; [.C69F.0020.0006] # CIRCLED IDEOGRAPH FINANCIAL
-1F223 ; [.8A4B.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
-32AE ; [.C421.0020.0006] # CIRCLED IDEOGRAPH RESOURCE
-2F9A ; [.BBFE.0020.0004] # KANGXI RADICAL RED
-2F9B ; [.C50C.0020.0004] # KANGXI RADICAL RUN
-1F230 ; [.C50C.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
-2F9C ; [.C571.0020.0004] # KANGXI RADICAL FOOT
-2F9D ; [.C129.0020.0004] # KANGXI RADICAL BODY
-2F9E ; [.BC58.0020.0004] # KANGXI RADICAL CART
-2F9F ; [.B4AE.0020.0004] # KANGXI RADICAL BITTER
-2FA0 ; [.BD5F.0020.0004] # KANGXI RADICAL MORNING
-2FA1 ; [.BEA0.0020.0004] # KANGXI RADICAL WALK
-1F22B ; [.CEBC.0020.001C] # SQUARED CJK UNIFIED IDEOGRAPH-904A
-329C ; [.BFFC.0020.0006] # CIRCLED IDEOGRAPH SUITABLE
-2FA2 ; [.CC9C.0020.0004] # KANGXI RADICAL CITY
-2FA3 ; [.CECA.0020.0004] # KANGXI RADICAL WINE
-2FA4 ; [.8308.0020.0004] # KANGXI RADICAL DISTINGUISH
-2FA5 ; [.97EB.0020.0004] # KANGXI RADICAL VILLAGE
-2FA6 ; [.AA72.0020.0004] # KANGXI RADICAL GOLD
-328E ; [.AA72.0020.0006] # CIRCLED IDEOGRAPH METAL
-2FA7 ; [.B9D1.0020.0004] # KANGXI RADICAL LONG
-2FA8 ; [.87B7.0020.0004] # KANGXI RADICAL GATE
-2FA9 ; [.8BCB.0020.0004] # KANGXI RADICAL MOUND
-2FAA ; [.9819.0020.0004] # KANGXI RADICAL SLAVE
-2FAB ; [.BAFD.0020.0004] # KANGXI RADICAL SHORT TAILED BIRD
-2FAC ; [.D47F.0020.0004] # KANGXI RADICAL RAIN
-2FAD ; [.B01B.0020.0004] # KANGXI RADICAL BLUE
-2FAE ; [.89A9.0020.0004] # KANGXI RADICAL WRONG
-2FAF ; [.88EB.0020.0004] # KANGXI RADICAL FACE
-2FB0 ; [.9C8F.0020.0004] # KANGXI RADICAL LEATHER
-2FB1 ; [.D288.0020.0004] # KANGXI RADICAL TANNED LEATHER
-2FB2 ; [.A965.0020.0004] # KANGXI RADICAL LEEK
-2FB3 ; [.CFF8.0020.0004] # KANGXI RADICAL SOUND
-2FB4 ; [.CDDC.0020.0004] # KANGXI RADICAL LEAF
-32A0 ; [.B520.0020.0006] # CIRCLED IDEOGRAPH ITEM
-2FB5 ; [.8AD5.0020.0004] # KANGXI RADICAL WIND
-2FB6 ; [.89AA.0020.0004] # KANGXI RADICAL FLY
-2FB7 ; [.BF93.0020.0004] # KANGXI RADICAL EAT
-2FB8 ; [.C0B1.0020.0004] # KANGXI RADICAL HEAD
-2FB9 ; [.B4E1.0020.0004] # KANGXI RADICAL FRAGRANT
-2FBA ; [.8637.0020.0004] # KANGXI RADICAL HORSE
-2FBB ; [.9E10.0020.0004] # KANGXI RADICAL BONE
-2FBC ; [.9CEC.0020.0004] # KANGXI RADICAL TALL
-2FBD ; [.82AD.0020.0004] # KANGXI RADICAL HAIR
-2FBE ; [.8CD4.0020.0004] # KANGXI RADICAL FIGHT
-2FBF ; [.BDCE.0020.0004] # KANGXI RADICAL SACRIFICIAL WINE
-2FC0 ; [.9C94.0020.0004] # KANGXI RADICAL CAULDRON
-2FC1 ; [.9EF1.0020.0004] # KANGXI RADICAL GHOST
-2FC2 ; [.D436.0020.0004] # KANGXI RADICAL FISH
-2FC3 ; [.9519.0020.0004] # KANGXI RADICAL BIRD
-2FC4 ; [.9AD5.0020.0004] # KANGXI RADICAL SALT
-2FC5 ; [.9AFD.0020.0004] # KANGXI RADICAL DEER
-2FC6 ; [.86CC.0020.0004] # KANGXI RADICAL WHEAT
-2FC7 ; [.862D.0020.0004] # KANGXI RADICAL HEMP
-2FC8 ; [.A607.0020.0004] # KANGXI RADICAL YELLOW
-2FC9 ; [.C20C.0020.0004] # KANGXI RADICAL MILLET
-2FCA ; [.A2AD.0020.0004] # KANGXI RADICAL BLACK
-2FCB ; [.B762.0020.0004] # KANGXI RADICAL EMBROIDERY
-2FCC ; [.88E4.0020.0004] # KANGXI RADICAL FROG
-2FCD ; [.8ED2.0020.0004] # KANGXI RADICAL TRIPOD
-2FCE ; [.9E1D.0020.0004] # KANGXI RADICAL DRUM
-2FCF ; [.C210.0020.0004] # KANGXI RADICAL RAT
-2FD0 ; [.81FB.0020.0004] # KANGXI RADICAL NOSE
-2FD1 ; [.ADA1.0020.0004] # KANGXI RADICAL EVEN
-2FD2 ; [.BBF7.0020.0004] # KANGXI RADICAL TOOTH
-2FD3 ; [.9BE4.0020.0004] # KANGXI RADICAL DRAGON
-2FD4 ; [.9ED7.0020.0004] # KANGXI RADICAL TURTLE
-2EF3 ; [.9EB8.0020.0004] # CJK RADICAL C-SIMPLIFIED TURTLE
-2FD5 ; [.D560.0020.0004] # KANGXI RADICAL FLUTE
-F967 ; [.8392.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F967
-FA70 ; [.836F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA70
-F905 ; [.BEEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F905
-2F801 ; [.D334.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F801
-F95E ; [.8CEB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95E
-2F800 ; [.980B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F800
-2F802 ; [.CC07.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F802
-F91B ; [.9BA8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91B
-F9BA ; [.9615.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BA
-F977 ; [.9A32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F977
-F9FD ; [.C151.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FD
-2F819 ; [.834F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F819
-F9A8 ; [.9A9B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A8
-2F804 ; [.94AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F804
-FA73 ; [.B546.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA73
-F92D ; [.9619.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92D
-F9B5 ; [.9811.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B5
-FA30 ; [.D1B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA30
-2F805 ; [.D1B4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F805
-2F806 ; [.935A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F806
-F965 ; [.830C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F965
-2F807 ; [.8373.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F807
-F9D4 ; [.9BB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D4
-2F808 ; [.C477.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F808
-2F809 ; [.80FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F809
-2F80B ; [.B522.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80B
-F9BB ; [.98D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BB
-FA31 ; [.C90E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA31
-2F80A ; [.C90E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80A
-FA0C ; [.D1CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0C
-FA74 ; [.BF37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA74
-FA32 ; [.88D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA32
-2F80E ; [.88D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80E
-2F80F ; [.92F0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F80F
-2F810 ; [.A627.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F810
-2F814 ; [.9422.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F814
-FA72 ; [.B0F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA72
-F978 ; [.9A28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F978
-F9D1 ; [.9953.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D1
-2F811 ; [.ABF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F811
-FA75 ; [.A7A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA75
-2F815 ; [.C4C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F815
-2F8D2 ; [.874F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
-2F8D3 ; [.88DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
-2F817 ; [.C3F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F817
-2F818 ; [.D571.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F818
-2F81A ; [.8FE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81A
-FA71 ; [.A1F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA71
-2F81B ; [.A1F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81B
-F92E ; [.9793.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92E
-F979 ; [.9A18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F979
-F955 ; [.9A51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F955
-F954 ; [.99F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F954
-FA15 ; [.B1BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA15
-2F81D ; [.AF59.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81D
-2F81E ; [.C305.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81E
-FA00 ; [.AE24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA00
-2F850 ; [.AE24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F850
-F99C ; [.98A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99C
-F9DD ; [.980C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DD
-F9FF ; [.C66A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FF
-2F820 ; [.A014.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F820
-2F821 ; [.9B64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F821
-2F822 ; [.9C7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F822
-2F823 ; [.BD2E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F823
-F9C7 ; [.9926.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C7
-F98A ; [.9804.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98A
-F99D ; [.98A2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99D
-2F992 ; [.969D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F992
-FA76 ; [.D671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA76
-2F825 ; [.D671.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F825
-FA33 ; [.88D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA33
-2F826 ; [.88D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F826
-F952 ; [.964C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F952
-F92F ; [.96A5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92F
-FA34 ; [.AFAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA34
-2F827 ; [.AFAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F827
-F97F ; [.985C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97F
-FA77 ; [.C096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA77
-2F828 ; [.C096.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F828
-2F829 ; [.811B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F829
-2F82A ; [.C7B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82A
-F963 ; [.80E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F963
-2F82B ; [.80E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82B
-F9EB ; [.94CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EB
-2F82C ; [.A518.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82C
-FA35 ; [.80D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA35
-2F82D ; [.80D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82D
-2F82E ; [.807E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82E
-2F82F ; [.A6FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F82F
-F91C ; [.9BA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91C
-2F830 ; [.A70A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F830
-2F831 ; [.B020.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F831
-2F832 ; [.B020.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F832
-2F833 ; [.B020.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F833
-F96B ; [.C6D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96B
-2F836 ; [.A6FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F836
-2F837 ; [.C8D2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F837
-F906 ; [.ABEE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F906
-2F839 ; [.A922.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F839
-2F83A ; [.BBFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83A
-2F83B ; [.CE13.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83B
-F9DE ; [.9809.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DE
-F9ED ; [.9A03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9ED
-2F83D ; [.B16A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83D
-F980 ; [.9C24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F980
-2F83E ; [.BDFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83E
-2F83F ; [.B8B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83F
-2F83C ; [.B473.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F83C
-2F840 ; [.CA56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F840
-F99E ; [.CF9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99E
-2F841 ; [.8891.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F841
-2F842 ; [.9144.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F842
-2F843 ; [.ADCE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F843
-FA79 ; [.90B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA79
-2F844 ; [.B415.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F844
-2F845 ; [.C100.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F845
-2F846 ; [.C100.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F846
-F90B ; [.95E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90B
-FA7A ; [.A52B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7A
-2F847 ; [.A52B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F847
-FA36 ; [.A22D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA36
-FA78 ; [.A22D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA78
-2F848 ; [.BBB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F848
-2F849 ; [.B7F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F849
-FA0D ; [.A422.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0D
-2F84A ; [.CE34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84A
-FA7B ; [.D21D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7B
-FA37 ; [.912C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA37
-2F84C ; [.912C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84C
-2F84E ; [.A2BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84E
-FA38 ; [.ADFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA38
-2F84F ; [.847B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84F
-F9A9 ; [.9A44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A9
-2F84B ; [.92DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84B
-2F84D ; [.92DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F84D
-2F855 ; [.B548.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F855
-2F852 ; [.BE03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F852
-2F853 ; [.B720.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F853
-2F854 ; [.92F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F854
-2F857 ; [.8151.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F857
-2F856 ; [.C642.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F856
-FA39 ; [.85EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA39
-FA10 ; [.BB92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA10
-FA7C ; [.BB92.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7C
-F96C ; [.C892.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96C
-FA3A ; [.86A0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3A
-2F858 ; [.8E0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F858
-FA7D ; [.8A7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7D
-F94A ; [.9679.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94A
-F942 ; [.9C0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F942
-2F851 ; [.BB63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F851
-2F85A ; [.86C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85A
-2F85B ; [.A3DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85B
-2F85C ; [.8AFA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85C
-2F85D ; [.8F35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85D
-2F85E ; [.882A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85E
-FA7E ; [.CF5B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7E
-F90C ; [.9410.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90C
-F909 ; [.ADE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F909
-FA7F ; [.8193.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA7F
-2F85F ; [.C04A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F85F
-F981 ; [.95CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F981
-2F865 ; [.8598.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F865
-2F862 ; [.A6AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F862
-2F863 ; [.D42A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F863
-2F864 ; [.935B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F864
-FA80 ; [.8232.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA80
-2F866 ; [.8BDA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F866
-2F986 ; [.D15F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F986
-2F869 ; [.C2B1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F869
-FA81 ; [.C657.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA81
-2F86A ; [.9741.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86A
-2F86B ; [.9741.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86B
-FA04 ; [.B874.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA04
-2F86D ; [.D575.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86D
-2F86E ; [.B7AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86E
-F95F ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95F
-F9AA ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AA
-2F86F ; [.9570.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F86F
-F9BC ; [.98DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BC
-2F870 ; [.8143.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F870
-2F872 ; [.C0B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F872
-2F873 ; [.AAD5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F873
-2F875 ; [.CE9E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F875
-F9BD ; [.9522.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BD
-2F877 ; [.92CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F877
-F94B ; [.9C34.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94B
-FA3B ; [.C71D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3B
-F9DF ; [.9C36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DF
-FA3C ; [.BC63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3C
-2F878 ; [.BC63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F878
-2F87A ; [.AEFF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87A
-2F879 ; [.B3C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F879
-F9D5 ; [.9BB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D5
-2F87C ; [.CF66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87C
-F921 ; [.970A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F921
-2F87F ; [.C416.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87F
-2F87E ; [.8E87.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F87E
-2F880 ; [.BD30.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F880
-2F9F4 ; [.B1BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
-F9AB ; [.9A9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AB
-2F881 ; [.B68C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F881
-2F882 ; [.BC98.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F882
-2F884 ; [.B6C0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F884
-2F885 ; [.C26F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F885
-2F886 ; [.8758.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F886
-2F887 ; [.8A7B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F887
-F98E ; [.9537.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98E
-FA01 ; [.8F28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA01
-2F88B ; [.8372.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88B
-2F88C ; [.8233.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88C
-2F88D ; [.C22B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88D
-F9A2 ; [.996E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A2
-F928 ; [.9766.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F928
-2F88E ; [.9766.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F88E
-FA82 ; [.CAF7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA82
-FA0B ; [.A11E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0B
-FA83 ; [.CCFF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA83
-F982 ; [.9AB9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F982
-2F890 ; [.9FBB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F890
-F943 ; [.95C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F943
-2F894 ; [.9097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F894
-2F895 ; [.9097.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F895
-2F874 ; [.8D4C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F874
-2F899 ; [.B544.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F899
-FA84 ; [.C6A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA84
-2F89A ; [.8E55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89A
-F9D8 ; [.9C41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D8
-2F89C ; [.8FF3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89C
-F966 ; [.8BDF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F966
-FA85 ; [.CE36.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA85
-2F89D ; [.C2FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89D
-2F89E ; [.B768.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89E
-F9A3 ; [.9551.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A3
-2F89F ; [.A1E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F89F
-F960 ; [.958F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F960
-F9AC ; [.9965.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AC
-FA6B ; [.A524.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6B
-2F8A0 ; [.D572.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
-FA3D ; [.A510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3D
-2F8A3 ; [.A510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
-2F8A5 ; [.8FBB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
-FA86 ; [.D3D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA86
-F9B9 ; [.CA70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B9
-FA88 ; [.D4DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA88
-F9D9 ; [.9846.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D9
-2F8A6 ; [.C64C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
-2F8A7 ; [.A5FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
-2F8A9 ; [.A5FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
-FA87 ; [.C178.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA87
-2F8A8 ; [.C178.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
-FA8A ; [.CB23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8A
-FA3E ; [.A03D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3E
-2F8AA ; [.96E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
-FA3F ; [.C55C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA3F
-FA89 ; [.C55C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA89
-2F8AB ; [.C55C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
-F98F ; [.997C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98F
-2F8AD ; [.8A96.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
-2F8AE ; [.C6EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
-2F8AC ; [.B498.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
-2F8AF ; [.8803.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
-FA40 ; [.BE2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA40
-FA8B ; [.BE2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8B
-2F8B0 ; [.BE2C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
-F90D ; [.9742.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90D
-2F8B1 ; [.9742.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
-F990 ; [.99C4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F990
-2F8B2 ; [.BDFC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
-2F8B3 ; [.A802.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
-F9D2 ; [.9B16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D2
-FA8C ; [.8C7A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8C
-2F8B4 ; [.A0E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
-2F8B5 ; [.814B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
-F925 ; [.95DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F925
-F95B ; [.93DB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95B
-FA02 ; [.9037.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA02
-2F8B6 ; [.801D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
-2F8BA ; [.8599.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
-F973 ; [.C00F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F973
-2F8B9 ; [.D348.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
-2F8B7 ; [.ACA2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
-2F8BB ; [.C05A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
-F9A4 ; [.9540.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A4
-2F8BC ; [.C8AF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
-F975 ; [.CA67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F975
-2F8C1 ; [.CF63.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
-FA8D ; [.D43E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8D
-2F8C0 ; [.CF39.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
-2F8BD ; [.A70F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
-FA8E ; [.C8BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8E
-2F8BF ; [.AAB0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
-FA8F ; [.8365.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA8F
-2F8C3 ; [.865D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
-2F8C6 ; [.A904.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
-2F8C4 ; [.AB0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
-F991 ; [.9546.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F991
-2F8C5 ; [.A4F3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
-F930 ; [.9ADE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F930
-FA41 ; [.8915.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA41
-2F8C8 ; [.8915.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
-FA90 ; [.CAF2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA90
-2F8C9 ; [.AB74.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
-F969 ; [.C23A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F969
-F9BE ; [.9905.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BE
-F983 ; [.9C2B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F983
-FA42 ; [.A775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA42
-2F8CB ; [.A789.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
-F9E0 ; [.CCA3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E0
-2F8CD ; [.AAA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
-FA12 ; [.B034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA12
-FA91 ; [.B034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA91
-F9C5 ; [.D5E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C5
-FA43 ; [.C20B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA43
-2F8CF ; [.C20B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
-2F8D5 ; [.AAB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
-FA06 ; [.8156.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA06
-F98B ; [.9855.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98B
-F901 ; [.9DDE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F901
-2F8CC ; [.C1E5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
-2F8D4 ; [.C5BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
-F929 ; [.9775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F929
-FA92 ; [.9775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA92
-2F8D8 ; [.9775.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
-FA93 ; [.D3E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA93
-2F8D9 ; [.D3E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
-2F8DA ; [.C5F8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
-F9E1 ; [.9897.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E1
-2F8DC ; [.82A9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
-FA94 ; [.B9DA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA94
-2F8DB ; [.ADC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
-F9C8 ; [.BCDE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C8
-2F8E0 ; [.A6A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
-F9F4 ; [.99CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F4
-F9C9 ; [.9944.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C9
-2F8DF ; [.9EAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
-F9DA ; [.9826.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DA
-2F8E5 ; [.8196.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
-2F8E1 ; [.C902.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
-F97A ; [.9A19.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97A
-FA44 ; [.86DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA44
-2F8E2 ; [.86DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
-2F8E4 ; [.CAEF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
-F9E2 ; [.979F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E2
-2F8E6 ; [.C417.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
-2F8E8 ; [.B7F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
-2F8E9 ; [.CE3D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
-2F8EA ; [.9CE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
-F914 ; [.9610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F914
-F95C ; [.9610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95C
-F9BF ; [.9610.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9BF
-F94C ; [.96E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94C
-2F8EB ; [.C052.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
-F931 ; [.9AE5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F931
-2F8ED ; [.B7D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
-F91D ; [.9726.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91D
-2F8EF ; [.C667.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
-2F8F1 ; [.B58D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
-2F8F3 ; [.C9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
-F98C ; [.9856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98C
-FA95 ; [.8C53.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA95
-2F8F4 ; [.D380.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
-F9A5 ; [.99BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A5
-F970 ; [.C025.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F970
-FA96 ; [.C025.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA96
-2F8F5 ; [.C025.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
-2F8F6 ; [.AE8A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
-2F8FA ; [.8A3E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
-2F8FE ; [.AF01.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
-F972 ; [.BD5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F972
-2F8FC ; [.CF25.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
-F968 ; [.886C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F968
-2F8FD ; [.8194.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
-F9E3 ; [.9490.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E3
-2F8FF ; [.D193.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
-F915 ; [.9B72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F915
-FA05 ; [.900E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA05
-2F907 ; [.85C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F907
-2F900 ; [.83F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F900
-F9CA ; [.9912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CA
-FA97 ; [.9912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA97
-2F902 ; [.9912.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F902
-2F903 ; [.A2D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F903
-F92A ; [.9781.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92A
-FA45 ; [.A29A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA45
-2F901 ; [.A29A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F901
-2F904 ; [.AAA7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F904
-2F905 ; [.94E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F905
-F9F5 ; [.99D1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F5
-F94D ; [.9688.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94D
-F9D6 ; [.9BB8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D6
-2F90E ; [.CF08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90E
-FA46 ; [.BA70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA46
-2F908 ; [.9DB6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F908
-2F909 ; [.CF0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F909
-F9CB ; [.990C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CB
-F9EC ; [.94CE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EC
-2F90C ; [.8E88.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90C
-FA99 ; [.C419.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA99
-2F90B ; [.C419.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90B
-F904 ; [.A44F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F904
-FA98 ; [.D03B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA98
-F94E ; [.96FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94E
-FA47 ; [.A368.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA47
-FA9A ; [.A368.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9A
-F992 ; [.9974.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F992
-2F90F ; [.BCA0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90F
-2F912 ; [.8A7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F912
-F922 ; [.9751.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F922
-F984 ; [.9C51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F984
-2F915 ; [.D142.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F915
-FA9B ; [.AB83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9B
-2F914 ; [.AB83.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F914
-2F913 ; [.D563.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F913
-2F917 ; [.AF57.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F917
-2F835 ; [.A4D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F835
-2F919 ; [.BB35.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F919
-2F918 ; [.C4B5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F918
-F9FB ; [.B774.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FB
-2F91A ; [.9126.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91A
-F99F ; [.98B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99F
-F916 ; [.96C6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F916
-2F91C ; [.8FAD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91C
-F993 ; [.99B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F993
-FA48 ; [.BA72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA48
-FA9C ; [.BA72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9C
-2F91E ; [.C7CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F91E
-F9C0 ; [.98E3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C0
-F9EE ; [.99E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EE
-F932 ; [.9AC1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F932
-F91E ; [.9753.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91E
-2F920 ; [.C7A8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F920
-FA49 ; [.B8AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA49
-FA9E ; [.AC81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9E
-2F921 ; [.AC81.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F921
-2F922 ; [.B809.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F922
-F946 ; [.969F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F946
-2F924 ; [.B19A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F924
-2F925 ; [.810B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F925
-FA9F ; [.8A3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9F
-F9FA ; [.BB66.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FA
-F92B ; [.975E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92B
-FA16 ; [.BA3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA16
-FAA0 ; [.BA3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA0
-F9A7 ; [.98C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A7
-2F928 ; [.9034.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F928
-F961 ; [.9C43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F961
-F9DB ; [.9C43.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DB
-2F929 ; [.D3CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F929
-2F92B ; [.D544.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92B
-F9AD ; [.9A4F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AD
-F917 ; [.9B76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F917
-F9E4 ; [.97F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E4
-F9CC ; [.9914.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CC
-FA4A ; [.C58E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4A
-2F92E ; [.8C72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92E
-2F92F ; [.D44E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92F
-F9AE ; [.D131.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AE
-FAA1 ; [.B9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA1
-2F930 ; [.B9AB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F930
-2F931 ; [.C979.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F931
-F994 ; [.999F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F994
-F9EF ; [.99E1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EF
-2F932 ; [.B15E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F932
-FAA2 ; [.C64D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA2
-2F934 ; [.C397.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F934
-FAA3 ; [.A462.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA3
-2F936 ; [.C4B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F936
-F9CD ; [.9915.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CD
-F976 ; [.CA68.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F976
-F962 ; [.CCD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F962
-2F938 ; [.CCD0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F938
-F9E5 ; [.983F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E5
-2F93A ; [.D494.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F93A
-FAA4 ; [.9F2F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA4
-FAA5 ; [.D382.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA5
-F9C1 ; [.98E8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C1
-F90E ; [.9649.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90E
-FA17 ; [.CCC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA17
-FAA6 ; [.CCC7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA6
-FAA7 ; [.C1CA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA7
-F933 ; [.9AB5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F933
-FAA8 ; [.B71A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA8
-2F940 ; [.B71A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F940
-F96D ; [.C1C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96D
-2F945 ; [.B959.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F945
-2F946 ; [.B95A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F946
-2F947 ; [.B95A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F947
-FAAA ; [.B869.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAA
-FAA9 ; [.ACC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAA9
-2F948 ; [.ACC5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F948
-2F94A ; [.BD55.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94A
-FA9D ; [.AE77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA9D
-2F94E ; [.B54F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94E
-F9CE ; [.9918.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CE
-F93B ; [.9B0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93B
-2F94F ; [.9B0A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F94F
-FA4B ; [.80DF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4B
-F947 ; [.9673.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F947
-FAAB ; [.9259.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAB
-2F950 ; [.9259.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F950
-F964 ; [.845F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F964
-F985 ; [.9878.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F985
-FA18 ; [.97EA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA18
-FA4C ; [.C05E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4C
-FA4E ; [.AD73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4E
-FA4D ; [.B757.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4D
-FA4F ; [.CEF0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA4F
-FA50 ; [.C583.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA50
-2F953 ; [.C583.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F953
-FA51 ; [.BA90.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA51
-FA19 ; [.C153.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA19
-FA1A ; [.B4FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1A
-F93C ; [.9B0B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93C
-FA52 ; [.A4A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA52
-FA53 ; [.B971.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA53
-FA1B ; [.8B8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1B
-2F956 ; [.8B8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F956
-F9B6 ; [.97FC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B6
-F995 ; [.9538.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F995
-2F957 ; [.C201.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F957
-F956 ; [.978F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F956
-FA54 ; [.9E24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA54
-2F959 ; [.9E24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F959
-2F95A ; [.A79C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95A
-2F95B ; [.D3B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95B
-FA55 ; [.92B6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA55
-FAAC ; [.9231.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAC
-F9F7 ; [.9808.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F7
-2F95F ; [.85BC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F95F
-F9F8 ; [.9833.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F8
-FA56 ; [.A87C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA56
-FAAD ; [.A87C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAD
-2F962 ; [.BB3E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F962
-2F963 ; [.BA5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F963
-F9A6 ; [.9992.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A6
-F944 ; [.9BF8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F944
-FAAE ; [.9686.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAE
-F9F9 ; [.9834.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F9
-FA1D ; [.AB32.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1D
-2F966 ; [.8114.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F966
-FA03 ; [.915F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA03
-2F969 ; [.C8EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F969
-F97B ; [.9A24.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97B
-2F968 ; [.AB10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F968
-2F96A ; [.A778.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96A
-F9CF ; [.952E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9CF
-F96A ; [.C970.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96A
-F94F ; [.9689.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F94F
-FAAF ; [.90A1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAAF
-2F96C ; [.81D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96C
-F93D ; [.9C4A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93D
-F957 ; [.9A73.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F957
-2F96E ; [.C427.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96E
-F996 ; [.99BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F996
-FA57 ; [.99BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA57
-FAB0 ; [.99BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB0
-2F96F ; [.C61F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96F
-FA58 ; [.AAC3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA58
-F950 ; [.9C3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F950
-FA59 ; [.8A28.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA59
-2F970 ; [.C8A7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F970
-FAB1 ; [.85D7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB1
-FA5A ; [.C20E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5A
-F9E6 ; [.97C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E6
-2F976 ; [.BCA2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F976
-F90F ; [.9B52.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90F
-2F978 ; [.D0D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F978
-F9AF ; [.9A62.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9AF
-FA1E ; [.D47D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1E
-2F979 ; [.CB06.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F979
-F934 ; [.96B7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F934
-FA5B ; [.B856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5B
-FAB2 ; [.B856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB2
-2F97A ; [.B856.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97A
-F9B0 ; [.9A64.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B0
-2F97D ; [.85BA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97D
-F997 ; [.9989.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F997
-2F97F ; [.C7D5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F97F
-F945 ; [.9BF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F945
-F953 ; [.9600.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F953
-2F8D6 ; [.93E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
-2F982 ; [.D4B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F982
-2F983 ; [.C780.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F983
-2F985 ; [.851D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F985
-F926 ; [.95F4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F926
-F9F6 ; [.99E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F6
-FA5C ; [.BCE6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5C
-2F893 ; [.D42F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F893
-2F98B ; [.D42F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98B
-2F98C ; [.B23F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98C
-FA6D ; [.9F3F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6D
-F97C ; [.9A16.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97C
-FA5D ; [.C6CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5D
-FA5E ; [.C6CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5E
-2F990 ; [.D4AD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F990
-2F98F ; [.ADCA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98F
-2F991 ; [.B6F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F991
-2F993 ; [.A43F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F993
-2F994 ; [.8AA5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F994
-2F995 ; [.CD7E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F995
-F974 ; [.C386.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F974
-2F998 ; [.C386.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F998
-2F996 ; [.A0F5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F996
-2F999 ; [.BC82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F999
-2F99C ; [.D198.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99C
-F9FE ; [.BC3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FE
-FAB3 ; [.A5F7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB3
-2F9A0 ; [.85CF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
-2F99A ; [.C3D3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99A
-2F99B ; [.A86D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99B
-2F99D ; [.87E9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99D
-F93E ; [.9B03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93E
-2F9A1 ; [.ABC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
-2F9A2 ; [.ACE3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
-2F9A3 ; [.C6B0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
-2F99E ; [.8DE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99E
-FAB4 ; [.A44D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB4
-F958 ; [.9A69.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F958
-F918 ; [.9B7C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F918
-F96E ; [.CDE9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96E
-FA5F ; [.B86A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA5F
-2F99F ; [.B86A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F99F
-F999 ; [.9980.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F999
-2F9A8 ; [.85DC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
-2F9A9 ; [.AA97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
-F9C2 ; [.98FD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C2
-2F9AA ; [.C74F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
-2F9AC ; [.C399.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
-F923 ; [.971B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F923
-F9F0 ; [.9A11.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F0
-F935 ; [.9AC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F935
-FA20 ; [.AEF5.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA20
-F91F ; [.9728.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91F
-F910 ; [.9B5D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F910
-2F9B3 ; [.95D6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
-F936 ; [.9AD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F936
-2F9B4 ; [.9AD8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
-2F9B5 ; [.A14D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
-2F9B6 ; [.B256.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
-2F9B8 ; [.AF15.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
-2F9B7 ; [.BBB2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
-2F9BA ; [.85D9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
-2F9B9 ; [.D57F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
-2F9BC ; [.8E3B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
-2F9BD ; [.BA44.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
-FAB5 ; [.D5EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB5
-2F9BB ; [.D5EE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
-2F9BE ; [.C674.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
-F911 ; [.9B51.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F911
-2F9C0 ; [.9EFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
-2F9C1 ; [.B510.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
-F927 ; [.95F9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F927
-FA08 ; [.B543.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA08
-2F9C3 ; [.BB4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
-2F9C4 ; [.CBE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
-F9A0 ; [.98B8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A0
-F9E7 ; [.97F6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E7
-2F9C6 ; [.9919.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
-2F9C7 ; [.C276.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
-F9E8 ; [.989C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E8
-F912 ; [.9B67.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F912
-2F9C9 ; [.CF76.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
-FA60 ; [.A282.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA60
-FAB6 ; [.B011.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB6
-F924 ; [.9724.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F924
-FAB7 ; [.8BFE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB7
-FA0A ; [.AA1C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA0A
-FA61 ; [.BFE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA61
-FAB8 ; [.BFE1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB8
-2F9CF ; [.BE22.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
-F96F ; [.C24F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F96F
-F9A1 ; [.C24F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9A1
-FAB9 ; [.8E75.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAB9
-FABB ; [.B047.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABB
-F97D ; [.9A3C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97D
-F941 ; [.9BCB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F941
-FABE ; [.D502.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABE
-2F9D0 ; [.D502.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
-FA22 ; [.BA48.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA22
-FABA ; [.BA48.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABA
-F95D ; [.95A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95D
-FABD ; [.95A4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABD
-FA62 ; [.CDF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA62
-FABC ; [.CDF9.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABC
-FA63 ; [.AA9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA63
-FABF ; [.AA9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FABF
-F9FC ; [.C017.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9FC
-F95A ; [.8F10.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F95A
-FAC0 ; [.831E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC0
-2F9D1 ; [.831E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
-F900 ; [.ADCC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F900
-2F9D2 ; [.BFAB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
-2F9D4 ; [.9F4B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
-2F9D5 ; [.8245.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
-F948 ; [.9B0D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F948
-F903 ; [.A822.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F903
-FA64 ; [.8331.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA64
-FA65 ; [.C56B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA65
-FAC1 ; [.C56B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC1
-2F9D6 ; [.9D8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
-2F9D7 ; [.ADCD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
-2F9DB ; [.A9FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
-2F9DA ; [.8024.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
-F937 ; [.9B0E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F937
-2F9DC ; [.8589.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
-F902 ; [.BC58.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F902
-2F9DE ; [.C321.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
-F998 ; [.9549.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F998
-F9D7 ; [.9BC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D7
-FAC2 ; [.C1FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC2
-2F9DF ; [.C1FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
-FA07 ; [.8B97.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA07
-F98D ; [.988A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F98D
-2F98D ; [.C64B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F98D
-F971 ; [.BD5F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F971
-FA66 ; [.BE9F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA66
-F99A ; [.996B.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99A
-FA25 ; [.CCEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA25
-FA67 ; [.CCEA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA67
-FAC3 ; [.BBE0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC3
-F9C3 ; [.98E6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C3
-F913 ; [.9B5E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F913
-2F9E2 ; [.ADC4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
-F92C ; [.975C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F92C
-FA2E ; [.975F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2E
-2F9E3 ; [.85CC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
-FA26 ; [.8CC2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA26
-2F9E4 ; [.C423.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
-2F9E6 ; [.BC9D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
-F919 ; [.96C8.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F919
-FAC4 ; [.C8CB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC4
-F9B7 ; [.97FF.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B7
-F9E9 ; [.97EB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9E9
-F97E ; [.9A3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F97E
-F90A ; [.AA72.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F90A
-F9B1 ; [.9A6E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B1
-2F9E7 ; [.8086.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
-FAC5 ; [.B553.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC5
-2F9EA ; [.8369.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
-2F9E8 ; [.B62C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
-2F9E9 ; [.A455.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
-F93F ; [.9B23.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93F
-F99B ; [.99BE.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F99B
-2F9EB ; [.B013.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
-2F9EC ; [.C516.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
-2F9EE ; [.A032.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
-F986 ; [.9C1F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F986
-2F9F0 ; [.C083.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
-F9C6 ; [.C3B3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C6
-F951 ; [.96FA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F951
-FA09 ; [.AB03.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA09
-F959 ; [.9A68.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F959
-F9D3 ; [.9AFC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D3
-FAC6 ; [.BA71.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC6
-F9DC ; [.9BDC.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9DC
-F9F1 ; [.99DD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F1
-FA2F ; [.9859.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2F
-F9B8 ; [.985F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B8
-2F9F3 ; [.AF18.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
-F9EA ; [.97D0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9EA
-FA68 ; [.9467.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA68
-FAC7 ; [.9467.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC7
-F9B2 ; [.9A70.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B2
-F949 ; [.964D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F949
-2F9F5 ; [.D625.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
-F938 ; [.9B37.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F938
-F9B3 ; [.9A8D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B3
-FA1C ; [.AB77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA1C
-FAC8 ; [.AB77.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC8
-FAC9 ; [.80D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAC9
-2F9FA ; [.8286.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
-FA69 ; [.B512.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA69
-FACA ; [.B512.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACA
-FACB ; [.CA47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACB
-2F9FE ; [.CA47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
-2F9FF ; [.CA47.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
-F9B4 ; [.9A99.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9B4
-2FA00 ; [.85BD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA00
-FA6A ; [.85A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA6A
-FACC ; [.85A6.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACC
-F9D0 ; [.9693.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9D0
-2FA02 ; [.A6B2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA02
-FA2A ; [.8A4D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2A
-FA2B ; [.C84E.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2B
-FA2C ; [.9F41.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2C
-2FA04 ; [.CA8F.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA04
-2FA05 ; [.D5F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA05
-2FA06 ; [.813C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA06
-F91A ; [.9B82.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F91A
-2FA07 ; [.9361.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA07
-F987 ; [.97E7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F987
-FACD ; [.B997.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACD
-2FA0A ; [.B997.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
-F939 ; [.9ADD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F939
-2FA0B ; [.A7C3.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
-F9F2 ; [.99F1.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F2
-2FA0C ; [.A9BB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
-2FA0F ; [.8528.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
-FA2D ; [.A28C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FA2D
-F93A ; [.9B3A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F93A
-F920 ; [.9BA4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F920
-F940 ; [.9AFD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F940
-F988 ; [.9871.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F988
-F9F3 ; [.99F2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9F3
-2FA15 ; [.862D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA15
-F989 ; [.97C2.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F989
-2FA17 ; [.B762.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA17
-2FA18 ; [.88D4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA18
-2FA19 ; [.B715.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA19
-2FA1A ; [.8885.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
-2FA1B ; [.8A85.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
-2FA1C ; [.81FB.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
-FAD8 ; [.CA9A.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD8
-F9C4 ; [.9BE4.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F9C4
-FAD9 ; [.8497.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD9
-F907 ; [.9ED7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F907
-F908 ; [.9ED7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-F908
-FACE ; [.9ED7.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FACE
-2F81F ; [.8505.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F81F
-2F888 ; [.87AA.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F888
-2F8D0 ; [.D37C.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
-2F8CE ; [.D2E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
-2F8DE ; [.A447.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
-2F8EE ; [.CC56.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
-2F90A ; [.9C08.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F90A
-2F92C ; [.85CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92C
-2F92D ; [.85CD.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F92D
-FAD4 ; [.A871.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-FAD4
-2F949 ; [.A871.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F949
-2F960 ; [.85E0.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F960
-2F96D ; [.CE1D.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F96D
-2F8D7 ; [.9118.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
-2FA0E ; [.A746.0020.0002] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+ entry => <<'ENTRY', # for DUCET v6.2.0
+02C9 ; [.0000.0199.0002.02C9] # MODIFIER LETTER MACRON
+02CA ; [.019A.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
+02C7 ; [.019B.0020.0002.02C7] # CARON
+02CB ; [.019C.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
+02D9 ; [.019D.0020.0002.02D9] # DOT ABOVE
+02EA ; [.019E.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB ; [.019F.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
+0101 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 3105 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER B>
+2E8A ; [.80B5.0020.0002.2E8A] # CJK RADICAL DIVINATION
+FDD0 3106 ; [.83B1.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER P>
+FDD0 3107 ; [.8626.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER M>
+FDD0 3108 ; [.897F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER F>
+2ECF ; [.8BC0.0020.0002.2ECF] # CJK RADICAL CITY
+2ED6 ; [.8BC1.0020.0002.2ED6] # CJK RADICAL MOUND TWO
+FDD0 3109 ; [.8C0D.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER D>
+2E88 ; [.8C86.0020.0002.2E88] # CJK RADICAL KNIFE ONE
+FDD0 310A ; [.901F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER T>
+FDD0 310B ; [.93D9.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER N>
+2EA7 ; [.9525.0020.0002.2EA7] # CJK RADICAL COW
+FDD0 310C ; [.95D9.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER L>
+3007 ; [.9A41.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+FDD0 310D ; [.9C5F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER G>
+2EE3 ; [.9E0A.0020.0002.2EE3] # CJK RADICAL BONE
+FDD0 310E ; [.9FD2.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER K>
+FDD0 310F ; [.A223.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER H>
+FDD0 3110 ; [.A697.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER J>
+2E95 ; [.A762.0020.0002.2E95] # CJK RADICAL SNOUT TWO
+2E86 ; [.AD18.0020.0002.2E86] # CJK RADICAL BOX
+FDD0 3111 ; [.AD38.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER Q>
+FDD0 3112 ; [.B164.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER X>
+2E8C ; [.B383.0020.0002.2E8C] # CJK RADICAL SMALL ONE
+2E8D ; [.B384.0020.0002.2E8D] # CJK RADICAL SMALL TWO
+FDD0 3113 ; [.B6E9.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ZH>
+2EA5 ; [.B8AC.0020.0002.2EA5] # CJK RADICAL PAW TWO
+FDD0 3114 ; [.BBAC.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER CH>
+2ECC ; [.BE9D.0020.0002.2ECC] # CJK RADICAL SIMPLIFIED WALK
+2ECD ; [.BE9E.0020.0002.2ECD] # CJK RADICAL WALK ONE
+FDD0 3115 ; [.BF5A.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER SH>
+2EAC ; [.BFBC.0020.0002.2EAC] # CJK RADICAL SPIRIT ONE
+2EAE ; [.BFC1.0020.0002.2EAE] # CJK RADICAL BAMBOO
+FDD0 3116 ; [.C2A2.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER R>
+2E9C ; [.C2A3.0020.0002.2E9C] # CJK RADICAL SUN
+2EBC ; [.C2D3.0020.0002.2EBC] # CJK RADICAL MEAT
+2EB6 ; [.C311.0020.0002.2EB6] # CJK RADICAL SHEEP
+FDD0 3117 ; [.C402.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER Z>
+FDD0 3118 ; [.C630.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER C>
+2EBE ; [.C6CA.0020.0002.2EBE] # CJK RADICAL GRASS ONE
+FDD0 3119 ; [.C7F6.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER S>
+FDD0 311A ; [.CA13.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER A>
+FDD0 311B ; [.CA19.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER O>
+FDD0 311C ; [.CA1E.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER E>
+FDD0 311E ; [.CAA0.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER AI>
+FDD0 311F ; [.CAE8.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER EI>
+FDD0 3120 ; [.CAEB.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER AU>
+FDD0 3121 ; [.CB2E.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER OU>
+FDD0 3122 ; [.CB51.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER AN>
+FDD0 3123 ; [.CB8B.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER EN>
+FDD0 3124 ; [.CB94.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ANG>
+FDD0 3125 ; [.CBA0.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ENG>
+FDD0 3126 ; [.CBA2.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER ER>
+FDD0 3127 ; [.CBDB.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER I>
+2E84 ; [.CDB5.0020.0002.2E84] # CJK RADICAL SECOND THREE
+2E80 ; [.CEDF.0020.0002.2E80] # CJK RADICAL REPEAT
+FDD0 3128 ; [.D16F.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER U>
+FDD0 3129 ; [.D403.0020.0002.FDD0] # <noncharacter-FDD0, BOPOMOFO LETTER IU>
+2ED7 ; [.D47E.0020.0002.2ED7] # CJK RADICAL RAIN
+2E9D ; [.D53B.0020.0002.2E9D] # CJK RADICAL MOON
+3220 ; [*02FB.0020.0004.3220][.CBDC.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3226 ; [*02FB.0020.0004.3226][.AD39.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3222 ; [*02FB.0020.0004.3222][.C8DF.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+3228 ; [*02FB.0020.0004.3228][.A95D.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3221 ; [*02FB.0020.0004.3221][.CBCD.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+3224 ; [*02FB.0020.0004.3224][.D1A9.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3239 ; [*02FB.0020.0004.3239][.8C57.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D ; [*02FB.0020.0004.323D][.ADC1.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241 ; [*02FB.0020.0004.3241][.B3A8.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+3227 ; [*02FB.0020.0004.3227][.8001.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3225 ; [*02FB.0020.0004.3225][.9953.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3238 ; [*02FB.0020.0004.3238][.969E.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3229 ; [*02FB.0020.0004.3229][.BF85.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+323F ; [*02FB.0020.0004.323F][.B2BC.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234 ; [*02FB.0020.0004.3234][.892A.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+323A ; [*02FB.0020.0004.323A][.A3B5.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+3223 ; [*02FB.0020.0004.3223][.C82E.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+322F ; [*02FB.0020.0004.322F][.92EA.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+323B ; [*02FB.0020.0004.323B][.B5F0.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+3230 ; [*02FB.0020.0004.3230][.C2A4.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+322A ; [*02FB.0020.0004.322A][.D53C.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+3232 ; [*02FB.0020.0004.3232][.CEC7.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+322D ; [*02FB.0020.0004.322D][.895F.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+3231 ; [*02FB.0020.0004.3231][.BA36.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+322C ; [*02FB.0020.0004.322C][.C26E.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+322B ; [*02FB.0020.0004.322B][.A48C.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+3235 ; [*02FB.0020.0004.3235][.9060.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C ; [*02FB.0020.0004.323C][.A9B3.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233 ; [*02FB.0020.0004.3233][.C05E.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237 ; [*02FB.0020.0004.3237][.BA90.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240 ; [*02FB.0020.0004.3240][.A78C.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242 ; [*02FB.0020.0004.3242][.C457.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+3243 ; [*02FB.0020.0004.3243][.B766.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+3236 ; [*02FB.0020.0004.3236][.C69F.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E ; [*02FB.0020.0004.323E][.C421.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E ; [*02FB.0020.0004.322E][.AA72.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+3358 ; [.15E5.0020.0004.3358][.8E99.0020.001F.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9 ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.C2A4.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.D53C.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.8E99.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.C2A4.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.D53C.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.8E99.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.C2A4.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.D53C.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.8E99.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.C2A4.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.8E99.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.C2A4.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.8E99.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.C2A4.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.8E99.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.C2A4.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.8E99.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0 ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.C2A4.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.8E99.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1 ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.C2A4.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.8E99.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2 ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.C2A4.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.8E99.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15E6.0020.0004.33E0][.C2A4.0020.001F.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15E6.0020.0004.32C0][.D53C.0020.001F.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15E6.0020.0004.3359][.8E99.0020.001F.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3 ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.C2A4.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.8E99.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4 ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.C2A4.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.8E99.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5 ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.C2A4.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.8E99.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6 ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.C2A4.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.8E99.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7 ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.C2A4.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.8E99.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8 ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.C2A4.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9 ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.C2A4.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.C2A4.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.C2A4.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.C2A4.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15E7.0020.0004.33E1][.C2A4.0020.001F.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15E7.0020.0004.32C1][.D53C.0020.001F.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15E7.0020.0004.335A][.8E99.0020.001F.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.C2A4.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.C2A4.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2 ; [.15E8.0020.0004.33E2][.C2A4.0020.001F.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15E8.0020.0004.32C2][.D53C.0020.001F.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15E8.0020.0004.335B][.8E99.0020.001F.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3 ; [.15E9.0020.0004.33E3][.C2A4.0020.001F.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15E9.0020.0004.32C3][.D53C.0020.001F.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15E9.0020.0004.335C][.8E99.0020.001F.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4 ; [.15EA.0020.0004.33E4][.C2A4.0020.001F.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15EA.0020.0004.32C4][.D53C.0020.001F.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15EA.0020.0004.335D][.8E99.0020.001F.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5 ; [.15EB.0020.0004.33E5][.C2A4.0020.001F.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15EB.0020.0004.32C5][.D53C.0020.001F.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15EB.0020.0004.335E][.8E99.0020.001F.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6 ; [.15EC.0020.0004.33E6][.C2A4.0020.001F.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15EC.0020.0004.32C6][.D53C.0020.001F.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15EC.0020.0004.335F][.8E99.0020.001F.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7 ; [.15ED.0020.0004.33E7][.C2A4.0020.001F.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15ED.0020.0004.32C7][.D53C.0020.001F.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15ED.0020.0004.3360][.8E99.0020.001F.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8 ; [.15EE.0020.0004.33E8][.C2A4.0020.001F.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15EE.0020.0004.32C8][.D53C.0020.001F.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15EE.0020.0004.3361][.8E99.0020.001F.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241 ; [*0359.0020.0004.1F241][.C8DF.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 ; [*0359.0020.0004.1F242][.CBCD.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247 ; [*0359.0020.0004.1F247][.C1CC.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243 ; [*0359.0020.0004.1F243][.CB52.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245 ; [*0359.0020.0004.1F245][.8C38.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248 ; [*0359.0020.0004.1F248][.80CD.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240 ; [*0359.0020.0004.1F240][.819A.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244 ; [*0359.0020.0004.1F244][.8E99.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246 ; [*0359.0020.0004.1F246][.8CA9.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00 ; [.CBDC.0020.0004.2F00] # KANGXI RADICAL ONE
+3192 ; [.CBDC.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280 ; [.CBDC.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
+1F229 ; [.CBDC.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.8EC1.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286 ; [.AD39.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
+3194 ; [.C8DF.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282 ; [.C8DF.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
+1F22A ; [.C8DF.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196 ; [.C19C.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4 ; [.C19C.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
+3198 ; [.B2A0.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6 ; [.B2A0.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
+319B ; [.8355.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01 ; [.9F64.0020.0004.2F01] # KANGXI RADICAL LINE
+3197 ; [.BB6D.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5 ; [.BB6D.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
+1F22D ; [.BB6D.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02 ; [.BA6A.0020.0004.2F02] # KANGXI RADICAL DOT
+2F03 ; [.8558.0020.0004.2F03] # KANGXI RADICAL SLASH
+2F04 ; [.CC59.0020.0004.2F04] # KANGXI RADICAL SECOND
+319A ; [.CC59.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288 ; [.A95D.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
+2F05 ; [.AC3C.0020.0004.2F05] # KANGXI RADICAL HOOK
+2F06 ; [.CBCD.0020.0004.2F06] # KANGXI RADICAL TWO
+3193 ; [.CBCD.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281 ; [.CBCD.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
+1F214 ; [.CBCD.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284 ; [.D1A9.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.90D4.0020.0004.2F07] # KANGXI RADICAL LID
+1F218 ; [.A8BE.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08 ; [.C2EF.0020.0004.2F08] # KANGXI RADICAL MAN
+319F ; [.C2EF.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD ; [.ADC1.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1 ; [.B3A8.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
+329D ; [.CE97.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.CBA3.0020.0004.2F09] # KANGXI RADICAL LEGS
+2F0A ; [.C376.0020.0004.2F0A] # KANGXI RADICAL ENTER
+2F0B ; [.8001.0020.0004.2F0B] # KANGXI RADICAL EIGHT
+3287 ; [.8001.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
+3285 ; [.9953.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
+2F0C ; [.AD19.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
+1F21E ; [.C4C2.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D ; [.8867.0020.0004.2F0D] # KANGXI RADICAL COVER
+32A2 ; [.B2E9.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
+2F0E ; [.834E.0020.0004.2F0E] # KANGXI RADICAL ICE
+2F0F ; [.A74C.0020.0004.2F0F] # KANGXI RADICAL TABLE
+2F10 ; [.AF59.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
+2F11 ; [.8C87.0020.0004.2F11] # KANGXI RADICAL KNIFE
+1F220 ; [.BE3B.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C ; [.AF3B.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239 ; [.9C7B.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12 ; [.9804.0020.0004.2F12] # KANGXI RADICAL POWER
+3298 ; [.969E.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
+2F13 ; [.811A.0020.0004.2F13] # KANGXI RADICAL WRAP
+2F14 ; [.81FC.0020.0004.2F14] # KANGXI RADICAL SPOON
+2F15 ; [.8A9F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.B224.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.CBE1.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
+2F17 ; [.BF85.0020.0004.2F17] # KANGXI RADICAL TEN
+3038 ; [.BF85.0020.0004.3038] # HANGZHOU NUMERAL TEN
+3289 ; [.BF85.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
+3039 ; [.954F.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
+303A ; [.C861.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
+32AF ; [.B2BC.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
+2F18 ; [.80B6.0020.0004.2F18] # KANGXI RADICAL DIVINATION
+2F19 ; [.A84F.0020.0004.2F19] # KANGXI RADICAL SEAL
+329E ; [.D06B.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
+2F1A ; [.BDC0.0020.0004.2F1A] # KANGXI RADICAL CLIFF
+2F1B ; [.C7F7.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
+2F1C ; [.CEE0.0020.0004.2F1C] # KANGXI RADICAL AGAIN
+1F212 ; [.C28A.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D ; [.A070.0020.0004.2F1D] # KANGXI RADICAL MOUTH
+1F251 ; [.A007.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
+32A8 ; [.CEE1.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.CEE1.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234 ; [.A232.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294 ; [.892A.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
+1F225 ; [.BEBE.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244 ; [.D3B7.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
+1F23A ; [.D120.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E ; [.D27D.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
+3195 ; [.C82E.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283 ; [.C82E.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
+2F1F ; [.92EA.0020.0004.2F1F] # KANGXI RADICAL EARTH
+328F ; [.92EA.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
+319E ; [.8C4B.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20 ; [.BFB5.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
+1F224 ; [.C1A8.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21 ; [.B740.0020.0004.2F21] # KANGXI RADICAL GO
+2F22 ; [.C986.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.B165.0020.0004.2F23] # KANGXI RADICAL EVENING
+1F215 ; [.8F35.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.CDD7.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
+2F24 ; [.8C39.0020.0004.2F24] # KANGXI RADICAL BIG
+337D ; [.8C39.0020.001C.337D][.BA1E.0020.001C.337D] # SQUARE ERA NAME TAISYOU
+319D ; [.923B.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.923B.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25 ; [.95CC.0020.0004.2F25] # KANGXI RADICAL WOMAN
+329B ; [.95CC.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
+2F26 ; [.C466.0020.0004.2F26] # KANGXI RADICAL CHILD
+1F211 ; [.C456.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB ; [.B5F0.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.88BF.0020.0004.2F27] # KANGXI RADICAL ROOF
+32AA ; [.C5ED.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
+2F28 ; [.C7B4.0020.0004.2F28] # KANGXI RADICAL INCH
+2F29 ; [.B385.0020.0004.2F29] # KANGXI RADICAL SMALL
+2F2A ; [.CE9E.0020.0004.2F2A] # KANGXI RADICAL LAME
+2F2B ; [.BF5B.0020.0004.2F2B] # KANGXI RADICAL CORPSE
+2F2C ; [.BC63.0020.0004.2F2C] # KANGXI RADICAL SPROUT
+2F2D ; [.C0C5.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
+2F2E ; [.BED1.0020.0004.2F2E] # KANGXI RADICAL RIVER
+2F2F ; [.9F9E.0020.0004.2F2F] # KANGXI RADICAL WORK
+32A7 ; [.C593.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.C593.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.A74D.0020.0004.2F30] # KANGXI RADICAL ONESELF
+2F31 ; [.AA6D.0020.0004.2F31] # KANGXI RADICAL TURBAN
+2F32 ; [.9D7F.0020.0004.2F32] # KANGXI RADICAL DRY
+337B ; [.85BF.0020.001C.337B][.BDFC.0020.001C.337B] # SQUARE ERA NAME HEISEI
+2F33 ; [.CE11.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
+3245 ; [.CEE2.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.9F8F.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
+2F35 ; [.D04E.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
+2F36 ; [.9FBB.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
+2F37 ; [.CC86.0020.0004.2F37] # KANGXI RADICAL SHOOT
+2F38 ; [.9F9F.0020.0004.2F38] # KANGXI RADICAL BOW
+2F39 ; [.A763.0020.0004.2F39] # KANGXI RADICAL SNOUT
+2F3A ; [.C0C6.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
+2F3B ; [.BBF9.0020.0004.2F3B] # KANGXI RADICAL STEP
+1F21D ; [.A30D.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.8C4D.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C ; [.B4AB.0020.0004.2F3C] # KANGXI RADICAL HEART
+2F3D ; [.9C6C.0020.0004.2F3D] # KANGXI RADICAL HALBERD
+2F3E ; [.A40C.0020.0004.2F3E] # KANGXI RADICAL DOOR
+2F3F ; [.C0AE.0020.0004.2F3F] # KANGXI RADICAL HAND
+1F210 ; [.C0AE.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231 ; [.8C38.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227 ; [.90D6.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F ; [.B753.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228 ; [.838E.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40 ; [.B6EB.0020.0004.2F40] # KANGXI RADICAL BRANCH
+2F41 ; [.85EC.0020.0004.2F41] # KANGXI RADICAL RAP
+2F42 ; [.D38D.0020.0004.2F42] # KANGXI RADICAL SCRIPT
+3246 ; [.D38D.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.8CCF.0020.0004.2F43] # KANGXI RADICAL DIPPER
+1F21B ; [.9905.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.AA6F.0020.0004.2F44] # KANGXI RADICAL AXE
+1F21F ; [.B4BC.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.8AA0.0020.0004.2F45] # KANGXI RADICAL SQUARE
+2F46 ; [.D18A.0020.0004.2F46] # KANGXI RADICAL NOT
+2F47 ; [.C2A4.0020.0004.2F47] # KANGXI RADICAL SUN
+3290 ; [.C2A4.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
+337E ; [.892B.0020.001C.337E][.B773.0020.001C.337E] # SQUARE ERA NAME MEIZI
+1F219 ; [.D15D.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.B884.0020.001C.337C][.A237.0020.001C.337C] # SQUARE ERA NAME SYOUWA
+2F48 ; [.D533.0020.0004.2F48] # KANGXI RADICAL SAY
+2F49 ; [.D53C.0020.0004.2F49] # KANGXI RADICAL MOON
+328A ; [.D53C.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.D53C.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292 ; [.CEC7.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.CEC7.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A ; [.895F.0020.0004.2F4A] # KANGXI RADICAL TREE
+328D ; [.895F.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
+3291 ; [.BA36.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
+337F ; [.BA36.0020.001C.337F][.BFBF.0020.001C.337F][.A51A.0020.001C.337F][.C05E.0020.001C.337F] # SQUARE CORPORATION
+2F4B ; [.AF68.0020.0004.2F4B] # KANGXI RADICAL LACK
+2F4C ; [.B741.0020.0004.2F4C] # KANGXI RADICAL STOP
+32A3 ; [.BA1E.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
+2F4D ; [.8C53.0020.0004.2F4D] # KANGXI RADICAL DEATH
+2F4E ; [.C1D9.0020.0004.2F4E] # KANGXI RADICAL WEAPON
+2F4F ; [.D18B.0020.0004.2F4F] # KANGXI RADICAL DO NOT
+2E9F ; [.894D.0020.0004.2E9F] # CJK RADICAL MOTHER
+2F50 ; [.81FD.0020.0004.2F50] # KANGXI RADICAL COMPARE
+2F51 ; [.8727.0020.0004.2F51] # KANGXI RADICAL FUR
+2F52 ; [.BFB6.0020.0004.2F52] # KANGXI RADICAL CLAN
+2F53 ; [.ADDA.0020.0004.2F53] # KANGXI RADICAL STEAM
+2F54 ; [.C26E.0020.0004.2F54] # KANGXI RADICAL WATER
+328C ; [.C26E.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
+329F ; [.BA84.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
+1F235 ; [.8793.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226 ; [.CF75.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55 ; [.A48C.0020.0004.2F55] # KANGXI RADICAL FIRE
+328B ; [.A48C.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
+1F21A ; [.D19A.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56 ; [.B88D.0020.0004.2F56] # KANGXI RADICAL CLAW
+2F57 ; [.8BC3.0020.0004.2F57] # KANGXI RADICAL FATHER
+2F58 ; [.CE21.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
+2F59 ; [.8453.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.8593.0020.0004.2F5A] # KANGXI RADICAL SLICE
+2F5B ; [.CD78.0020.0004.2F5B] # KANGXI RADICAL FANG
+2F5C ; [.9526.0020.0004.2F5C] # KANGXI RADICAL COW
+3295 ; [.9060.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
+2F5D ; [.B123.0020.0004.2F5D] # KANGXI RADICAL DOG
+2F5E ; [.B63A.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
+2F5F ; [.D4A7.0020.0004.2F5F] # KANGXI RADICAL JADE
+2F60 ; [.9E4D.0020.0004.2F60] # KANGXI RADICAL MELON
+2F61 ; [.D216.0020.0004.2F61] # KANGXI RADICAL TILE
+2F62 ; [.9D4E.0020.0004.2F62] # KANGXI RADICAL SWEET
+2F63 ; [.C1A6.0020.0004.2F63] # KANGXI RADICAL LIFE
+1F222 ; [.C1A6.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64 ; [.D68B.0020.0004.2F64] # KANGXI RADICAL USE
+2F65 ; [.9245.0020.0004.2F65] # KANGXI RADICAL FIELD
+3199 ; [.A814.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.C125.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.9459.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
+2F66 ; [.852E.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
+2F67 ; [.93F9.0020.0004.2F67] # KANGXI RADICAL SICKNESS
+2F68 ; [.8046.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.80BD.0020.0004.2F69] # KANGXI RADICAL WHITE
+2F6A ; [.8504.0020.0004.2F6A] # KANGXI RADICAL SKIN
+2F6B ; [.890B.0020.0004.2F6B] # KANGXI RADICAL DISH
+32AC ; [.A9B3.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C ; [.8962.0020.0004.2F6C] # KANGXI RADICAL EYE
+2F6D ; [.8728.0020.0004.2F6D] # KANGXI RADICAL SPEAR
+2F6E ; [.BFA9.0020.0004.2F6E] # KANGXI RADICAL ARROW
+2F6F ; [.BF87.0020.0004.2F6F] # KANGXI RADICAL STONE
+2F70 ; [.BFBD.0020.0004.2F70] # KANGXI RADICAL SPIRIT
+3293 ; [.C05E.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
+3297 ; [.BA90.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232 ; [.AAB2.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71 ; [.C2BD.0020.0004.2F71] # KANGXI RADICAL TRACK
+2F72 ; [.A231.0020.0004.2F72] # KANGXI RADICAL GRAIN
+3299 ; [.8871.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
+2F73 ; [.B5ED.0020.0004.2F73] # KANGXI RADICAL CAVE
+1F233 ; [.A211.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74 ; [.9808.0020.0004.2F74] # KANGXI RADICAL STAND
+2F75 ; [.BA53.0020.0004.2F75] # KANGXI RADICAL BAMBOO
+3247 ; [.BA0D.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
+2F76 ; [.8856.0020.0004.2F76] # KANGXI RADICAL RICE
+2F77 ; [.8868.0020.0004.2F77] # KANGXI RADICAL SILK
+1F221 ; [.BB7F.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78 ; [.89F6.0020.0004.2F78] # KANGXI RADICAL JAR
+2F79 ; [.D3D1.0020.0004.2F79] # KANGXI RADICAL NET
+2F7A ; [.D08F.0020.0004.2F7A] # KANGXI RADICAL SHEEP
+2F7B ; [.D47D.0020.0004.2F7B] # KANGXI RADICAL FEATHER
+2F7C ; [.96B7.0020.0004.2F7C] # KANGXI RADICAL OLD
+2F7D ; [.CBA4.0020.0004.2F7D] # KANGXI RADICAL AND
+2F7E ; [.966B.0020.0004.2F7E] # KANGXI RADICAL PLOW
+2F7F ; [.CBBF.0020.0004.2F7F] # KANGXI RADICAL EAR
+2F80 ; [.D4AA.0020.0004.2F80] # KANGXI RADICAL BRUSH
+2F81 ; [.C2D4.0020.0004.2F81] # KANGXI RADICAL MEAT
+2F82 ; [.BD5B.0020.0004.2F82] # KANGXI RADICAL MINISTER
+2F83 ; [.C457.0020.0004.2F83] # KANGXI RADICAL SELF
+2F84 ; [.B766.0020.0004.2F84] # KANGXI RADICAL ARRIVE
+2F85 ; [.A96D.0020.0004.2F85] # KANGXI RADICAL MORTAR
+2F86 ; [.C053.0020.0004.2F86] # KANGXI RADICAL TONGUE
+2F87 ; [.BEE4.0020.0004.2F87] # KANGXI RADICAL OPPOSE
+2F88 ; [.B8B0.0020.0004.2F88] # KANGXI RADICAL BOAT
+2F89 ; [.9D94.0020.0004.2F89] # KANGXI RADICAL STOPPING
+2F8A ; [.C870.0020.0004.2F8A] # KANGXI RADICAL COLOR
+2F8B ; [.C6C2.0020.0004.2F8B] # KANGXI RADICAL GRASS
+2F8C ; [.A3B4.0020.0004.2F8C] # KANGXI RADICAL TIGER
+2F8D ; [.BF4A.0020.0004.2F8D] # KANGXI RADICAL INSECT
+2F8E ; [.B604.0020.0004.2F8E] # KANGXI RADICAL BLOOD
+2F8F ; [.B543.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
+2F90 ; [.CBE0.0020.0004.2F90] # KANGXI RADICAL CLOTHES
+2F91 ; [.CD9C.0020.0004.2F91] # KANGXI RADICAL WEST
+2F92 ; [.AA1C.0020.0004.2F92] # KANGXI RADICAL SEE
+2F93 ; [.A8EB.0020.0004.2F93] # KANGXI RADICAL HORN
+1F216 ; [.A898.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.CF21.0020.0004.2F94] # KANGXI RADICAL SPEECH
+2F95 ; [.9E07.0020.0004.2F95] # KANGXI RADICAL VALLEY
+2F96 ; [.8CD0.0020.0004.2F96] # KANGXI RADICAL BEAN
+2F97 ; [.BFAB.0020.0004.2F97] # KANGXI RADICAL PIG
+2F98 ; [.B76C.0020.0004.2F98] # KANGXI RADICAL BADGER
+2F99 ; [.80EB.0020.0004.2F99] # KANGXI RADICAL SHELL
+3296 ; [.C69F.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.8A4B.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE ; [.C421.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
+2F9A ; [.BBFE.0020.0004.2F9A] # KANGXI RADICAL RED
+2F9B ; [.C50C.0020.0004.2F9B] # KANGXI RADICAL RUN
+1F230 ; [.C50C.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C ; [.C571.0020.0004.2F9C] # KANGXI RADICAL FOOT
+2F9D ; [.C129.0020.0004.2F9D] # KANGXI RADICAL BODY
+2F9E ; [.BC58.0020.0004.2F9E] # KANGXI RADICAL CART
+2F9F ; [.B4AE.0020.0004.2F9F] # KANGXI RADICAL BITTER
+2FA0 ; [.BD5F.0020.0004.2FA0] # KANGXI RADICAL MORNING
+2FA1 ; [.BEA0.0020.0004.2FA1] # KANGXI RADICAL WALK
+1F22B ; [.CEBC.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.BFFC.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
+2FA2 ; [.CC9C.0020.0004.2FA2] # KANGXI RADICAL CITY
+2FA3 ; [.CECA.0020.0004.2FA3] # KANGXI RADICAL WINE
+2FA4 ; [.8308.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
+2FA5 ; [.97EB.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
+2FA6 ; [.AA72.0020.0004.2FA6] # KANGXI RADICAL GOLD
+328E ; [.AA72.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
+2FA7 ; [.B9D1.0020.0004.2FA7] # KANGXI RADICAL LONG
+2FA8 ; [.87B7.0020.0004.2FA8] # KANGXI RADICAL GATE
+2FA9 ; [.8BCB.0020.0004.2FA9] # KANGXI RADICAL MOUND
+2FAA ; [.9819.0020.0004.2FAA] # KANGXI RADICAL SLAVE
+2FAB ; [.BAFD.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC ; [.D47F.0020.0004.2FAC] # KANGXI RADICAL RAIN
+2FAD ; [.B01B.0020.0004.2FAD] # KANGXI RADICAL BLUE
+2FAE ; [.89A9.0020.0004.2FAE] # KANGXI RADICAL WRONG
+2FAF ; [.88EB.0020.0004.2FAF] # KANGXI RADICAL FACE
+2FB0 ; [.9C8F.0020.0004.2FB0] # KANGXI RADICAL LEATHER
+2FB1 ; [.D288.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
+2FB2 ; [.A965.0020.0004.2FB2] # KANGXI RADICAL LEEK
+2FB3 ; [.CFF8.0020.0004.2FB3] # KANGXI RADICAL SOUND
+2FB4 ; [.CDDC.0020.0004.2FB4] # KANGXI RADICAL LEAF
+32A0 ; [.B520.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
+2FB5 ; [.8AD5.0020.0004.2FB5] # KANGXI RADICAL WIND
+2FB6 ; [.89AA.0020.0004.2FB6] # KANGXI RADICAL FLY
+2FB7 ; [.BF93.0020.0004.2FB7] # KANGXI RADICAL EAT
+2FB8 ; [.C0B1.0020.0004.2FB8] # KANGXI RADICAL HEAD
+2FB9 ; [.B4E1.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
+2FBA ; [.8637.0020.0004.2FBA] # KANGXI RADICAL HORSE
+2FBB ; [.9E10.0020.0004.2FBB] # KANGXI RADICAL BONE
+2FBC ; [.9CEC.0020.0004.2FBC] # KANGXI RADICAL TALL
+2FBD ; [.82AD.0020.0004.2FBD] # KANGXI RADICAL HAIR
+2FBE ; [.8CD4.0020.0004.2FBE] # KANGXI RADICAL FIGHT
+2FBF ; [.BDCE.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.9C94.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
+2FC1 ; [.9EF1.0020.0004.2FC1] # KANGXI RADICAL GHOST
+2FC2 ; [.D436.0020.0004.2FC2] # KANGXI RADICAL FISH
+2FC3 ; [.9519.0020.0004.2FC3] # KANGXI RADICAL BIRD
+2FC4 ; [.9AD5.0020.0004.2FC4] # KANGXI RADICAL SALT
+2FC5 ; [.9AFD.0020.0004.2FC5] # KANGXI RADICAL DEER
+2FC6 ; [.86CC.0020.0004.2FC6] # KANGXI RADICAL WHEAT
+2FC7 ; [.862D.0020.0004.2FC7] # KANGXI RADICAL HEMP
+2FC8 ; [.A607.0020.0004.2FC8] # KANGXI RADICAL YELLOW
+2FC9 ; [.C20C.0020.0004.2FC9] # KANGXI RADICAL MILLET
+2FCA ; [.A2AD.0020.0004.2FCA] # KANGXI RADICAL BLACK
+2FCB ; [.B762.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.88E4.0020.0004.2FCC] # KANGXI RADICAL FROG
+2FCD ; [.8ED2.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
+2FCE ; [.9E1D.0020.0004.2FCE] # KANGXI RADICAL DRUM
+2FCF ; [.C210.0020.0004.2FCF] # KANGXI RADICAL RAT
+2FD0 ; [.81FB.0020.0004.2FD0] # KANGXI RADICAL NOSE
+2FD1 ; [.ADA1.0020.0004.2FD1] # KANGXI RADICAL EVEN
+2FD2 ; [.BBF7.0020.0004.2FD2] # KANGXI RADICAL TOOTH
+2FD3 ; [.9BE4.0020.0004.2FD3] # KANGXI RADICAL DRAGON
+2FD4 ; [.9ED7.0020.0004.2FD4] # KANGXI RADICAL TURTLE
+2EF3 ; [.9EB8.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.D560.0020.0004.2FD5] # KANGXI RADICAL FLUTE
+F967 ; [.8392.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.836F.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.BEEB.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.D334.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.8CEB.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.980B.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802 ; [.CC07.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B ; [.9BA8.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.9615.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.9A32.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.C151.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.834F.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8 ; [.9A9B.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.94AF.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.B546.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.9619.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.9811.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.D1B4.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.D1B4.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.935A.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.830C.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.8373.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.9BB2.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.C477.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.80FF.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.B522.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.98D4.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.C90E.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.C90E.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.D1CB.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.BF37.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.88D2.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.88D2.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.92F0.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.A627.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814 ; [.9422.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.B0F4.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.9A28.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.9953.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.ABF3.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.A7A9.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.C4C2.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.874F.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.88DA.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.C3F9.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.D571.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.8FE3.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.A1F5.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.A1F5.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.9793.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.9A18.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.9A51.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.99F8.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.B1BC.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.AF59.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.C305.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.AE24.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.AE24.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.98A1.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.980C.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.C66A.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.A014.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.9B64.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.9C7B.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.BD2E.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.9926.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.9804.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.98A2.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.969D.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.D671.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.D671.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.88D5.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.88D5.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.964C.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.96A5.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.AFAD.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.AFAD.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.985C.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.C096.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.C096.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.811B.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.C7B7.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.80E5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.80E5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.94CA.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.A518.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.80D7.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.80D7.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.807E.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.A6FF.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.9BA5.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.A70A.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.B020.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.B020.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.B020.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.C6D2.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.A6FB.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.C8D2.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.ABEE.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.A922.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.BBFA.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.CE13.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.9809.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.9A03.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.B16A.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.9C24.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.BDFE.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.B8B3.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C ; [.B473.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.CA56.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.CF9A.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.8891.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.9144.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.ADCE.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.90B6.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.B415.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.C100.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.C100.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.95E6.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.A52B.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.A52B.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.A22D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.A22D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.BBB6.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.B7F6.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.A422.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.CE34.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.D21D.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.912C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.912C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.A2BD.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.ADFD.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.847B.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.9A44.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.92DB.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.92DC.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855 ; [.B548.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.BE03.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.B720.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.92F2.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.8151.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.C642.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.85EA.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.BB92.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.BB92.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.C892.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.86A0.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.8E0D.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.8A7A.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.9679.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.9C0B.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.BB63.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.86C6.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.A3DA.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C ; [.8AFA.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.8F35.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.882A.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.CF5B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.9410.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.ADE9.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8193.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.C04A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.95CC.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.8598.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.A6AD.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.D42A.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.935B.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.8232.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.8BDA.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.D15F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.C2B1.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.C657.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.9741.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.9741.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.B874.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.D575.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.B7AB.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.9570.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.9570.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.9570.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.98DC.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.8143.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.C0B3.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.AAD5.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.CE9E.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.9522.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.92CA.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.9C34.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.C71D.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.9C36.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.BC63.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.BC63.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.AEFF.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.B3C8.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.9BB6.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.CF66.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.970A.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.C416.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.8E87.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.BD30.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.B1BE.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.9A9A.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.B68C.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.BC98.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.B6C0.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.C26F.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.8758.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.8A7B.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.9537.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.8F28.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.8372.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.8233.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.C22B.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.996E.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.9766.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.9766.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.CAF7.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.A11E.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.CCFF.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.9AB9.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.9FBB.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.95C8.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.9097.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.9097.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874 ; [.8D4C.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.B544.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.C6A8.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.8E55.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.9C41.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C ; [.8FF3.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.8BDF.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.CE36.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.C2FD.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.B768.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.9551.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.A1E7.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.958F.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.9965.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.A524.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.D572.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.A510.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.A510.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.8FBB.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.D3D6.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.CA70.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.D4DB.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.9846.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.C64C.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.A5FA.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.A5FA.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.C178.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.C178.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.CB23.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.A03D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.96E1.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.C55C.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.C55C.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.C55C.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.997C.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.8A96.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.C6EB.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.B498.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.8803.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.BE2C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.BE2C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.BE2C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.9742.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.9742.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.99C4.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.BDFC.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.A802.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.9B16.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.8C7A.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4 ; [.A0E3.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5 ; [.814B.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.95DB.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.93DB.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.9037.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.801D.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.8599.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.C00F.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.D348.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.ACA2.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.C05A.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.9540.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.C8AF.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.CA67.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.CF63.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.D43E.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.CF39.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.A70F.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.C8BD.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.AAB0.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.8365.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.865D.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.A904.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.AB0A.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.9546.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.A4F3.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.9ADE.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.8915.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.8915.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.CAF2.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.AB74.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.C23A.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.9905.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.9C2B.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.A775.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.A789.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.CCA3.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.AAA5.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.B034.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.B034.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.D5E6.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.C20B.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.C20B.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.AAB8.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.8156.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.9855.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.9DDE.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.C1E5.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.C5BD.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.9775.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.9775.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.9775.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.D3E7.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.D3E7.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.C5F8.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.9897.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.82A9.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.B9DA.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.ADC7.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.BCDE.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.A6A7.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.99CA.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.9944.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.9EAD.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.9826.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.8196.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1 ; [.C902.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.9A19.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.86DF.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.86DF.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.CAEF.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.979F.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.C417.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.B7F9.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.CE3D.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.9CE5.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.9610.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.9610.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.9610.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.96E3.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.C052.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.9AE5.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.B7D3.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.9726.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.C667.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.B58D.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.C9AB.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.9856.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.8C53.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.D380.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.99BD.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.C025.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.C025.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.C025.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.AE8A.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.8A3E.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.AF01.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.BD5D.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.CF25.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.886C.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.8194.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.9490.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.D193.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.9B72.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.900E.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.85C8.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.83F9.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.9912.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.9912.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.9912.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.A2D9.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.9781.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.A29A.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.A29A.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.AAA7.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.94E1.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.99D1.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.9688.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.9BB8.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.CF08.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.BA70.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.9DB6.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.CF0D.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.990C.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.94CE.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8E88.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.C419.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.C419.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.A44F.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.D03B.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.96FC.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.A368.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.A368.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.9974.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.BCA0.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.8A7C.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.9751.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.9C51.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.D142.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.AB83.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.AB83.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.D563.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.AF57.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.A4D6.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.BB35.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.C4B5.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.B774.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.9126.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.98B0.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.96C6.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.8FAD.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.99B6.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.BA72.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.BA72.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.C7CA.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.98E3.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.99E0.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.9AC1.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.9753.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.C7A8.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49 ; [.B8AD.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E ; [.AC81.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.AC81.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922 ; [.B809.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946 ; [.969F.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.B19A.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.810B.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.8A3C.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.BB66.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.975E.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.BA3A.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.BA3A.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.98C3.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.9034.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.9C43.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.9C43.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.D3CA.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.D544.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.9A4F.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.9B76.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.97F2.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.9914.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.C58E.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.8C72.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.D44E.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.D131.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.B9AB.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.B9AB.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.C979.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.999F.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.99E1.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.B15E.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2 ; [.C64D.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934 ; [.C397.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3 ; [.A462.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.C4B7.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.9915.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.CA68.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.CCD0.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.CCD0.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.983F.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.D494.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.9F2F.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.D382.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.98E8.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.9649.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.CCC7.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.CCC7.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.C1CA.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.9AB5.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.B71A.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.B71A.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.C1C2.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.B959.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.B95A.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.B95A.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.B869.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.ACC5.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.ACC5.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.BD55.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.AE77.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.B54F.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.9918.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.9B0A.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.9B0A.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.80DF.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.9673.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.9259.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.9259.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.845F.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.9878.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.97EA.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.C05E.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.AD73.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.B757.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.CEF0.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.C583.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.C583.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.BA90.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.C153.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.B4FF.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.9B0B.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.A4A7.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.B971.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.8B8D.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.8B8D.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.97FC.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.9538.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.C201.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.978F.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.9E24.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.9E24.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.A79C.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.D3B2.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.92B6.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.9231.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.9808.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.85BC.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.9833.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.A87C.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.A87C.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.BB3E.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.BA5F.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.9992.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.9BF8.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE ; [.9686.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.9834.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.AB32.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.8114.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.915F.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.C8EE.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.9A24.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.AB10.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.A778.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.952E.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.C970.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.9689.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.90A1.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.81D3.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.9C4A.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.9A73.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.C427.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.99BA.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.99BA.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.99BA.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.C61F.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.AAC3.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.9C3C.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.8A28.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.C8A7.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.85D7.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.C20E.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.97C3.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.BCA2.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.9B52.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.D0D3.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.9A62.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.D47D.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.CB06.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.96B7.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.B856.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.B856.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.B856.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.9A64.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.85BA.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.9989.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.C7D5.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.9BF9.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.9600.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.93E7.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.D4B0.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.C780.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.851D.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.95F4.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.99E7.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.BCE6.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.D42F.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.D42F.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.B23F.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D ; [.9F3F.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.9A16.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.C6CB.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.C6CB.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.D4AD.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.ADCA.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.B6F7.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.A43F.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.8AA5.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.CD7E.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.C386.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.C386.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.A0F5.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.BC82.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.D198.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.BC3C.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.A5F7.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.85CF.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.C3D3.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.A86D.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.87E9.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.9B03.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.ABC4.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.ACE3.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.C6B0.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.8DE0.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.A44D.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.9A69.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.9B7C.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.CDE9.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.B86A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.B86A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.9980.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.85DC.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.AA97.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.98FD.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.C74F.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.C399.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.971B.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.9A11.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.9AC4.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.AEF5.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.9728.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.9B5D.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.95D6.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.9AD8.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.9AD8.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.A14D.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.B256.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8 ; [.AF15.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.BBB2.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.85D9.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.D57F.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.8E3B.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.BA44.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.D5EE.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.D5EE.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.C674.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.9B51.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.9EFE.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.B510.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.95F9.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.B543.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3 ; [.BB4D.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.CBE0.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.98B8.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.97F6.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.9919.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.C276.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.989C.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.9B67.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.CF76.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.A282.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.B011.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.9724.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.8BFE.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.AA1C.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.BFE1.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.BFE1.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.BE22.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.C24F.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.C24F.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.8E75.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.B047.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.9A3C.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.9BCB.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.D502.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.D502.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.BA48.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.BA48.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.95A4.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.95A4.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.CDF9.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.CDF9.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.AA9A.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.AA9A.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.C017.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.8F10.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.831E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.831E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.ADCC.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.BFAB.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.9F4B.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.8245.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.9B0D.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.A822.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.8331.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.C56B.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.C56B.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.9D8F.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.ADCD.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.A9FA.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.8024.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.9B0E.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.8589.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.BC58.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.C321.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.9549.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.9BC2.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.C1FB.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.C1FB.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.8B97.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.988A.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.C64B.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.BD5F.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.BE9F.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A ; [.996B.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.CCEA.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.CCEA.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.BBE0.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.98E6.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.9B5E.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.ADC4.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.975C.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.975F.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.85CC.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.8CC2.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.C423.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.BC9D.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.96C8.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.C8CB.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.97FF.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.97EB.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.9A3A.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.AA72.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.9A6E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.8086.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.B553.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.8369.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.B62C.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.A455.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.9B23.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.99BE.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.B013.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.C516.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.A032.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.9C1F.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.C083.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.C3B3.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.96FA.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.AB03.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.9A68.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.9AFC.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.BA71.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.9BDC.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.99DD.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.9859.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.985F.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.AF18.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.97D0.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.9467.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.9467.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.9A70.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.964D.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.D625.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.9B37.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.9A8D.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.AB77.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.AB77.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9 ; [.80D4.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.8286.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.B512.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.B512.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB ; [.CA47.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.CA47.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.CA47.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.9A99.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.85BD.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.85A6.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.85A6.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.9693.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.A6B2.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8A4D.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.C84E.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.9F41.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.CA8F.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.D5F2.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.813C.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.9B82.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.9361.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.97E7.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.B997.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.B997.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.9ADD.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.A7C3.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.99F1.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.A9BB.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.8528.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.A28C.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.9B3A.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.9BA4.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.9AFD.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.9871.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.99F2.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.862D.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.97C2.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.B762.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.88D4.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19 ; [.B715.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A ; [.8885.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.8A85.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.81FB.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.CA9A.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.9BE4.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.8497.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.9ED7.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.9ED7.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.9ED7.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2F81F ; [.8505.0020.0002.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F888 ; [.87AA.0020.0002.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F8D0 ; [.D37C.0020.0002.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.D2E0.0020.0002.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.A447.0020.0002.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+2F8EE ; [.CC56.0020.0002.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F90A ; [.9C08.0020.0002.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F92C ; [.85CD.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.85CD.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+FAD4 ; [.A871.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.A871.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F960 ; [.85E0.0020.0002.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F96D ; [.CE1D.0020.0002.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F8D7 ; [.9118.0020.0002.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2FA0E ; [.A746.0020.0002.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
ENTRY
};
diff --git a/gnu/usr.bin/perl/cpan/Unicode-Collate/t/ident.t b/gnu/usr.bin/perl/cpan/Unicode-Collate/t/ident.t
index 0b5ddb397db..4f132d4ec1f 100644
--- a/gnu/usr.bin/perl/cpan/Unicode-Collate/t/ident.t
+++ b/gnu/usr.bin/perl/cpan/Unicode-Collate/t/ident.t
@@ -1,11 +1,8 @@
BEGIN {
- unless ('A' eq pack('U', 0x41)) {
- print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
- exit 0;
- }
- unless (0x41 == unpack('U', 'A')) {
- print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+ unless ("A" eq pack('U', 0x41)) {
+ print "1..0 # Unicode::Collate " .
+ "cannot stringify a Unicode code point\n";
exit 0;
}
if ($ENV{PERL_CORE}) {
diff --git a/gnu/usr.bin/perl/dist/Data-Dumper/t/quotekeys.t b/gnu/usr.bin/perl/dist/Data-Dumper/t/quotekeys.t
index a85882890bd..c633d56d64a 100644
--- a/gnu/usr.bin/perl/dist/Data-Dumper/t/quotekeys.t
+++ b/gnu/usr.bin/perl/dist/Data-Dumper/t/quotekeys.t
@@ -15,7 +15,7 @@ BEGIN {
use strict;
use Data::Dumper;
-use Test::More tests => 18;
+use Test::More tests => 10;
use lib qw( ./t/lib );
use Testing qw( _dumptostr );
@@ -90,46 +90,5 @@ sub run_tests_for_quotekeys {
isnt($dumps{'ddqkzero'}, $dumps{'objqkundef'},
"\$Data::Dumper::Quotekeys = undef and = 0 are equivalent");
%dumps = ();
-
- local $Data::Dumper::Quotekeys = 1;
- local $Data::Dumper::Sortkeys = 1;
- local $Data::Dumper::Indent = 0;
- local $Data::Dumper::Useqq = 0;
-
- my %qkdata =
- (
- 0 => 1,
- '012345' => 1,
- 12 => 1,
- 123456789 => 1,
- 1234567890 => 1,
- '::de::fg' => 1,
- ab => 1,
- 'hi::12' => 1,
- "1\x{660}" => 1,
- );
-
- is(Dumper(\%qkdata),
- q($VAR1 = {'0' => 1,'012345' => 1,'12' => 1,'123456789' => 1,'1234567890' => 1,"1\x{660}" => 1,'::de::fg' => 1,'ab' => 1,'hi::12' => 1};),
- "always quote when quotekeys true");
-
- {
- local $Data::Dumper::Useqq = 1;
- is(Dumper(\%qkdata),
- q($VAR1 = {"0" => 1,"012345" => 1,"12" => 1,"123456789" => 1,"1234567890" => 1,"1\x{660}" => 1,"::de::fg" => 1,"ab" => 1,"hi::12" => 1};),
- "always quote when quotekeys true (useqq)");
- }
-
- local $Data::Dumper::Quotekeys = 0;
-
- is(Dumper(\%qkdata),
- q($VAR1 = {0 => 1,'012345' => 1,12 => 1,123456789 => 1,'1234567890' => 1,"1\x{660}" => 1,'::de::fg' => 1,ab => 1,'hi::12' => 1};),
- "avoid quotes when quotekeys false");
- {
- local $Data::Dumper::Useqq = 1;
- is(Dumper(\%qkdata),
- q($VAR1 = {0 => 1,"012345" => 1,12 => 1,123456789 => 1,"1234567890" => 1,"1\x{660}" => 1,"::de::fg" => 1,ab => 1,"hi::12" => 1};),
- "avoid quotes when quotekeys false (useqq)");
- }
}
diff --git a/gnu/usr.bin/perl/ext/XS-APItest/t/handy.t b/gnu/usr.bin/perl/ext/XS-APItest/t/handy.t
index ef7ace99ecc..eb620ec942d 100644
--- a/gnu/usr.bin/perl/ext/XS-APItest/t/handy.t
+++ b/gnu/usr.bin/perl/ext/XS-APItest/t/handy.t
@@ -1,23 +1,18 @@
#!perl -w
-BEGIN {
- require 'loc_tools.pl'; # Contains find_utf8_ctype_locale()
-}
-
use strict;
use Test::More;
use Config;
use XS::APItest;
-use Unicode::UCD qw(prop_invlist prop_invmap);
+use Unicode::UCD qw(prop_invlist);
sub truth($) { # Converts values so is() works
return (shift) ? 1 : 0;
}
my $locale;
-my $utf8_locale;
if($Config{d_setlocale}) {
require POSIX;
$locale = POSIX::setlocale( &POSIX::LC_ALL, "C");
@@ -36,8 +31,6 @@ if($Config{d_setlocale}) {
last;
}
}
-
- $utf8_locale = find_utf8_ctype_locale();
}
}
@@ -101,11 +94,10 @@ foreach my $name (sort keys %properties) {
push @code_points, 0x110000; # Above Unicode, no prop should match
no warnings 'non_unicode';
- for my $j (@code_points) {
- my $i = utf8::native_to_unicode($j);
+ for my $i (@code_points) {
my $function = uc($name);
- my $matches = Unicode::UCD::search_invlist(\@invlist, $i);
+ my $matches = Unicode::UCD::_search_invlist(\@invlist, $i);
if (! defined $matches) {
$matches = 0;
}
@@ -156,30 +148,13 @@ foreach my $name (sort keys %properties) {
if (defined $locale) {
require locale; import locale;
- POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = truth eval "test_is${function}_LC($i)";
if ($@) {
fail($@);
}
else {
my $truth = truth($matches && $i < 128);
- is ($ret, $truth, "is${function}_LC( $display_name ) == $truth (C locale)");
- }
- }
-
- if (defined $utf8_locale) {
- use locale;
-
- POSIX::setlocale( &POSIX::LC_ALL, $utf8_locale);
- $ret = truth eval "test_is${function}_LC($i)";
- if ($@) {
- fail($@);
- }
- else {
-
- # UTF-8 locale works on full range 0-255
- my $truth = truth($matches && $i < 256);
- is ($ret, $truth, "is${function}_LC( $display_name ) == $truth ($utf8_locale)");
+ is ($ret, $truth, "is${function}_LC( $display_name ) == $truth");
}
}
}
@@ -195,28 +170,13 @@ foreach my $name (sort keys %properties) {
if (defined $locale && $name ne 'vertws') {
require locale; import locale;
- POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = truth eval "test_is${function}_LC_uvchr('$i')";
if ($@) {
fail($@);
}
else {
my $truth = truth($matches && ($i < 128 || $i > 255));
- is ($ret, $truth, "is${function}_LC_uvchr( $display_name ) == $truth (C locale)");
- }
- }
-
- if (defined $utf8_locale && $name ne 'vertws') {
- use locale;
-
- POSIX::setlocale( &POSIX::LC_ALL, $utf8_locale);
- $ret = truth eval "test_is${function}_LC_uvchr('$i')";
- if ($@) {
- fail($@);
- }
- else {
- my $truth = truth($matches);
- is ($ret, $truth, "is${function}_LC_uvchr( $display_name ) == $truth ($utf8_locale)");
+ is ($ret, $truth, "is${function}_LC_uvchr( $display_name ) == $truth");
}
}
@@ -234,210 +194,15 @@ foreach my $name (sort keys %properties) {
if ($name ne 'vertws' && defined $locale) {
require locale; import locale;
- POSIX::setlocale( &POSIX::LC_ALL, "C");
$ret = truth eval "test_is${function}_LC_utf8('$char')";
if ($@) {
fail($@);
}
else {
my $truth = truth($matches && ($i < 128 || $i > 255));
- is ($ret, $truth, "is${function}_LC_utf8( $display_name ) == $truth (C locale)");
- }
- }
-
- if ($name ne 'vertws' && defined $utf8_locale) {
- use locale;
-
- POSIX::setlocale( &POSIX::LC_ALL, $utf8_locale);
- $ret = truth eval "test_is${function}_LC_utf8('$char')";
- if ($@) {
- fail($@);
- }
- else {
- my $truth = truth($matches);
- is ($ret, $truth, "is${function}_LC_utf8( $display_name ) == $truth ($utf8_locale)");
- }
- }
- }
-}
-
-my %to_properties = (
- FOLD => 'Case_Folding',
- LOWER => 'Lowercase_Mapping',
- TITLE => 'Titlecase_Mapping',
- UPPER => 'Uppercase_Mapping',
- );
-
-
-foreach my $name (sort keys %to_properties) {
- my $property = $to_properties{$name};
- my ($list_ref, $map_ref, $format, $missing)
- = prop_invmap($property, );
- if (! $list_ref || ! $map_ref) {
- fail("No inversion map found for $property");
- next;
- }
- if ($format ne "al") {
- fail("Unexpected inversion map format ('$format') found for $property");
- next;
- }
-
- # Include all the Latin1 code points, plus 0x100.
- my @code_points = (0 .. 256);
-
- # Then include the next few multi-char folds above those from this
- # property, and include the next few single folds as well
- my $above_latins = 0;
- my $multi_char = 0;
- for my $i (0 .. @{$list_ref} - 1) {
- my $range_start = $list_ref->[$i];
- next if $range_start < 257;
- if (ref $map_ref->[$i] && $multi_char < 5) {
- push @code_points, $range_start - 1 if $code_points[-1] != $range_start - 1;
- push @code_points, $range_start;
- $multi_char++;
- }
- elsif ($above_latins < 5) {
- push @code_points, $range_start - 1 if $code_points[-1] != $range_start - 1;
- push @code_points, $range_start;
- $above_latins++;
- }
- last if $above_latins >= 5 && $multi_char >= 5;
- }
-
- # And finally one non-Unicode code point.
- push @code_points, 0x110000; # Above Unicode, no prop should match
- no warnings 'non_unicode';
-
- # $j is native; $i unicode.
- for my $j (@code_points) {
- my $i = utf8::native_to_unicode($j);
- my $function = $name;
-
- my $index = Unicode::UCD::search_invlist(\@{$list_ref}, $j);
-
- my $ret;
- my $char_name = charnames::viacode($j) // "No name";
- my $display_name = sprintf "\\N{U+%02X, %s}", $i, $char_name;
-
- # Test the base function
- $ret = eval "test_to${function}($j)";
- if ($@) {
- fail($@);
- }
- else {
- my $should_be = ($i < 128 && $map_ref->[$index] != $missing)
- ? $map_ref->[$index] + $j - $list_ref->[$index]
- : $j;
- is ($ret, $should_be, sprintf("to${function}( $display_name ) == 0x%02X", $should_be));
- }
-
- # Test _L1
- if ($name eq 'LOWER') {
- $ret = eval "test_to${function}_L1($j)";
- if ($@) {
- fail($@);
- }
- else {
- my $should_be = ($i < 256 && $map_ref->[$index] != $missing)
- ? $map_ref->[$index] + $j - $list_ref->[$index]
- : $j;
- is ($ret, $should_be, sprintf("to${function}_L1( $display_name ) == 0x%02X", $should_be));
- }
- }
-
- if ($name ne 'TITLE') { # Test _LC; titlecase is not defined in locales.
- if (defined $locale) {
- require locale; import locale;
-
- POSIX::setlocale( &POSIX::LC_ALL, "C");
- $ret = eval "test_to${function}_LC($j)";
- if ($@) {
- fail($@);
- }
- else {
- my $should_be = ($i < 128 && $map_ref->[$index] != $missing)
- ? $map_ref->[$index] + $j - $list_ref->[$index]
- : $j;
- is ($ret, $should_be, sprintf("to${function}_LC( $display_name ) == 0x%02X (C locale)", $should_be));
- }
- }
-
- if (defined $utf8_locale) {
- use locale;
-
- SKIP: {
- skip "to${property}_LC does not work for LATIN SMALL LETTER SHARP S", 1
- if $j == 0xDF && ($name eq 'FOLD' || $name eq 'UPPER');
-
- POSIX::setlocale( &POSIX::LC_ALL, $utf8_locale);
- $ret = eval "test_to${function}_LC($j)";
- if ($@) {
- fail($@);
- }
- else {
- my $should_be = ($i < 256
- && ! ref $map_ref->[$index]
- && $map_ref->[$index] != $missing
- )
- ? $map_ref->[$index] + $j - $list_ref->[$index]
- : $j;
- is ($ret, $should_be, sprintf("to${function}_LC( $display_name ) == 0x%02X ($utf8_locale)", $should_be));
- }
- }
+ is ($ret, $truth, "is${function}_LC_utf8( $display_name ) == $truth");
}
}
-
- # The _uni and _utf8 functions return both the ordinal of the first
- # code point of the result, and the result in utf8. The .xs tests
- # return these in an array, in [0] and [1] respectively, with [2] the
- # length of the utf8 in bytes.
- my $utf8_should_be = "";
- my $first_ord_should_be;
- if (ref $map_ref->[$index]) { # A multi-char result
- for my $j (0 .. @{$map_ref->[$index]} - 1) {
- $utf8_should_be .= chr $map_ref->[$index][$j];
- }
-
- $first_ord_should_be = $map_ref->[$index][0];
- }
- else { # A single-char result
- $first_ord_should_be = ($map_ref->[$index] != $missing)
- ? $map_ref->[$index] + $j - $list_ref->[$index]
- : $j;
- $utf8_should_be = chr $first_ord_should_be;
- }
- utf8::upgrade($utf8_should_be);
-
- # Test _uni
- my $s;
- my $len;
- $ret = eval "test_to${function}_uni($j)";
- if ($@) {
- fail($@);
- }
- else {
- is ($ret->[0], $first_ord_should_be, sprintf("to${function}_uni( $display_name ) == 0x%02X", $first_ord_should_be));
- is ($ret->[1], $utf8_should_be, sprintf("utf8 of to${function}_uni( $display_name )"));
- use bytes;
- is ($ret->[2], length $utf8_should_be, sprintf("number of bytes in utf8 of to${function}_uni( $display_name )"));
- }
-
- # Test _utf8
- my $char = chr($j);
- utf8::upgrade($char);
- $char = quotemeta $char if $char eq '\\' || $char eq "'";
- $ret = eval "test_to${function}_utf8('$char')";
- if ($@) {
- fail($@);
- }
- else {
- is ($ret->[0], $first_ord_should_be, sprintf("to${function}_utf8( $display_name ) == 0x%02X", $first_ord_should_be));
- is ($ret->[1], $utf8_should_be, sprintf("utf8 of to${function}_utf8( $display_name )"));
- use bytes;
- is ($ret->[2], length $utf8_should_be, sprintf("number of bytes in utf8 of to${function}_uni( $display_name )"));
- }
-
}
}
diff --git a/gnu/usr.bin/perl/inline_invlist.c b/gnu/usr.bin/perl/inline_invlist.c
index 1aea9f7258e..b56ce60002f 100644
--- a/gnu/usr.bin/perl/inline_invlist.c
+++ b/gnu/usr.bin/perl/inline_invlist.c
@@ -8,26 +8,47 @@
#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))
-/* This converts to/from our UVs to what the SV code is expecting: bytes. */
-#define TO_INTERNAL_SIZE(x) ((x) * sizeof(UV))
-#define FROM_INTERNAL_SIZE(x) ((x)/ sizeof(UV))
-
-PERL_STATIC_INLINE bool*
-S_get_invlist_offset_addr(pTHX_ SV* invlist)
+PERL_STATIC_INLINE UV*
+S__get_invlist_len_addr(pTHX_ SV* invlist)
{
- /* Return the address of the field that says whether the inversion list is
- * offset (it contains 1) or not (contains 0) */
-
- PERL_ARGS_ASSERT_GET_INVLIST_OFFSET_ADDR;
+ /* Return the address of the UV that contains the current number
+ * of used elements in the inversion list */
- assert(SvTYPE(invlist) == SVt_INVLIST);
+ PERL_ARGS_ASSERT__GET_INVLIST_LEN_ADDR;
- return &(((XINVLIST*) SvANY(invlist))->is_offset);
+ return (UV *) (SvPVX(invlist) + (INVLIST_LEN_OFFSET * sizeof (UV)));
}
PERL_STATIC_INLINE UV
@@ -38,11 +59,7 @@ S__invlist_len(pTHX_ SV* const invlist)
PERL_ARGS_ASSERT__INVLIST_LEN;
- assert(SvTYPE(invlist) == SVt_INVLIST);
-
- return (SvCUR(invlist) == 0)
- ? 0
- : FROM_INTERNAL_SIZE(SvCUR(invlist)) - *get_invlist_offset_addr(invlist);
+ return *_get_invlist_len_addr(invlist);
}
PERL_STATIC_INLINE bool
@@ -57,11 +74,4 @@ S__invlist_contains_cp(pTHX_ SV* const invlist, const UV cp)
return index >= 0 && ELEMENT_RANGE_MATCHES_INVLIST(index);
}
-# if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGEXEC_C)
-
-/* These symbols are only needed later in regcomp.c */
-# undef TO_INTERNAL_SIZE
-# undef FROM_INTERNAL_SIZE
-# endif
-
#endif
diff --git a/gnu/usr.bin/perl/regen/regcharclass_multi_char_folds.pl b/gnu/usr.bin/perl/regen/regcharclass_multi_char_folds.pl
index 7a4c2a6d960..f0fd6b3a892 100644
--- a/gnu/usr.bin/perl/regen/regcharclass_multi_char_folds.pl
+++ b/gnu/usr.bin/perl/regen/regcharclass_multi_char_folds.pl
@@ -71,7 +71,7 @@ sub multi_char_folds ($) {
# for ascii chars in EXACTFA (and EXACTFL) nodes. But I (khw) doubt
# that there will ever be such a fold created by Unicode, so the code
# isn't there to occupy space and time; instead there is this check.
- die sprintf("regcomp.c can't cope with a latin1 multi-char fold (found in the fold of 0x%X", $cp_ref->[$i]) if grep { $_ < 256 && chr($_) !~ /[[:ascii:]]/ } @{$folds_ref->[$i]};
+ die sprintf("regcomp.c can't cope with a latin1 multi-char fold (found in the fold of U+%X", $cp_ref->[$i]) if grep { $_ < 256 && chr($_) !~ /[[:ascii:]]/ } @{$folds_ref->[$i]};
# Create a line that looks like "\x{foo}\x{bar}\x{baz}" of the code
# points that make up the fold.
@@ -104,29 +104,6 @@ sub multi_char_folds ($) {
}
}
- # \x17F is the small LONG S, which folds to 's'. Both Capital and small
- # LATIN SHARP S fold to 'ss'. Therefore, they should also match two 17F's
- # in a row under regex /i matching. But under /iaa regex matching, all
- # three folds to 's' are prohibited, but the sharp S's should still match
- # two 17F's. This prohibition causes our regular regex algorithm that
- # would ordinarily allow this match to fail. This is the only instance in
- # all Unicode of this kind of issue. By adding a special case here, we
- # can use the regular algorithm (with some other changes elsewhere as
- # well).
- #
- # It would be possible to re-write the above code to automatically detect
- # and handle this case, and any others that might eventually get added to
- # the Unicode standard, but I (khw) don't think it's worth it. I believe
- # that it's extremely unlikely that more folds to ASCII characters are
- # going to be added, and if I'm wrong, fold_grind.t has the intelligence
- # to detect them, and test that they work, at which point another special
- # case could be added here if necessary.
- #
- # No combinations of this with 's' need be added, as any of these
- # containing 's' are prohibted under /iaa.
- push @folds, "\"\x{17F}\x{17F}\"";
-
-
return @folds;
}
diff --git a/gnu/usr.bin/perl/regen/unicode_constants.pl b/gnu/usr.bin/perl/regen/unicode_constants.pl
index a953f2b025a..1977fbdfc55 100644
--- a/gnu/usr.bin/perl/regen/unicode_constants.pl
+++ b/gnu/usr.bin/perl/regen/unicode_constants.pl
@@ -140,26 +140,19 @@ print $out_fh "\n#endif /* H_UNICODE_CONSTANTS */\n";
read_only_bottom_close_and_rename($out_fh);
__DATA__
-U+017F string
U+0300 string
+U+0301 string
+U+0308 string
-U+0399 string
-U+03BC string
+U+03B9 string
-U+1E9E string
-
-U+FB05 string
-U+FB06 string
+U+03C5 string
U+2010 string
U+D800 first FIRST_SURROGATE
-BOM first
-BOM tail
DEL native
-CR native
-LF native
U+00DF native
U+00E5 native
U+00C5 native
diff --git a/gnu/usr.bin/perl/t/lib/croak/toke b/gnu/usr.bin/perl/t/lib/croak/toke
index 0572094e5f6..8e4b0338a30 100644
--- a/gnu/usr.bin/perl/t/lib/croak/toke
+++ b/gnu/usr.bin/perl/t/lib/croak/toke
@@ -9,12 +9,6 @@ eval "s//<<foo/e"; die $@
EXPECT
Can't find string terminator "foo" anywhere before EOF at (eval 1) line 1.
########
-# NAME /\N{/
-/\N{/
-EXPECT
-Missing right brace on \N{} or unescaped left brace after \N at - line 1, within pattern
-Execution of - aborted due to compilation errors.
-########
# NAME Missing name in "my sub"
use feature 'lexical_subs'; my sub;
EXPECT
@@ -134,18 +128,3 @@ Execution of - aborted due to compilation errors.
<<"foo
EXPECT
Unterminated delimiter for here document at - line 1.
-########
-# NAME Unterminated qw//
-qw/
-EXPECT
-Can't find string terminator "/" anywhere before EOF at - line 1.
-########
-# NAME Unterminated q//
-qw/
-EXPECT
-Can't find string terminator "/" anywhere before EOF at - line 1.
-########
-# NAME Unterminated ''
-'
-EXPECT
-Can't find string terminator "'" anywhere before EOF at - line 1.
diff --git a/gnu/usr.bin/perl/t/op/for.t b/gnu/usr.bin/perl/t/op/for.t
index 2ac0fc8820c..0571380300a 100644
--- a/gnu/usr.bin/perl/t/op/for.t
+++ b/gnu/usr.bin/perl/t/op/for.t
@@ -4,7 +4,7 @@ BEGIN {
require "test.pl";
}
-plan(106);
+plan(104);
# A lot of tests to check that reversed for works.
@@ -562,20 +562,3 @@ TODO: {
todo_skip("RT #2166: foreach spuriously autovivifies");
}
}
-
-sub {
- foreach (@_) {
- is eval { \$_ }, \undef, 'foreach (@array_containing_undef)'
- }
-}->(undef);
-
-SKIP: {
- skip "No XS::APItest under miniperl", 1, if is_miniperl;
- skip "no XS::APItest", 1 if !eval { require XS::APItest };
- my @a;
- sub {
- XS::APItest::alias_av(\@a, 0, undef);
- eval { \$_[0] }
- }->($a[0]);
- is $@, "", 'vivify_defelem does not croak on &PL_sv_undef elements';
-}
diff --git a/gnu/usr.bin/perl/t/op/heredoc.t b/gnu/usr.bin/perl/t/op/heredoc.t
index a239e926e6b..08b0af2c2d0 100644
--- a/gnu/usr.bin/perl/t/op/heredoc.t
+++ b/gnu/usr.bin/perl/t/op/heredoc.t
@@ -7,7 +7,7 @@ BEGIN {
}
use strict;
-plan(tests => 39);
+plan(tests => 9);
# heredoc without newline (#65838)
@@ -69,19 +69,12 @@ HEREDOC
"string terminator must start at newline"
);
- # Loop over various lengths to try to force at least one to cause a
- # reallocation in S_scan_heredoc()
- # Timing on a modern machine suggests that this loop executes in less than
- # 0.1s, so it's a very small cost for the default build. The benefit is
- # that building with ASAN will reveal the bug and any related regressions.
- for (1..31) {
- fresh_perl_like(
- "print <<;\n" . "x" x $_,
- qr/find string terminator/,
- { switches => ['-X'] },
- "empty string terminator still needs a newline (length $_)"
- );
- }
+ fresh_perl_like(
+ "print <<;\nno more newlines",
+ qr/find string terminator/,
+ { switches => ['-X'] },
+ "empty string terminator still needs a newline"
+ );
fresh_perl_like(
"print <<ThisTerminatorIsLongerThanTheData;\nno more newlines",
diff --git a/gnu/usr.bin/perl/t/op/lexsub.t b/gnu/usr.bin/perl/t/op/lexsub.t
index 8cfbab11ade..0141399020c 100644
--- a/gnu/usr.bin/perl/t/op/lexsub.t
+++ b/gnu/usr.bin/perl/t/op/lexsub.t
@@ -7,7 +7,8 @@ BEGIN {
*bar::is = *is;
*bar::like = *like;
}
-plan 126;
+no warnings 'deprecated';
+plan 136;
# -------------------- Errors with feature disabled -------------------- #
@@ -29,14 +30,17 @@ use feature 'lexical_subs';
our sub foo { 42 }
is foo, 42, 'calling our sub from same package';
is &foo, 42, 'calling our sub from same package (amper)';
+ is do foo(), 42, 'calling our sub from same package (do)';
package bar;
sub bar::foo { 43 }
is foo, 42, 'calling our sub from another package';
is &foo, 42, 'calling our sub from another package (amper)';
+ is do foo(), 42, 'calling our sub from another package (do)';
}
package bar;
is foo, 43, 'our sub falling out of scope';
is &foo, 43, 'our sub falling out of scope (called via amper)';
+is do foo(), 43, 'our sub falling out of scope (called via amper)';
package main;
{
sub bar::a { 43 }
@@ -45,6 +49,7 @@ package main;
package bar;
is a, 43, 'our sub invisible inside itself';
is &a, 43, 'our sub invisible inside itself (called via amper)';
+ is do a(), 43, 'our sub invisible inside itself (called via do)';
}
42
}
@@ -56,6 +61,7 @@ package main;
package bar;
is b, 42, 'our sub visible inside itself after decl';
is &b, 42, 'our sub visible inside itself after decl (amper)';
+ is do b(), 42, 'our sub visible inside itself after decl (do)';
}
42
}
@@ -68,6 +74,7 @@ sub bar::c { 43 }
package bar;
is c, 42, 'our sub foo; makes lex alias for existing sub';
is &c, 42, 'our sub foo; makes lex alias for existing sub (amper)';
+ is do c(), 42, 'our sub foo; makes lex alias for existing sub (do)';
}
{
our sub d;
@@ -97,19 +104,23 @@ use feature 'state'; # state
isnt \&::foo, \&foo, 'state sub is not stored in the package';
is eval foo, 44, 'calling state sub from same package';
is eval &foo, 44, 'calling state sub from same package (amper)';
+ is eval do foo(), 44, 'calling state sub from same package (do)';
package bar;
is eval foo, 44, 'calling state sub from another package';
is eval &foo, 44, 'calling state sub from another package (amper)';
+ is eval do foo(), 44, 'calling state sub from another package (do)';
}
package bar;
is foo, 43, 'state sub falling out of scope';
is &foo, 43, 'state sub falling out of scope (called via amper)';
+is do foo(), 43, 'state sub falling out of scope (called via amper)';
{
sub sa { 43 }
state sub sa {
if (shift) {
is sa, 43, 'state sub invisible inside itself';
is &sa, 43, 'state sub invisible inside itself (called via amper)';
+ is do sa(), 43, 'state sub invisible inside itself (called via do)';
}
44
}
@@ -126,6 +137,9 @@ is &foo, 43, 'state sub falling out of scope (called via amper)';
eval{&sb};
like $@, qr/^Undefined subroutine &sb called at /,
'state sub foo {} after forward declaration (amper)';
+ eval{do sb()};
+ like $@, qr/^Undefined subroutine &sb called at /,
+ 'state sub foo {} after forward declaration (do)';
}
44
}
@@ -137,6 +151,7 @@ is &foo, 43, 'state sub falling out of scope (called via amper)';
package bar;
is sb2, 44, 'state sub visible inside itself after decl';
is &sb2, 44, 'state sub visible inside itself after decl (amper)';
+ is do sb2(), 44, 'state sub visible inside itself after decl (do)';
}
44
}
@@ -172,6 +187,9 @@ sub sc { 43 }
eval{&sc};
like $@, qr/^Undefined subroutine &sc called at /,
'state sub foo; makes no lex alias for existing sub (amper)';
+ eval{do sc()};
+ like $@, qr/^Undefined subroutine &sc called at /,
+ 'state sub foo; makes no lex alias for existing sub (do)';
}
package main;
{
@@ -266,9 +284,6 @@ sub make_anon_with_state_sub{
state sub END { shift }
is eval{END('jkqeudth')}, jkqeudth,
'state sub END {shift} implies @_, not @ARGV';
- state sub CORE { scalar reverse shift }
- is CORE::uc("hello"), "HELLO",
- 'lexical CORE does not interfere with CORE::...';
}
{
state sub redef {}
@@ -307,45 +322,12 @@ sub make_anon_with_state_sub{
r(1);
}
like runperl(
- switches => [ '-Mfeature=lexical_subs,state' ],
+ switches => [ '-Mfeature=:all' ],
prog => 'state sub a { foo ref } a()',
stderr => 1
),
qr/syntax error/,
'referencing a state sub after a syntax error does not crash';
-{
- state $stuff;
- package A {
- state sub foo{ $stuff .= our $AUTOLOAD }
- *A::AUTOLOAD = \&foo;
- }
- A::bar();
- is $stuff, 'A::bar', 'state sub assigned to *AUTOLOAD can autoload';
-}
-{
- state sub quire{qr "quires"}
- package o { use overload qr => \&quire }
- ok "quires" =~ bless([], o::), 'state sub used as overload method';
-}
-{
- local $ENV{PERL5DB} = 'sub DB::DB{}';
- is(
- runperl(
- switches => [ '-d' ],
- progs => [ split "\n",
- 'use feature qw - lexical_subs state -;
- no warnings q-experimental::lexical_subs-;
- sub DB::sub{ print qq|4\n|; goto $DB::sub }
- state sub foo {print qq|2\n|}
- foo();
- '
- ],
- stderr => 1
- ),
- "4\n2\n",
- 'state subs and DB::sub under -d'
- );
-}
# -------------------- my -------------------- #
@@ -354,19 +336,23 @@ like runperl(
isnt \&::foo, \&foo, 'my sub is not stored in the package';
is foo, 44, 'calling my sub from same package';
is &foo, 44, 'calling my sub from same package (amper)';
+ is do foo(), 44, 'calling my sub from same package (do)';
package bar;
is foo, 44, 'calling my sub from another package';
is &foo, 44, 'calling my sub from another package (amper)';
+ is do foo(), 44, 'calling my sub from another package (do)';
}
package bar;
is foo, 43, 'my sub falling out of scope';
is &foo, 43, 'my sub falling out of scope (called via amper)';
+is do foo(), 43, 'my sub falling out of scope (called via amper)';
{
sub ma { 43 }
my sub ma {
if (shift) {
is ma, 43, 'my sub invisible inside itself';
is &ma, 43, 'my sub invisible inside itself (called via amper)';
+ is do ma(), 43, 'my sub invisible inside itself (called via do)';
}
44
}
@@ -383,6 +369,9 @@ is &foo, 43, 'my sub falling out of scope (called via amper)';
eval{&mb};
like $@, qr/^Undefined subroutine &mb called at /,
'my sub foo {} after forward declaration (amper)';
+ eval{do mb()};
+ like $@, qr/^Undefined subroutine &mb called at /,
+ 'my sub foo {} after forward declaration (do)';
}
44
}
@@ -394,6 +383,7 @@ is &foo, 43, 'my sub falling out of scope (called via amper)';
package bar;
is mb2, 44, 'my sub visible inside itself after decl';
is &mb2, 44, 'my sub visible inside itself after decl (amper)';
+ is do mb2(), 44, 'my sub visible inside itself after decl (do)';
}
44
}
@@ -429,17 +419,15 @@ sub mc { 43 }
eval{&mc};
like $@, qr/^Undefined subroutine &mc called at /,
'my sub foo; makes no lex alias for existing sub (amper)';
+ eval{do mc()};
+ like $@, qr/^Undefined subroutine &mc called at /,
+ 'my sub foo; makes no lex alias for existing sub (do)';
}
package main;
{
my sub me ($);
is prototype eval{\&me}, '$', 'my sub with proto';
is prototype "me", undef, 'prototype "..." ignores my subs';
-
- my $coderef = eval "my sub foo (\$\x{30cd}) {1}; \\&foo";
- my $proto = prototype $coderef;
- ok(utf8::is_utf8($proto), "my sub with UTF8 proto maintains the UTF8ness");
- is($proto, "\$\x{30cd}", "check the prototypes actually match");
}
{
my sub if() { 44 }
@@ -633,46 +621,12 @@ not_lexical11();
is $w, undef, 'no double free from constant my subs';
}
like runperl(
- switches => [ '-Mfeature=lexical_subs,state' ],
+ switches => [ '-Mfeature=:all' ],
prog => 'my sub a { foo ref } a()',
stderr => 1
),
qr/syntax error/,
'referencing a my sub after a syntax error does not crash';
-{
- state $stuff;
- package A {
- my sub foo{ $stuff .= our $AUTOLOAD }
- *A::AUTOLOAD = \&foo;
- }
- A::bar();
- is $stuff, 'A::bar', 'my sub assigned to *AUTOLOAD can autoload';
-}
-{
- my sub quire{qr "quires"}
- package mo { use overload qr => \&quire }
- ok "quires" =~ bless([], mo::), 'my sub used as overload method';
-}
-
-{
- local $ENV{PERL5DB} = 'sub DB::DB{}';
- is(
- runperl(
- switches => [ '-d' ],
- progs => [ split "\n",
- 'use feature qw - lexical_subs state -;
- no warnings q-experimental::lexical_subs-;
- sub DB::sub{ print qq|4\n|; goto $DB::sub }
- my sub foo {print qq|2\n|}
- foo();
- '
- ],
- stderr => 1
- ),
- "4\n2\n",
- 'my subs and DB::sub under -d'
- );
-}
# -------------------- Interactions (and misc tests) -------------------- #
@@ -743,7 +697,7 @@ eval 'sub not_lexical7 { my @x }';
}
like runperl(
- switches => [ '-Mfeature=lexical_subs,state', '-Mwarnings=FATAL,all', '-M-warnings=experimental::lexical_subs' ],
+ switches => [ '-Mfeature=:all', '-Mwarnings=FATAL,all', '-M-warnings=experimental::lexical_subs' ],
prog => 'my sub foo; sub foo { foo } foo',
stderr => 1
),
@@ -751,20 +705,9 @@ like runperl(
'deep recursion warnings for lexical subs do not crash';
like runperl(
- switches => [ '-Mfeature=lexical_subs,state', '-Mwarnings=FATAL,all', '-M-warnings=experimental::lexical_subs' ],
+ switches => [ '-Mfeature=:all', '-Mwarnings=FATAL,all', '-M-warnings=experimental::lexical_subs' ],
prog => 'my sub foo() { 42 } undef &foo',
stderr => 1
),
qr/Constant subroutine foo undefined at /,
'constant undefinition warnings for lexical subs do not crash';
-
-{
- my sub foo;
- *AutoloadTestSuper::blah = \&foo;
- sub AutoloadTestSuper::AUTOLOAD {
- is $AutoloadTestSuper::AUTOLOAD, "AutoloadTestSuper::blah",
- "Autoloading via inherited lex stub";
- }
- @AutoloadTest::ISA = AutoloadTestSuper::;
- AutoloadTest->blah;
-}
diff --git a/gnu/usr.bin/perl/t/op/while.t b/gnu/usr.bin/perl/t/op/while.t
index 1e8eb44d94c..5d2af711a5d 100644
--- a/gnu/usr.bin/perl/t/op/while.t
+++ b/gnu/usr.bin/perl/t/op/while.t
@@ -2,11 +2,10 @@
BEGIN {
chdir 't';
- @INC = "../lib";
- require "./test.pl";
+ require "test.pl";
}
-plan(26);
+plan(25);
my $tmpfile = tempfile();
open (tmp,'>', $tmpfile) || die "Can't create Cmd_while.tmp.";
@@ -214,10 +213,3 @@ sub save_context { $_[0] = wantarray; $_[1] }
}
ok($a[0] ne $a[1]);
}
-
-fresh_perl_is <<'72406', "foobar\n", {},
-{ package o; use overload bool => sub { die unless $::ok++; return 1 } }
-use constant OK => bless [], o::;
-do{print("foobar\n");}until OK;
-72406
- "[perl #72406] segv with do{}until CONST where const is not folded";
diff --git a/gnu/usr.bin/perl/t/opbasic/arith.t b/gnu/usr.bin/perl/t/opbasic/arith.t
index a90e84c0711..d85a9ba2142 100644
--- a/gnu/usr.bin/perl/t/opbasic/arith.t
+++ b/gnu/usr.bin/perl/t/opbasic/arith.t
@@ -9,7 +9,7 @@ BEGIN {
# functions imported from t/test.pl or Test::More, as those programs/libraries
# use operators which are what is being tested in this file.
-print "1..175\n";
+print "1..167\n";
sub try ($$$) {
print +($_[1] ? "ok" : "not ok"), " $_[0] - $_[2]\n";
@@ -456,15 +456,3 @@ else {
print "ok ", $T++, " - infinity\n";
}
-
-# [perl #120426]
-# small numbers shouldn't round to zero if they have extra floating digits
-
-try $T++, 0.153e-305 != 0.0, '0.153e-305';
-try $T++, 0.1530e-305 != 0.0, '0.1530e-305';
-try $T++, 0.15300e-305 != 0.0, '0.15300e-305';
-try $T++, 0.153000e-305 != 0.0, '0.153000e-305';
-try $T++, 0.1530000e-305 != 0.0, '0.1530000e-305';
-try $T++, 0.1530001e-305 != 0.0, '0.1530001e-305';
-try $T++, 1.17549435100e-38 != 0.0, 'min single';
-try $T++, 2.2250738585072014e-308 != 0.0, 'min double';
diff --git a/gnu/usr.bin/perl/t/re/recompile.t b/gnu/usr.bin/perl/t/re/recompile.t
index 2ae310d4b80..63a70684be3 100644
--- a/gnu/usr.bin/perl/t/re/recompile.t
+++ b/gnu/usr.bin/perl/t/re/recompile.t
@@ -22,7 +22,7 @@ BEGIN {
}
-plan tests => 48;
+plan tests => 38;
my $results = runperl(
switches => [ '-Dr' ],
@@ -193,27 +193,3 @@ my $x = qr/a/i;
my $y = qr/a/;
"a" =~ qr/a$_/ for $x, $y, $x, $y;
CODE
-
-comp_n(2, <<'CODE', '(??{"constant"})');
-"bb" =~ /(??{"abc"})/;
-CODE
-
-comp_n(2, <<'CODE', '(??{"folded"."constant"})');
-"bb" =~ /(??{"ab"."c"})/;
-CODE
-
-comp_n(2, <<'CODE', '(??{$preused_scalar})');
-$s = "abc";
-"bb" =~ /(??{$s})/;
-CODE
-
-comp_n(2, <<'CODE', '(??{number})');
-"bb" =~ /(??{123})/;
-CODE
-
-comp_n(2, <<'CODE', '(??{$pvlv_regexp})');
-sub {
- $_[0] = ${qr/abc/};
- "bb" =~ /(??{$_[0]})/;
-}->($_[0]);
-CODE
diff --git a/gnu/usr.bin/perl/t/re/regex_sets.t b/gnu/usr.bin/perl/t/re/regex_sets.t
index 9ddceae577e..b70e7ec0c2d 100644
--- a/gnu/usr.bin/perl/t/re/regex_sets.t
+++ b/gnu/usr.bin/perl/t/re/regex_sets.t
@@ -85,9 +85,6 @@ my $still_fold = qr/(?[ $kelvin_fold ])/;
like("K", $still_fold, "/i on interpolated (?[ ]) is retained in outer without /i");
like("k", $still_fold, "/i on interpolated (?[ ]) is retained in outer without /i");
-eval 'my $x = qr/(?[ [a] ])/; qr/(?[ $x ])/';
-is($@, "", 'qr/(?[ [a] ])/ can be interpolated');
-
done_testing();
1;
diff --git a/gnu/usr.bin/perl/t/run/switchM.t b/gnu/usr.bin/perl/t/run/switchM.t
index d2b5994a71c..72e8908b01b 100644
--- a/gnu/usr.bin/perl/t/run/switchM.t
+++ b/gnu/usr.bin/perl/t/run/switchM.t
@@ -3,15 +3,12 @@
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
- require Config;
- import Config;
-
}
use strict;
require './test.pl';
-plan(4);
+plan(2);
like(runperl(switches => ['-Irun/flib', '-Mbroken'], stderr => 1),
qr/^Global symbol "\$x" requires explicit package name at run\/flib\/broken.pm line 6\./,
@@ -20,17 +17,3 @@ like(runperl(switches => ['-Irun/flib', '-Mbroken'], stderr => 1),
like(runperl(switches => ['-Irun/flib/', '-Mbroken'], stderr => 1),
qr/^Global symbol "\$x" requires explicit package name at run\/flib\/broken.pm line 6\./,
"Ensure -Irun/flib/ produces correct filename in warnings");
-
-SKIP: {
- if ( $Config{ccflags} =~ /(?:^|\s)-DPERL_DISABLE_PMC\b/ ) {
- skip('Tests fail without PMC support', 2);
- }
-
- like(runperl(switches => ['-Irun/flib', '-Mt2'], prog => 'print t2::id()', stderr => 1),
- qr/^t2pmc$/,
- "Ensure -Irun/flib loads pmc");
-
- like(runperl(switches => ['-Irun/flib/', '-Mt2'], prog => 'print t2::id()', stderr => 1),
- qr/^t2pmc$/,
- "Ensure -Irun/flib/ loads pmc");
-}
diff --git a/gnu/usr.bin/perl/t/uni/variables.t b/gnu/usr.bin/perl/t/uni/variables.t
index d802a0a6e7d..cee681fd08a 100644
--- a/gnu/usr.bin/perl/t/uni/variables.t
+++ b/gnu/usr.bin/perl/t/uni/variables.t
@@ -12,7 +12,7 @@ use utf8;
use open qw( :utf8 :std );
no warnings qw(misc reserved);
-plan (tests => 65880);
+plan (tests => 65869);
# ${single:colon} should not be valid syntax
{
@@ -55,8 +55,6 @@ plan (tests => 65880);
# Checking that at least some of the special variables work
for my $v (qw( ^V ; < > ( ) {^GLOBAL_PHASE} ^W _ 1 4 0 [ ] ! @ / \ = )) {
- SKIP: {
- skip_if_miniperl('No $[ under miniperl', 2) if $v eq '[';
local $@;
evalbytes "\$$v;";
is $@, '', "No syntax error for \$$v";
@@ -64,7 +62,6 @@ for my $v (qw( ^V ; < > ( ) {^GLOBAL_PHASE} ^W _ 1 4 0 [ ] ! @ / \ = )) {
local $@;
eval "use utf8; \$$v;";
is $@, '', "No syntax error for \$$v under use utf8";
- }
}
# Checking if the Latin-1 range behaves as expected, and that the behavior is the
@@ -205,7 +202,7 @@ EOP
}
}
-{
+{
# bleadperl v5.17.9-109-g3283393 breaks JEREMY/File-Signature-1.009.tar.gz
# https://rt.perl.org/rt3/Ticket/Display.html?id=117145
local $@;
@@ -220,9 +217,6 @@ EOP
{
no strict;
- # Silence the deprecation warning for literal controls
- no warnings 'deprecated';
-
for my $var ( '$', "\7LOBAL_PHASE", "^GLOBAL_PHASE", "^V" ) {
eval "\${ $var}";
is($@, '', "\${ $var} works" );
@@ -233,61 +227,3 @@ EOP
}
}
}
-
-{
- is(
- "".eval "*{\nOIN}",
- "*main::OIN",
- "Newlines at the start of an identifier should be skipped over"
- );
-
-
- is(
- "".eval "*{^JOIN}",
- "*main::\nOIN",
- "...but \$^J is still legal"
- );
-
- no warnings 'deprecated';
- my $ret = eval "\${\cT\n}";
- is($@, "", 'No errors from using ${\n\cT\n}');
- is($ret, $^T, "...and we got the right value");
-}
-
-{
- # Originally from t/base/lex.t, moved here since we can't
- # turn deprecation warnings off in that file.
- no strict;
- no warnings 'deprecated';
-
- my $CX = "\cX";
- $ {$CX} = 17;
-
- # Does the syntax where we use the literal control character still work?
- is(
- eval "\$ {\cX}",
- 17,
- "Literal control character variables work"
- );
-
- eval "\$\cQ = 24"; # Literal control character
- is($@, "", "...and they can be assigned to without error");
- is(${"\cQ"}, 24, "...and the assignment works");
- is($^Q, 24, "...even if we access the variable through the caret name");
- is(\${"\cQ"}, \$^Q, '\${\cQ} == \$^Q');
-}
-
-{
- # Prior to 5.19.4, the following changed behavior depending
- # on the presence of the newline after '@{'.
- sub foo (&) { [1] }
- my %foo = (a=>2);
- my $ret = @{ foo { "a" } };
- is($ret, $foo{a}, '@{ foo { "a" } } is parsed as @foo{a}');
-
- $ret = @{
- foo { "a" }
- };
- is($ret, $foo{a}, '@{\nfoo { "a" } } is still parsed as @foo{a}');
-
-}
diff --git a/gnu/usr.bin/perl/unicode_constants.h b/gnu/usr.bin/perl/unicode_constants.h
index 2ae9d77646e..19f3acd33f9 100644
--- a/gnu/usr.bin/perl/unicode_constants.h
+++ b/gnu/usr.bin/perl/unicode_constants.h
@@ -20,26 +20,19 @@
* "_TAIL" if instead it represents all but the first byte. This, and
* with no additional suffix are both string constants */
-#define LATIN_SMALL_LETTER_LONG_S_UTF8 "\xC5\xBF" /* U+017F */
#define COMBINING_GRAVE_ACCENT_UTF8 "\xCC\x80" /* U+0300 */
+#define COMBINING_ACUTE_ACCENT_UTF8 "\xCC\x81" /* U+0301 */
+#define COMBINING_DIAERESIS_UTF8 "\xCC\x88" /* U+0308 */
-#define GREEK_CAPITAL_LETTER_IOTA_UTF8 "\xCE\x99" /* U+0399 */
-#define GREEK_SMALL_LETTER_MU_UTF8 "\xCE\xBC" /* U+03BC */
+#define GREEK_SMALL_LETTER_IOTA_UTF8 "\xCE\xB9" /* U+03B9 */
-#define LATIN_CAPITAL_LETTER_SHARP_S_UTF8 "\xE1\xBA\x9E" /* U+1E9E */
-
-#define LATIN_SMALL_LIGATURE_LONG_S_T_UTF8 "\xEF\xAC\x85" /* U+FB05 */
-#define LATIN_SMALL_LIGATURE_ST_UTF8 "\xEF\xAC\x86" /* U+FB06 */
+#define 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 BOM_UTF8_FIRST_BYTE 0xEF /* U+FEFF */
-#define BOM_UTF8_TAIL "\xBB\xBF" /* U+FEFF */
#define DEL_NATIVE 0x7F /* U+007F */
-#define CR_NATIVE 0x0D /* U+000D */
-#define LF_NATIVE 0x0A /* U+000A */
#define LATIN_SMALL_LETTER_SHARP_S_NATIVE 0xDF /* U+00DF */
#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE 0xE5 /* U+00E5 */
#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE 0xC5 /* U+00C5 */