[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r13759 - in /trunk: libc/ libc/dirent/ libc/elf/ libc/grp/ libc/iconvdata/ libc/iconvdata/testdata/ libc/include/ libc/inclu...



Author: joseph
Date: Tue May 10 08:49:03 2011
New Revision: 13759

Log:
Merge changes between r13697 and r13758 from /fsf/trunk.

Added:
    trunk/libc/iconvdata/cp770.c
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/cp770.c
    trunk/libc/iconvdata/cp771.c
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/cp771.c
    trunk/libc/iconvdata/cp772.c
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/cp772.c
    trunk/libc/iconvdata/cp773.c
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/cp773.c
    trunk/libc/iconvdata/cp774.c
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/cp774.c
    trunk/libc/iconvdata/testdata/CP770
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP770
    trunk/libc/iconvdata/testdata/CP770..UTF8
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP770..UTF8
    trunk/libc/iconvdata/testdata/CP771
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP771
    trunk/libc/iconvdata/testdata/CP771..UTF8
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP771..UTF8
    trunk/libc/iconvdata/testdata/CP772
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP772
    trunk/libc/iconvdata/testdata/CP772..UTF8
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP772..UTF8
    trunk/libc/iconvdata/testdata/CP773
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP773
    trunk/libc/iconvdata/testdata/CP773..UTF8
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP773..UTF8
    trunk/libc/iconvdata/testdata/CP774
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP774
    trunk/libc/iconvdata/testdata/CP774..UTF8
      - copied unchanged from r13758, fsf/trunk/libc/iconvdata/testdata/CP774..UTF8
    trunk/libc/localedata/charmaps/CP770
      - copied unchanged from r13758, fsf/trunk/libc/localedata/charmaps/CP770
    trunk/libc/localedata/charmaps/CP771
      - copied unchanged from r13758, fsf/trunk/libc/localedata/charmaps/CP771
    trunk/libc/localedata/charmaps/CP772
      - copied unchanged from r13758, fsf/trunk/libc/localedata/charmaps/CP772
    trunk/libc/localedata/charmaps/CP773
      - copied unchanged from r13758, fsf/trunk/libc/localedata/charmaps/CP773
    trunk/libc/localedata/charmaps/CP774
      - copied unchanged from r13758, fsf/trunk/libc/localedata/charmaps/CP774
    trunk/libc/localedata/locales/bem_ZM
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/bem_ZM
    trunk/libc/localedata/locales/en_ZM
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/en_ZM
    trunk/libc/localedata/locales/ff_SN
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/ff_SN
    trunk/libc/localedata/locales/lb_LU
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/lb_LU
    trunk/libc/localedata/locales/lij_IT
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/lij_IT
    trunk/libc/localedata/locales/mhr_RU
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/mhr_RU
    trunk/libc/localedata/locales/os_RU
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/os_RU
    trunk/libc/localedata/locales/sw_KE
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/sw_KE
    trunk/libc/localedata/locales/sw_TZ
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/sw_TZ
    trunk/libc/localedata/locales/wae_CH
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/wae_CH
    trunk/libc/localedata/locales/yue_HK
      - copied unchanged from r13758, fsf/trunk/libc/localedata/locales/yue_HK
    trunk/libc/sysdeps/unix/sysv/linux/dl-fxstatat64.c
      - copied unchanged from r13758, fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-fxstatat64.c
    trunk/libc/sysdeps/unix/sysv/linux/dl-getcwd.c
      - copied unchanged from r13758, fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-getcwd.c
    trunk/libc/sysdeps/unix/sysv/linux/dl-openat64.c
      - copied unchanged from r13758, fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-openat64.c
    trunk/libc/sysdeps/unix/sysv/linux/dl-opendir.c
      - copied unchanged from r13758, fsf/trunk/libc/sysdeps/unix/sysv/linux/dl-opendir.c
Modified:
    trunk/libc/ChangeLog
    trunk/libc/Makeconfig
    trunk/libc/NEWS
    trunk/libc/dirent/rewinddir.c
    trunk/libc/elf/dl-close.c
    trunk/libc/elf/dl-load.c
    trunk/libc/elf/dl-reloc.c
    trunk/libc/grp/initgroups.c
    trunk/libc/iconvdata/Makefile
    trunk/libc/iconvdata/gconv-modules
    trunk/libc/iconvdata/gen-8bit-gap-1.sh
    trunk/libc/iconvdata/gen-8bit-gap.sh
    trunk/libc/iconvdata/gen-8bit.sh
    trunk/libc/iconvdata/tst-tables.sh
    trunk/libc/include/dirent.h
    trunk/libc/include/sys/stat.h
    trunk/libc/inet/protocols/timed.h
    trunk/libc/locale/C-translit.h
    trunk/libc/locale/C-translit.h.in
    trunk/libc/locale/iso-639.def
    trunk/libc/locale/programs/localedef.c
    trunk/libc/localedata/ChangeLog
    trunk/libc/localedata/SUPPORTED
    trunk/libc/localedata/charmaps/UTF-8
    trunk/libc/localedata/locales/ar_IN
    trunk/libc/localedata/locales/as_IN
    trunk/libc/localedata/locales/bn_IN
    trunk/libc/localedata/locales/en_IN
    trunk/libc/localedata/locales/es_NI
    trunk/libc/localedata/locales/es_PA
    trunk/libc/localedata/locales/es_SV
    trunk/libc/localedata/locales/et_EE
    trunk/libc/localedata/locales/gu_IN
    trunk/libc/localedata/locales/hi_IN
    trunk/libc/localedata/locales/kn_IN
    trunk/libc/localedata/locales/kok_IN
    trunk/libc/localedata/locales/ks_IN
    trunk/libc/localedata/locales/ml_IN
    trunk/libc/localedata/locales/mr_IN
    trunk/libc/localedata/locales/or_IN
    trunk/libc/localedata/locales/pa_IN
    trunk/libc/localedata/locales/ru_RU
    trunk/libc/localedata/locales/sa_IN
    trunk/libc/localedata/locales/sd_IN
    trunk/libc/localedata/locales/sq_AL
    trunk/libc/localedata/locales/ta_IN
    trunk/libc/localedata/locales/te_IN
    trunk/libc/localedata/locales/tk_TM
    trunk/libc/localedata/locales/translit_neutral
    trunk/libc/nis/Makefile
    trunk/libc/nss/nss_files/files-initgroups.c
    trunk/libc/nss/nsswitch.conf
    trunk/libc/resolv/res_debug.c
    trunk/libc/resolv/res_init.c
    trunk/libc/resolv/res_query.c
    trunk/libc/resolv/resolv.h
    trunk/libc/sunrpc/Makefile
    trunk/libc/sysdeps/mach/hurd/rewinddir.c
    trunk/libc/sysdeps/posix/getcwd.c
    trunk/libc/sysdeps/unix/fdopendir.c
    trunk/libc/sysdeps/unix/opendir.c
    trunk/libc/sysdeps/unix/rewinddir.c
    trunk/libc/sysdeps/unix/sysv/linux/Makefile
    trunk/libc/sysdeps/unix/sysv/linux/getcwd.c
    trunk/libc/sysdeps/unix/sysv/linux/sys/param.h
    trunk/libc/sysdeps/unix/sysv/linux/sys/sysmacros.h
    trunk/ports/ChangeLog.arm
    trunk/ports/sysdeps/arm/preconfigure
    trunk/ports/sysdeps/arm/shlib-versions

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Tue May 10 08:49:03 2011
@@ -1,3 +1,149 @@
+2011-05-10  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #11257]
+	* grp/initgroups.c (internal_getgrouplist): When we found the service
+	list through the initgroups entry in nsswitch.conf do not always
+	continue on a successful lookup.  Don't always use the
+	__nss_group_data-ase value if it is set.
+	* nss/nsswitch.conf (initgroups): Change action for successful db
+	lookup to continue for compatibility.
+
+2011-05-09  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #11532]
+	* iconvdata/Makefile: Add rules to build CP770, CP771, CP772, CP773,
+	and CP774 modules.
+	* iconvdata/gconv-modules: Add entries for CP770, CP771, CP772, CP773,
+	and CP774 modules.
+	* iconvdata/tst-tables.sh: Likewise.
+	* iconvdata/cp770.c: New file.
+	* iconvdata/cp771.c: New file.
+	* iconvdata/cp772.c: New file.
+	* iconvdata/cp773.c: New file.
+	* iconvdata/cp774.c: New file.
+	* iconvdata/testdata/CP770: New file.
+	* iconvdata/testdata/CP770..UTF8: New file.
+	* iconvdata/testdata/CP771: New file.
+	* iconvdata/testdata/CP771..UTF8: New file.
+	* iconvdata/testdata/CP772: New file.
+	* iconvdata/testdata/CP772..UTF8: New file.
+	* iconvdata/testdata/CP773: New file.
+	* iconvdata/testdata/CP773..UTF8: New file.
+	* iconvdata/testdata/CP774: New file.
+	* iconvdata/testdata/CP774..UTF8: New file.
+
+	* iconvdata/gen-8bit-gap-1.sh: End reading of charmap file at
+	END CHARMAP line.
+	* iconvdata/gen-8bit-gap.sh: Likewise.
+	* iconvdata/gen-8bit.sh: Likewise.
+
+	* locale/iso-639.def: Add ary entry.
+
+	[BZ #11258]
+	* locale/C-translit.h.in: Add U20A1 transliteration.
+
+	[BZ #12178]
+	* locale/iso-639.def: Add wae entry.
+	Patch by Kevin Bortis <bortis@xxxxxxxxxxxxxxxx>.
+
+	[BZ #12545]
+	* locale/programs/localedef.c (construct_output_path): Use ssize_t
+	for n.
+
+	[BZ #12711]
+	* locale/C-translit.h.in: Add entry for U20B9.
+	Patch by pravin.d.s@xxxxxxxxxx
+
+2011-05-08  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12713]
+	* sysdeps/unix/sysv/linux/getcwd.c: If getcwd syscall report
+	ENAMETOOLONG use generic getcwd.
+	* sysdeps/posix/getcwd.c: Add support to use openat.  Make usable
+	in rtld.  Use *stat64.
+	* sysdeps/unix/sysv/linux/Makefile [subdir=elf] (sysdep-rtld-routines):
+	Add dl-getcwd, dl-openat64, dl-opendir, dl-fxstatat64.
+	* sysdeps/unix/sysv/linux/dl-getcwd.c: New file.
+	* sysdeps/unix/sysv/linux/dl-openat64.c: New file.
+	* sysdeps/unix/sysv/linux/dl-opendir.c: New file.
+	* sysdeps/unix/sysv/linux/dl-fxstat64.c: New file.
+	* include/sys/stat.h: Define __fstatat, __lstat64, __fstat64, and
+	__fstatat64 macros.
+	* include/dirent.h: Add libc_hidden_proto for rewinddir.
+	* dirent/rewinddir.c: Add libc_hidden_def.
+	* sysdeps/mach/hurd/rewinddir.c: Likewise.
+	* sysdeps/unix/rewinddir.c: Likewise.  Don't do locking outside libc.
+
+	* include/dirent.h (__alloc_dir): Add flags parameter.
+	* sysdeps/unix/fdopendir.c (__fdopendir): Pass flags to __alloc_dir.
+	* sysdeps/unix/opendir.c (__opendir): Pass 0 in new parameter to
+	__alloc_dir.
+	(__alloc_dir): Take new parameter.  Don't call fcntl for invocations
+	from fdopendir if O_CLOEXEC is already set.
+
+2011-03-15  Alan Modra  <amodra@xxxxxxxxx>
+
+	* elf/dl-reloc.c (_dl_try_allocate_static_tls <TLS_DTV_AT_TP>): Handle
+	l_tls_firstbyte_offset non-zero.  Save padding offset in
+	l_tls_firstbyte_offset for later use.
+	* elf/dl-close.c (_dl_close_worker <TLS_DTV_AT_TP>): Correct code
+	freeing static tls block.
+
+2011-03-05  Jonathan Nieder  <jrnieder@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/sys/param.h: Fix an #ifndef __undef_ARG_MAX
+	where #ifdef was intended.  The intent is to prevent ARG_MAX from
+	being defined by the kernel headers.
+
+2011-05-07  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12734]
+	* resolv/resolv.h: Define RES_NOTLDQUERY.
+	* resolv/res_init.c (res_setoptions): Recognize no_tld_query and
+	no-tld-query and set RES_NOTLDQUERY.
+	* resolv/res_debug.c (p_option): Handle RES_NOTLDQUERY.
+	* resolv/res_query.c (__libc_res_nsearch): Backport changes from
+	modern BIND to search name as TLD unless forbidden.
+
+2011-05-07  Petr Baudis  <pasky@xxxxxxx>
+	    Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	[BZ #12393]
+	* elf/dl-load.c (fillin_rpath): Move trusted path check...
+	(is_trusted_path): ...to here.
+	(is_trusted_path_normalize): Wrapper for /../ and /./ normalization.
+	(_dl_dst_substitute): Verify expanded $ORIGIN path elements
+	using is_trusted_path_normalize() in setuid scripts.
+
+2011-05-06  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Add missing
+	__BEGIN/__END_DECLS.
+
+2011-05-06  Ulrich Drepper  <drepper@xxxxxxxxx>
+
+	* nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Return
+	NSS_STATUS_NOTFOUND if no record was found.
+
+2011-05-05  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* sunrpc/Makefile (headers): Add rpc/netdb.h.
+	(headers-not-in-tirpc): Remove rpc/netdb.h
+	* resolv/netdb.h: Revert last change.
+
+2011-05-05  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	* Makeconfig (link-libc-static): Use --{start,end}-group to handle
+	circular dependency between libgcc.a and libc.a.
+
+2011-05-05  Andreas Schwab  <schwab@xxxxxxxxxx>
+
+	* resolv/netdb.h: Don't include <rpc/netdb.h>.
+	* nis/Makefile: Don't install rpcsvc/*.
+	* inet/protocols/timed.h: Include <sys/types.h> and <sys/time.h>
+	instead of <rpc/types.h>.
+	(MAXHOSTNAMELEN): Define.
+
 2011-05-03  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* elf/ldconfig.c (add_dir): Don't crash on empty path.

Modified: trunk/libc/Makeconfig
==============================================================================
--- trunk/libc/Makeconfig (original)
+++ trunk/libc/Makeconfig Tue May 10 08:49:03 2011
@@ -531,7 +531,7 @@
 
 # The static libraries.
 ifeq (yes,$(build-static))
-link-libc-static = $(common-objpfx)libc.a $(static-gnulib) $(common-objpfx)libc.a
+link-libc-static = -Wl,--start-group $(common-objpfx)libc.a $(static-gnulib) -Wl,--end-group
 else
 ifeq (yes,$(build-shared))
 # We can try to link the programs with lib*_pic.a...

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Tue May 10 08:49:03 2011
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-5-2
+GNU C Library NEWS -- history of user-visible changes.  2011-5-10
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -6,20 +6,32 @@
 using `glibc' in the "product" field.
 
 Version 2.14
+
+* The following bugs are resolved with this release:
+
+  11257, 11258, 11487, 11532, 11578, 11653, 11668, 11724, 11945, 11947,
+  12158, 12178, 12200, 12346, 12393, 12420, 12445, 12449, 12454, 12460,
+  12469, 12489, 12509, 12510, 12518, 12541, 12545, 12551, 12583, 12587,
+  12597, 12611, 12631, 12650, 12653, 12655, 12660, 12681, 12685, 12711,
+  12713, 12714, 12717, 12723, 12734, 12738
 
 * The RPC implementation in libc is obsoleted.  Old programs keep working
   but new programs cannot be linked with the routines in libc anymore.
   Programs in need of RPC functionality must be linked against TI-RPC.
   The TI-RPC implemtation is IPv6 enabled and there are other benefits.
+
+  Visible changes of this change include (obviously) the inability to link
+  programs using RPC functions without referencing the TI-RPC library and the
+  removal of the RPC headers from the glibc headers.
   Implemented by Ulrich Drepper.
 
 * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at,
   syncfs
 
-* The following bugs are resolved with this release:
-
-  11724, 12420, 12445, 12454, 12460, 12469, 12489, 12509, 12510, 12518, 12583,
-  12587, 12597, 12631, 12650, 12653, 12655, 12685, 12714, 12717, 12723
+* New locales: os_RU, bem_ZA, en_ZA, ff_SN, sw_KE, sw_TZ, lb_LU, wae_CH,
+  yue_HK, lij_IT, mhr_RU
+
+* New encodings: CP770, CP771, CP772, CP773, CP774
 
 Version 2.13
 

Modified: trunk/libc/dirent/rewinddir.c
==============================================================================
--- trunk/libc/dirent/rewinddir.c (original)
+++ trunk/libc/dirent/rewinddir.c Tue May 10 08:49:03 2011
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,6 +29,7 @@
   __set_errno (ENOSYS);
   /* No way to indicate failure.	*/
 }
+libc_hidden_def (rewinddir)
 
 
 stub_warning (rewinddir)

Modified: trunk/libc/elf/dl-close.c
==============================================================================
--- trunk/libc/elf/dl-close.c (original)
+++ trunk/libc/elf/dl-close.c Tue May 10 08:49:03 2011
@@ -591,21 +591,37 @@
 			}
 		    }
 #elif TLS_DTV_AT_TP
-		  if ((size_t) imap->l_tls_offset == tls_free_end)
+		  if (tls_free_start == NO_TLS_OFFSET)
+		    {
+		      tls_free_start = imap->l_tls_firstbyte_offset;
+		      tls_free_end = (imap->l_tls_offset
+				      + imap->l_tls_blocksize);
+		    }
+		  else if (imap->l_tls_firstbyte_offset == tls_free_end)
 		    /* Extend the contiguous chunk being reclaimed.  */
-		    tls_free_end -= imap->l_tls_blocksize;
+		    tls_free_end = imap->l_tls_offset + imap->l_tls_blocksize;
 		  else if (imap->l_tls_offset + imap->l_tls_blocksize
 			   == tls_free_start)
 		    /* Extend the chunk backwards.  */
-		    tls_free_start = imap->l_tls_offset;
-		  else
+		    tls_free_start = imap->l_tls_firstbyte_offset;
+		  /* This isn't contiguous with the last chunk freed.
+		     One of them will be leaked unless we can free
+		     one block right away.  */
+		  else if (imap->l_tls_offset + imap->l_tls_blocksize
+			   == GL(dl_tls_static_used))
+		    GL(dl_tls_static_used) = imap->l_tls_firstbyte_offset;
+		  else if (tls_free_end == GL(dl_tls_static_used))
 		    {
-		      /* This isn't contiguous with the last chunk freed.
-			 One of them will be leaked.  */
-		      if (tls_free_end == GL(dl_tls_static_used))
-			GL(dl_tls_static_used) = tls_free_start;
-		      tls_free_start = imap->l_tls_offset;
-		      tls_free_end = tls_free_start + imap->l_tls_blocksize;
+		      GL(dl_tls_static_used) = tls_free_start;
+		      tls_free_start = imap->l_tls_firstbyte_offset;
+		      tls_free_end = imap->l_tls_offset + imap->l_tls_blocksize;
+		    }
+		  else if (tls_free_end < imap->l_tls_firstbyte_offset)
+		    {
+		      /* We pick the later block.  It has a chance to
+			 be freed.  */
+		      tls_free_start = imap->l_tls_firstbyte_offset;
+		      tls_free_end = imap->l_tls_offset + imap->l_tls_blocksize;
 		    }
 #else
 # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"

Modified: trunk/libc/elf/dl-load.c
==============================================================================
--- trunk/libc/elf/dl-load.c (original)
+++ trunk/libc/elf/dl-load.c Tue May 10 08:49:03 2011
@@ -1,5 +1,5 @@
 /* Map in a shared object's segments from the file.
-   Copyright (C) 1995-2005, 2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -168,6 +168,71 @@
 }
 
 
+static bool
+is_trusted_path (const char *path, size_t len)
+{
+  /* All trusted directories must be complete names.  */
+  if (path[0] != '/')
+    return false;
+
+  const char *trun = system_dirs;
+
+  for (size_t idx = 0; idx < nsystem_dirs_len; ++idx)
+    {
+      if (len == system_dirs_len[idx] && memcmp (trun, path, len) == 0)
+	/* Found it.  */
+	return true;
+
+      trun += system_dirs_len[idx] + 1;
+    }
+
+  return false;
+}
+
+
+static bool
+is_trusted_path_normalize (const char *path, size_t len)
+{
+  char *npath = (char *) alloca (len + 2);
+  char *wnp = npath;
+
+  while (*path != '\0')
+    {
+      if (path[0] == '/')
+	{
+	  if (path[1] == '.')
+	    {
+	      if (path[2] == '.' && (path[3] == '/' || path[3] == '\0'))
+		{
+		  while (wnp > npath && *--wnp != '/')
+		    ;
+		  path += 3;
+		  continue;
+		}
+	      else if (path[2] == '/' || path[2] == '\0')
+		{
+		  path += 2;
+		  continue;
+		}
+	    }
+
+	  if (wnp > npath && wnp[-1] == '/')
+	    {
+	      ++path;
+	      continue;
+	    }
+	}
+
+      *wnp++ = *path++;
+    }
+  if (wnp > npath && wnp[-1] != '/')
+    *wnp++ = '/';
+  *wnp = '\0';
+
+  return is_trusted_path (npath, wnp - npath);
+}
+
+
 static size_t
 is_dst (const char *start, const char *name, const char *str,
 	int is_path, int secure)
@@ -240,13 +305,14 @@
 		    int is_path)
 {
   const char *const start = name;
-  char *last_elem, *wp;
 
   /* Now fill the result path.  While copying over the string we keep
      track of the start of the last path element.  When we come accross
      a DST we copy over the value or (if the value is not available)
      leave the entire path element out.  */
-  last_elem = wp = result;
+  char *wp = result;
+  char *last_elem = result;
+  bool check_for_trusted = false;
 
   do
     {
@@ -265,6 +331,9 @@
 	      else
 #endif
 		repl = l->l_origin;
+
+	      check_for_trusted = (INTUSE(__libc_enable_secure)
+				   && l->l_type == lt_executable);
 	    }
 	  else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0)
 	    repl = GLRO(dl_platform);
@@ -297,10 +366,28 @@
 	{
 	  *wp++ = *name++;
 	  if (is_path && *name == ':')
-	    last_elem = wp;
+	    {
+	      /* In SUID/SGID programs, after $ORIGIN expansion the
+		 normalized path must be rooted in one of the trusted
+		 directories.  */
+	      if (__builtin_expect (check_for_trusted, false)
+		  && is_trusted_path_normalize (last_elem, wp - last_elem))
+		{
+		  wp = last_elem;
+		  check_for_trusted = false;
+		}
+	      else
+		last_elem = wp;
+	    }
 	}
     }
   while (*name != '\0');
+
+  /* In SUID/SGID programs, after $ORIGIN expansion the normalized
+     path must be rooted in one of the trusted directories.  */
+  if (__builtin_expect (check_for_trusted, false)
+      && is_trusted_path_normalize (last_elem, wp - last_elem))
+    wp = last_elem;
 
   *wp = '\0';
 
@@ -411,33 +498,8 @@
 	cp[len++] = '/';
 
       /* Make sure we don't use untrusted directories if we run SUID.  */
-      if (__builtin_expect (check_trusted, 0))
-	{
-	  const char *trun = system_dirs;
-	  size_t idx;
-	  int unsecure = 1;
-
-	  /* All trusted directories must be complete names.  */
-	  if (cp[0] == '/')
-	    {
-	      for (idx = 0; idx < nsystem_dirs_len; ++idx)
-		{
-		  if (len == system_dirs_len[idx]
-		      && memcmp (trun, cp, len) == 0)
-		    {
-		      /* Found it.  */
-		      unsecure = 0;
-		      break;
-		    }
-
-		  trun += system_dirs_len[idx] + 1;
-		}
-	    }
-
-	  if (unsecure)
-	    /* Simply drop this directory.  */
-	    continue;
-	}
+      if (__builtin_expect (check_trusted, 0) && !is_trusted_path (cp, len))
+	continue;
 
       /* See if this directory is already known.  */
       for (dirp = GL(dl_all_dirs); dirp != NULL; dirp = dirp->next)

Modified: trunk/libc/elf/dl-reloc.c
==============================================================================
--- trunk/libc/elf/dl-reloc.c (original)
+++ trunk/libc/elf/dl-reloc.c Tue May 10 08:49:03 2011
@@ -1,5 +1,5 @@
 /* Relocate a shared object and resolve its references to other loaded objects.
-   Copyright (C) 1995-2006, 2008, 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 1995-2006, 2008-2010, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -57,38 +57,34 @@
     }
 
 #if TLS_TCB_AT_TP
-  size_t freebytes;
-  size_t n;
-  size_t blsize;
-
-  freebytes = GL(dl_tls_static_size) - GL(dl_tls_static_used);
+  size_t freebytes = GL(dl_tls_static_size) - GL(dl_tls_static_used);
   if (freebytes < TLS_TCB_SIZE)
     goto fail;
   freebytes -= TLS_TCB_SIZE;
 
-  blsize = map->l_tls_blocksize + map->l_tls_firstbyte_offset;
+  size_t blsize = map->l_tls_blocksize + map->l_tls_firstbyte_offset;
   if (freebytes < blsize)
     goto fail;
 
-  n = (freebytes - blsize) / map->l_tls_align;
+  size_t n = (freebytes - blsize) / map->l_tls_align;
 
   size_t offset = GL(dl_tls_static_used) + (freebytes - n * map->l_tls_align
 					    - map->l_tls_firstbyte_offset);
 
   map->l_tls_offset = GL(dl_tls_static_used) = offset;
 #elif TLS_DTV_AT_TP
-  size_t used;
-  size_t check;
-
-  size_t offset = roundup (GL(dl_tls_static_used), map->l_tls_align);
-  used = offset + map->l_tls_blocksize;
-  check = used;
   /* dl_tls_static_used includes the TCB at the beginning.  */
-
-  if (check > GL(dl_tls_static_size))
+  size_t offset = (((GL(dl_tls_static_used)
+		     - map->l_tls_firstbyte_offset
+		     + map->l_tls_align - 1) & -map->l_tls_align)
+		   + map->l_tls_firstbyte_offset);
+  size_t used = offset + map->l_tls_blocksize;
+
+  if (used > GL(dl_tls_static_size))
     goto fail;
 
   map->l_tls_offset = offset;
+  map->l_tls_firstbyte_offset = GL(dl_tls_static_used);
   GL(dl_tls_static_used) = used;
 #else
 # error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"

Modified: trunk/libc/grp/initgroups.c
==============================================================================
--- trunk/libc/grp/initgroups.c (original)
+++ trunk/libc/grp/initgroups.c Tue May 10 08:49:03 2011
@@ -44,6 +44,8 @@
 extern void *__nss_lookup_function (service_user *ni, const char *fct_name);
 
 extern service_user *__nss_group_database attribute_hidden;
+static service_user *initgroups_database;
+static bool use_initgroups_entry;
 
 
 #include "compat-initgroups.c"
@@ -69,32 +71,41 @@
     }
 #endif
 
-  service_user *nip = NULL;
-  initgroups_dyn_function fct;
   enum nss_status status = NSS_STATUS_UNAVAIL;
-  int no_more;
-  /* Start is one, because we have the first group as parameter.  */
-  long int start = 1;
+  int no_more = 0;
 
   /* Never store more than the starting *SIZE number of elements.  */
   assert (*size > 0);
   (*groupsp)[0] = group;
-
-  if (__nss_group_database != NULL)
+  /* Start is one, because we have the first group as parameter.  */
+  long int start = 1;
+
+  if (initgroups_database == NULL)
     {
-      no_more = 0;
-      nip = __nss_group_database;
+      no_more = __nss_database_lookup ("initgroups", NULL, "",
+				       &initgroups_database);
+      if (no_more == 0 && initgroups_database == NULL)
+	{
+	  if (__nss_group_database == NULL)
+	    no_more = __nss_database_lookup ("group", NULL, "compat files",
+					     &__nss_group_database);
+
+	  initgroups_database = __nss_group_database;
+	}
+      else if (initgroups_database != NULL)
+	{
+	  assert (no_more == 0);
+	  use_initgroups_entry = true;
+	}
     }
-  else
-    no_more = __nss_database_lookup ("initgroups", "group",
-				     "compat [NOTFOUND=return] files", &nip);
-
+
+  service_user *nip = initgroups_database;
   while (! no_more)
     {
       long int prev_start = start;
 
-      fct = __nss_lookup_function (nip, "initgroups_dyn");
-
+      initgroups_dyn_function fct = __nss_lookup_function (nip,
+							   "initgroups_dyn");
       if (fct == NULL)
 	status = compat_call (nip, user, group, &start, size, groupsp,
 			      limit, &errno);
@@ -121,7 +132,13 @@
       if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN)
 	__libc_fatal ("illegal status in internal_getgrouplist");
 
-      if (status != NSS_STATUS_SUCCESS
+      /* For compatibility reason we will continue to look for more
+	 entries using the next service even though data has already
+	 been found if the nsswitch.conf file contained only a 'groups'
+	 line and no 'initgroups' line.  If the latter is available
+	 we always respect the status.  This means that the default
+	 for successful lookups is to return.  */
+      if ((use_initgroups_entry || status != NSS_STATUS_SUCCESS)
 	  && nss_next_action (nip, status) == NSS_ACTION_RETURN)
 	 break;
 

Modified: trunk/libc/iconvdata/Makefile
==============================================================================
--- trunk/libc/iconvdata/Makefile (original)
+++ trunk/libc/iconvdata/Makefile Tue May 10 08:49:03 2011
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2004,2005,2006,2007,2008 Free Software Foundation, Inc.
+# Copyright (C) 1997-2008, 2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -56,13 +56,14 @@
 	   TCVN5712-1 libJISX0213 EUC-JISX0213 SHIFT_JISX0213		 \
 	   ISO-2022-JP-3 TSCII IBM866NAV CP932 EUC-JP-MS PT154 RK1048	 \
 	   IBM1025 IBM1122 IBM1137 IBM1153 IBM1154 IBM1155 IBM1156	 \
-	   IBM1157 IBM1158 IBM803 IBM901 IBM902 IBM921 IBM1008 		 \
-	   IBM1008_420 IBM1097 IBM1112 IBM1123 IBM1130 IBM1140 IBM1141 	 \
-	   IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148 	 \
-	   IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 	 \
+	   IBM1157 IBM1158 IBM803 IBM901 IBM902 IBM921 IBM1008		 \
+	   IBM1008_420 IBM1097 IBM1112 IBM1123 IBM1130 IBM1140 IBM1141	 \
+	   IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148	 \
+	   IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971	 \
 	   IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804             \
 	   IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1 MIK BRF	 \
-	   MAC-CENTRALEUROPE KOI8-RU ISO8859-9E
+	   MAC-CENTRALEUROPE KOI8-RU ISO8859-9E				 \
+	   CP770 CP771 CP772 CP773 CP774
 
 modules.so := $(addsuffix .so, $(modules-y))
 
@@ -206,7 +207,7 @@
 	      ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h   \
 	      ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c   \
 	      brf.c mac-centraleurope.c hp-roman9.c hp-turkish8.c	    \
-	      hp-thai8.c hp-greek8.c
+	      hp-thai8.c hp-greek8.c cp770.c cp771.c cp772.c cp773.c cp774.c
 
 # We build the transformation modules only when we build shared libs.
 ifeq (yes,$(build-shared))
@@ -229,7 +230,7 @@
 		    ebcdic-dk-no-a ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a  \
 		    ebcdic-fr ebcdic-it ebcdic-pt ebcdic-us \
 		    ibm037 ibm038 ibm274 ibm275 ibm423 ibm500 ibm870 ibm871 \
-		    ibm891 ibm903 ibm904 ibm905 ibm1047   \
+		    ibm891 ibm903 ibm904 ibm905 ibm1047
 
 gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273	   \
 			ibm277 ibm278 ibm280 ibm281 ibm284 ibm285 ibm290   \
@@ -250,7 +251,8 @@
 			mac-centraleurope koi8-ru hp-roman8 hp-roman9	   \
 			ebcdic-es ebcdic-es-a ebcdic-is-friss ebcdic-uk    \
 			iso8859-16 viscii iso8859-9e hp-turkish8	   \
-			hp-thai8 hp-greek8
+			hp-thai8 hp-greek8 cp770 cp771 cp772 cp773 cp774
+
 
 gen-special-modules := iso8859-7jp
 

Modified: trunk/libc/iconvdata/gconv-modules
==============================================================================
--- trunk/libc/iconvdata/gconv-modules (original)
+++ trunk/libc/iconvdata/gconv-modules Tue May 10 08:49:03 2011
@@ -1,5 +1,5 @@
 # GNU libc iconv configuration.
-# Copyright (C) 1997-2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1997-2005, 2007, 2008, 2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -1224,6 +1224,26 @@
 module	INTERNAL		CP737//			CP737		1
 
 #	from			to			module		cost
+module	CP770//			INTERNAL		CP770		1
+module	INTERNAL		CP770//			CP770		1
+
+#	from			to			module		cost
+module	CP771//			INTERNAL		CP771		1
+module	INTERNAL		CP771//			CP771		1
+
+#	from			to			module		cost
+module	CP772//			INTERNAL		CP772		1
+module	INTERNAL		CP772//			CP772		1
+
+#	from			to			module		cost
+module	CP773//			INTERNAL		CP773		1
+module	INTERNAL		CP773//			CP773		1
+
+#	from			to			module		cost
+module	CP774//			INTERNAL		CP774		1
+module	INTERNAL		CP774//			CP774		1
+
+#	from			to			module		cost
 alias	IBM775//		CP775//
 alias	CSPC775BALTIC//		CP775//
 module	CP775//			INTERNAL		CP775		1

Modified: trunk/libc/iconvdata/gen-8bit-gap-1.sh
==============================================================================
--- trunk/libc/iconvdata/gen-8bit-gap-1.sh (original)
+++ trunk/libc/iconvdata/gen-8bit-gap-1.sh Tue May 10 08:49:03 2011
@@ -1,15 +1,15 @@
 #! /bin/sh
 echo "static const uint32_t iso88597_to_ucs4[96] = {"
-sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d;/^END/q' \
     -e 's/^<U\(....\)>[[:space:]]*.x\([A-Fa-f].\).*/  [0x\2 - 0xA0] = 0x\1,/p' \
     "$@" | sort -u
 echo "};"
 echo "static const struct gap from_idx[] = {"
-sed -ne 's/^<U\(....\)>[[:space:]]*.x[A-Fa-f]..*/\1/p' \
+sed -ne 's/^<U\(....\)>[[:space:]]*.x[A-Fa-f]..*/\1/p;/^END/q' \
     "$@" | sort -u | $AWK -f gap.awk
 echo "  { .start = 0xffff, .end = 0xffff, .idx =     0 }"
 echo "};"
 echo "static const char iso88597_from_ucs4[] = {"
-sed -ne 's/^<U\(....\)>[[:space:]]*.x\([A-Fa-f].\).*/0x\1 0x\2/p' \
+sed -ne 's/^<U\(....\)>[[:space:]]*.x\([A-Fa-f].\).*/0x\1 0x\2/p;/^END/q' \
     "$@" | sort -u | $AWK -f gaptab.awk
 echo "};"

Modified: trunk/libc/iconvdata/gen-8bit-gap.sh
==============================================================================
--- trunk/libc/iconvdata/gen-8bit-gap.sh (original)
+++ trunk/libc/iconvdata/gen-8bit-gap.sh Tue May 10 08:49:03 2011
@@ -1,15 +1,15 @@
 #! /bin/sh
 echo "static const uint32_t to_ucs4[256] = {"
-sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d;/^END/q' \
     -e 's/^<U\(....\)>[[:space:]]*.x\(..\).*/  [0x\2] = 0x\1,/p' \
     "$@" | sort -u
 echo "};"
 echo "static const struct gap from_idx[] = {"
-sed -ne 's/^<U\(....\).*/\1/p' \
+sed -ne 's/^<U\(....\).*/\1/p;/^END/q' \
     "$@" | sort -u | $AWK -f gap.awk
 echo "  { .start = 0xffff, .end = 0xffff, .idx =     0 }"
 echo "};"
 echo "static const char from_ucs4[] = {"
-sed -ne 's/^<U\(....\)>[[:space:]]*.x\(..\).*/\1 \2/p' \
+sed -ne 's/^<U\(....\)>[[:space:]]*.x\(..\).*/\1 \2/p;/^END/q' \
     "$@" | sort -u | $AWK -f gaptab.awk
 echo "};"

Modified: trunk/libc/iconvdata/gen-8bit.sh
==============================================================================
--- trunk/libc/iconvdata/gen-8bit.sh (original)
+++ trunk/libc/iconvdata/gen-8bit.sh Tue May 10 08:49:03 2011
@@ -1,11 +1,11 @@
 #! /bin/sh
 echo "static const uint32_t to_ucs4[256] = {"
-sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d;/^END/q' \
     -e 's/^<U\(....\)>[[:space:]]*.x\(..\).*/  [0x\2] = 0x\1,/p' \
     "$@" | sort -u
 echo "};"
 echo "static const char from_ucs4[] = {"
-sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
+sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d;/^END/q' \
     -e 's/^<U\(....\)>[[:space:]]*.x\(..\).*/  [0x\1] = 0x\2,/p' \
     "$@" | sort -u
 echo "};"

Modified: trunk/libc/iconvdata/tst-tables.sh
==============================================================================
--- trunk/libc/iconvdata/tst-tables.sh (original)
+++ trunk/libc/iconvdata/tst-tables.sh Tue May 10 08:49:03 2011
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2000,2001,2002,2003,2004,2007 Free Software Foundation, Inc.
+# Copyright (C) 2000-2004,2007,2011 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Bruno Haible <haible@xxxxxxxxxxxxxx>, 2000.
 #
@@ -171,6 +171,11 @@
   CP1258
   IBM874
   CP737
+  CP770
+  CP771
+  CP772
+  CP773
+  CP774
   CP775
   MACINTOSH
   IEC_P27-1

Modified: trunk/libc/include/dirent.h
==============================================================================
--- trunk/libc/include/dirent.h (original)
+++ trunk/libc/include/dirent.h Tue May 10 08:49:03 2011
@@ -28,7 +28,10 @@
 extern int __versionsort64 (const struct dirent64 **a,
 			    const struct dirent64 **b)
      __attribute_pure__;
-extern DIR *__alloc_dir (int fd, bool close_fd, const struct stat64 *statp)
+extern DIR *__alloc_dir (int fd, bool close_fd, int flags,
+			 const struct stat64 *statp)
      internal_function;
 
+libc_hidden_proto (rewinddir)
+
 #endif

Modified: trunk/libc/include/sys/stat.h
==============================================================================
--- trunk/libc/include/sys/stat.h (original)
+++ trunk/libc/include/sys/stat.h Tue May 10 08:49:03 2011
@@ -44,8 +44,14 @@
 #define lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
 #define __lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
 #define lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
+#define __lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
 #define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
 #define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
+#define __fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
 #define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
 #define __fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
+#define __fstatat(dfd, fname, buf, flag) \
+  __fxstatat (_STAT_VER, dfd, fname, buf, flag)
+#define __fstatat64(dfd, fname, buf, flag) \
+  __fxstatat64 (_STAT_VER, dfd, fname, buf, flag)
 #endif

Modified: trunk/libc/inet/protocols/timed.h
==============================================================================
--- trunk/libc/inet/protocols/timed.h (original)
+++ trunk/libc/inet/protocols/timed.h Tue May 10 08:49:03 2011
@@ -32,7 +32,8 @@
 #ifndef	_PROTOCOLS_TIMED_H
 #define	_PROTOCOLS_TIMED_H 1
 
-#include <rpc/types.h>
+#include <sys/types.h>
+#include <sys/time.h>
 
 /*
  * Time Synchronization Protocol
@@ -40,6 +41,7 @@
 
 #define	TSPVERSION	1
 #define ANYADDR 	NULL
+#define MAXHOSTNAMELEN	64
 
 struct tsp {
 	u_char	tsp_type;

Modified: trunk/libc/locale/C-translit.h
==============================================================================
--- trunk/libc/locale/C-translit.h (original)
+++ trunk/libc/locale/C-translit.h Tue May 10 08:49:03 2011
@@ -1,4 +1,4 @@
-#define NTRANSLIT 1353
+#define NTRANSLIT 1355
 static const uint32_t translit_from_idx[] =
 {
      0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20,   22,
@@ -113,7 +113,7 @@
   2616, 2618, 2620, 2622, 2624, 2626, 2628, 2630, 2632, 2634, 2636, 2638,
   2640, 2642, 2644, 2646, 2648, 2650, 2652, 2654, 2656, 2658, 2660, 2662,
   2664, 2666, 2668, 2670, 2672, 2674, 2676, 2678, 2680, 2682, 2684, 2686,
-  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704
+  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704, 2706, 2708
 };
 static const wchar_t translit_from_tbl[] =
   L"\x00a0" L"\0" L"\x00a9" L"\0" L"\x00ab" L"\0" L"\x00ad" L"\0" L"\x00ae"
@@ -134,334 +134,334 @@
   L"\0" L"\x2035" L"\0" L"\x2036" L"\0" L"\x2037" L"\0" L"\x2039" L"\0"
   L"\x203a" L"\0" L"\x203c" L"\0" L"\x2044" L"\0" L"\x2047" L"\0" L"\x2048"
   L"\0" L"\x2049" L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0"
-  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100"
-  L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0"
-  L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e"
-  L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0"
-  L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b"
-  L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0"
-  L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d"
-  L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0"
-  L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146"
-  L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0"
-  L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158"
-  L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0"
-  L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161"
-  L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0"
-  L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a"
-  L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0"
-  L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173"
-  L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0"
-  L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c"
-  L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0"
-  L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4"
-  L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0"
-  L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265"
-  L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0"
-  L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404"
-  L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0"
-  L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d"
-  L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0"
-  L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416"
-  L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0"
-  L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f"
-  L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0"
-  L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464"
-  L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0"
-  L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d"
-  L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0"
-  L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476"
-  L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0"
-  L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f"
-  L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0"
-  L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488"
-  L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0"
-  L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491"
-  L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0"
-  L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a"
-  L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0"
-  L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3"
-  L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0"
-  L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac"
-  L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0"
-  L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5"
-  L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0"
-  L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be"
-  L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0"
-  L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7"
-  L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0"
-  L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0"
-  L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0"
-  L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9"
-  L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0"
-  L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2"
-  L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0"
-  L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500"
-  L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0"
-  L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534"
-  L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0"
-  L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252"
-  L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0"
-  L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b"
-  L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0"
-  L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5"
-  L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0"
-  L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be"
-  L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0"
-  L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381"
-  L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0"
-  L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a"
-  L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0"
-  L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393"
-  L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0"
-  L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c"
-  L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0"
-  L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5"
-  L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0"
-  L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae"
-  L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0"
-  L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7"
-  L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0"
-  L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2"
-  L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0"
-  L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb"
-  L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0"
-  L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4"
-  L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0"
-  L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd"
-  L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0"
-  L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01"
-  L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0"
-  L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a"
-  L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0"
-  L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50"
-  L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0"
-  L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c"
-  L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0"
-  L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68"
-  L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0"
-  L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05"
-  L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0"
-  L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e"
-  L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0"
-  L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17"
-  L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0"
-  L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20"
-  L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0"
-  L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29"
-  L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0"
-  L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32"
-  L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0"
-  L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b"
-  L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0"
-  L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44"
-  L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0"
-  L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d"
-  L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0"
-  L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56"
-  L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0"
-  L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0"
-  L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403"
-  L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0"
-  L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a"
-  L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0"
-  L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411"
-  L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0"
-  L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418"
-  L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0"
-  L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f"
-  L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0"
-  L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426"
-  L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0"
-  L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d"
-  L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0"
-  L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434"
-  L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0"
-  L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b"
-  L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0"
-  L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442"
-  L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0"
-  L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449"
-  L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0"
-  L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450"
-  L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0"
-  L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458"
-  L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0"
-  L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f"
-  L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0"
-  L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466"
-  L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0"
-  L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d"
-  L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0"
-  L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474"
-  L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0"
-  L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b"
-  L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0"
-  L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482"
-  L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0"
-  L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489"
-  L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0"
-  L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490"
-  L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0"
-  L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497"
-  L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0"
-  L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f"
-  L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0"
-  L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac"
-  L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0"
-  L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4"
-  L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0"
-  L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd"
-  L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0"
-  L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6"
-  L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0"
-  L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd"
-  L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0"
-  L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4"
-  L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0"
-  L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db"
-  L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0"
-  L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2"
-  L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0"
-  L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9"
-  L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0"
-  L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0"
-  L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0"
-  L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7"
-  L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0"
-  L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe"
-  L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0"
-  L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505"
-  L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0"
-  L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f"
-  L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0"
-  L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517"
-  L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0"
-  L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f"
-  L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0"
-  L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526"
-  L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0"
-  L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d"
-  L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0"
-  L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534"
-  L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0"
-  L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c"
-  L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0"
-  L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544"
-  L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0"
-  L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f"
-  L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0"
-  L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557"
-  L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0"
-  L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e"
-  L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0"
-  L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565"
-  L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0"
-  L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c"
-  L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0"
-  L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573"
-  L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0"
-  L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a"
-  L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0"
-  L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581"
-  L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0"
-  L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588"
-  L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0"
-  L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f"
-  L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0"
-  L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596"
-  L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0"
-  L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d"
-  L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0"
-  L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4"
-  L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0"
-  L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab"
-  L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0"
-  L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2"
-  L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0"
-  L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9"
-  L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0"
-  L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0"
-  L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0"
-  L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7"
-  L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0"
-  L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce"
-  L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0"
-  L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5"
-  L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0"
-  L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc"
-  L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0"
-  L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3"
-  L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0"
-  L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea"
-  L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0"
-  L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1"
-  L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0"
-  L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8"
-  L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0"
-  L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff"
-  L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0"
-  L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606"
-  L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0"
-  L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d"
-  L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0"
-  L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614"
-  L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0"
-  L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b"
-  L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0"
-  L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622"
-  L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0"
-  L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629"
-  L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0"
-  L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630"
-  L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0"
-  L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637"
-  L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0"
-  L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e"
-  L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0"
-  L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645"
-  L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0"
-  L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c"
-  L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0"
-  L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653"
-  L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0"
-  L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a"
-  L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0"
-  L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661"
-  L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0"
-  L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668"
-  L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0"
-  L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f"
-  L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0"
-  L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676"
-  L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0"
-  L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d"
-  L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0"
-  L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684"
-  L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0"
-  L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b"
-  L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0"
-  L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692"
-  L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0"
-  L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699"
-  L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0"
-  L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0"
-  L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0"
-  L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1"
-  L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0"
-  L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8"
-  L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0"
-  L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df"
-  L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0"
-  L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6"
-  L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0"
-  L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed"
-  L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0"
-  L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4"
-  L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0"
-  L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb"
-  L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0"
-  L"\x0001d7ff";
+  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a1" L"\0" L"\x20a8" L"\0" L"\x20ac"
+  L"\0" L"\x20b9" L"\0" L"\x2100" L"\0" L"\x2101" L"\0" L"\x2102" L"\0"
+  L"\x2105" L"\0" L"\x2106" L"\0" L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c"
+  L"\0" L"\x210d" L"\0" L"\x210e" L"\0" L"\x2110" L"\0" L"\x2111" L"\0"
+  L"\x2112" L"\0" L"\x2113" L"\0" L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119"
+  L"\0" L"\x211a" L"\0" L"\x211b" L"\0" L"\x211c" L"\0" L"\x211d" L"\0"
+  L"\x2121" L"\0" L"\x2122" L"\0" L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128"
+  L"\0" L"\x212c" L"\0" L"\x212d" L"\0" L"\x212e" L"\0" L"\x212f" L"\0"
+  L"\x2130" L"\0" L"\x2131" L"\0" L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139"
+  L"\0" L"\x2145" L"\0" L"\x2146" L"\0" L"\x2147" L"\0" L"\x2148" L"\0"
+  L"\x2149" L"\0" L"\x2153" L"\0" L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156"
+  L"\0" L"\x2157" L"\0" L"\x2158" L"\0" L"\x2159" L"\0" L"\x215a" L"\0"
+  L"\x215b" L"\0" L"\x215c" L"\0" L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f"
+  L"\0" L"\x2160" L"\0" L"\x2161" L"\0" L"\x2162" L"\0" L"\x2163" L"\0"
+  L"\x2164" L"\0" L"\x2165" L"\0" L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168"
+  L"\0" L"\x2169" L"\0" L"\x216a" L"\0" L"\x216b" L"\0" L"\x216c" L"\0"
+  L"\x216d" L"\0" L"\x216e" L"\0" L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171"
+  L"\0" L"\x2172" L"\0" L"\x2173" L"\0" L"\x2174" L"\0" L"\x2175" L"\0"
+  L"\x2176" L"\0" L"\x2177" L"\0" L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a"
+  L"\0" L"\x217b" L"\0" L"\x217c" L"\0" L"\x217d" L"\0" L"\x217e" L"\0"
+  L"\x217f" L"\0" L"\x2190" L"\0" L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0"
+  L"\0" L"\x21d2" L"\0" L"\x21d4" L"\0" L"\x2212" L"\0" L"\x2215" L"\0"
+  L"\x2216" L"\0" L"\x2217" L"\0" L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c"
+  L"\0" L"\x2264" L"\0" L"\x2265" L"\0" L"\x226a" L"\0" L"\x226b" L"\0"
+  L"\x22d8" L"\0" L"\x22d9" L"\0" L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402"
+  L"\0" L"\x2403" L"\0" L"\x2404" L"\0" L"\x2405" L"\0" L"\x2406" L"\0"
+  L"\x2407" L"\0" L"\x2408" L"\0" L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b"
+  L"\0" L"\x240c" L"\0" L"\x240d" L"\0" L"\x240e" L"\0" L"\x240f" L"\0"
+  L"\x2410" L"\0" L"\x2411" L"\0" L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414"
+  L"\0" L"\x2415" L"\0" L"\x2416" L"\0" L"\x2417" L"\0" L"\x2418" L"\0"
+  L"\x2419" L"\0" L"\x241a" L"\0" L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d"
+  L"\0" L"\x241e" L"\0" L"\x241f" L"\0" L"\x2420" L"\0" L"\x2421" L"\0"
+  L"\x2423" L"\0" L"\x2424" L"\0" L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462"
+  L"\0" L"\x2463" L"\0" L"\x2464" L"\0" L"\x2465" L"\0" L"\x2466" L"\0"
+  L"\x2467" L"\0" L"\x2468" L"\0" L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b"
+  L"\0" L"\x246c" L"\0" L"\x246d" L"\0" L"\x246e" L"\0" L"\x246f" L"\0"
+  L"\x2470" L"\0" L"\x2471" L"\0" L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474"
+  L"\0" L"\x2475" L"\0" L"\x2476" L"\0" L"\x2477" L"\0" L"\x2478" L"\0"
+  L"\x2479" L"\0" L"\x247a" L"\0" L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d"
+  L"\0" L"\x247e" L"\0" L"\x247f" L"\0" L"\x2480" L"\0" L"\x2481" L"\0"
+  L"\x2482" L"\0" L"\x2483" L"\0" L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486"
+  L"\0" L"\x2487" L"\0" L"\x2488" L"\0" L"\x2489" L"\0" L"\x248a" L"\0"
+  L"\x248b" L"\0" L"\x248c" L"\0" L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f"
+  L"\0" L"\x2490" L"\0" L"\x2491" L"\0" L"\x2492" L"\0" L"\x2493" L"\0"
+  L"\x2494" L"\0" L"\x2495" L"\0" L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498"
+  L"\0" L"\x2499" L"\0" L"\x249a" L"\0" L"\x249b" L"\0" L"\x249c" L"\0"
+  L"\x249d" L"\0" L"\x249e" L"\0" L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1"
+  L"\0" L"\x24a2" L"\0" L"\x24a3" L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0"
+  L"\x24a6" L"\0" L"\x24a7" L"\0" L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa"
+  L"\0" L"\x24ab" L"\0" L"\x24ac" L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0"
+  L"\x24af" L"\0" L"\x24b0" L"\0" L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3"
+  L"\0" L"\x24b4" L"\0" L"\x24b5" L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0"
+  L"\x24b8" L"\0" L"\x24b9" L"\0" L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc"
+  L"\0" L"\x24bd" L"\0" L"\x24be" L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0"
+  L"\x24c1" L"\0" L"\x24c2" L"\0" L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5"
+  L"\0" L"\x24c6" L"\0" L"\x24c7" L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0"
+  L"\x24ca" L"\0" L"\x24cb" L"\0" L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce"
+  L"\0" L"\x24cf" L"\0" L"\x24d0" L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0"
+  L"\x24d3" L"\0" L"\x24d4" L"\0" L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7"
+  L"\0" L"\x24d8" L"\0" L"\x24d9" L"\0" L"\x24da" L"\0" L"\x24db" L"\0"
+  L"\x24dc" L"\0" L"\x24dd" L"\0" L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0"
+  L"\0" L"\x24e1" L"\0" L"\x24e2" L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0"
+  L"\x24e5" L"\0" L"\x24e6" L"\0" L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9"
+  L"\0" L"\x24ea" L"\0" L"\x2500" L"\0" L"\x2502" L"\0" L"\x250c" L"\0"
+  L"\x2510" L"\0" L"\x2514" L"\0" L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524"
+  L"\0" L"\x252c" L"\0" L"\x2534" L"\0" L"\x253c" L"\0" L"\x25e6" L"\0"
+  L"\x2a74" L"\0" L"\x2a75" L"\0" L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0"
+  L"\0" L"\x3251" L"\0" L"\x3252" L"\0" L"\x3253" L"\0" L"\x3254" L"\0"
+  L"\x3255" L"\0" L"\x3256" L"\0" L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259"
+  L"\0" L"\x325a" L"\0" L"\x325b" L"\0" L"\x325c" L"\0" L"\x325d" L"\0"
+  L"\x325e" L"\0" L"\x325f" L"\0" L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3"
+  L"\0" L"\x32b4" L"\0" L"\x32b5" L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0"
+  L"\x32b8" L"\0" L"\x32b9" L"\0" L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc"
+  L"\0" L"\x32bd" L"\0" L"\x32be" L"\0" L"\x32bf" L"\0" L"\x3371" L"\0"
+  L"\x3372" L"\0" L"\x3373" L"\0" L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376"
+  L"\0" L"\x3380" L"\0" L"\x3381" L"\0" L"\x3382" L"\0" L"\x3383" L"\0"
+  L"\x3384" L"\0" L"\x3385" L"\0" L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388"
+  L"\0" L"\x3389" L"\0" L"\x338a" L"\0" L"\x338b" L"\0" L"\x338c" L"\0"
+  L"\x338d" L"\0" L"\x338e" L"\0" L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391"
+  L"\0" L"\x3392" L"\0" L"\x3393" L"\0" L"\x3394" L"\0" L"\x3395" L"\0"
+  L"\x3396" L"\0" L"\x3397" L"\0" L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a"
+  L"\0" L"\x339b" L"\0" L"\x339c" L"\0" L"\x339d" L"\0" L"\x339e" L"\0"
+  L"\x339f" L"\0" L"\x33a0" L"\0" L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3"
+  L"\0" L"\x33a4" L"\0" L"\x33a5" L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0"
+  L"\x33a8" L"\0" L"\x33a9" L"\0" L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac"
+  L"\0" L"\x33ad" L"\0" L"\x33ae" L"\0" L"\x33af" L"\0" L"\x33b0" L"\0"
+  L"\x33b1" L"\0" L"\x33b2" L"\0" L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5"
+  L"\0" L"\x33b6" L"\0" L"\x33b7" L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0"
+  L"\x33ba" L"\0" L"\x33bb" L"\0" L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be"
+  L"\0" L"\x33bf" L"\0" L"\x33c2" L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0"
+  L"\x33c5" L"\0" L"\x33c6" L"\0" L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9"
+  L"\0" L"\x33ca" L"\0" L"\x33cb" L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0"
+  L"\x33ce" L"\0" L"\x33cf" L"\0" L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2"
+  L"\0" L"\x33d3" L"\0" L"\x33d4" L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0"
+  L"\x33d7" L"\0" L"\x33d8" L"\0" L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db"
+  L"\0" L"\x33dc" L"\0" L"\x33dd" L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0"
+  L"\xfb02" L"\0" L"\xfb03" L"\0" L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29"
+  L"\0" L"\xfe00" L"\0" L"\xfe01" L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0"
+  L"\xfe04" L"\0" L"\xfe05" L"\0" L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08"
+  L"\0" L"\xfe09" L"\0" L"\xfe0a" L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0"
+  L"\xfe0d" L"\0" L"\xfe0e" L"\0" L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e"
+  L"\0" L"\xfe4f" L"\0" L"\xfe50" L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0"
+  L"\xfe55" L"\0" L"\xfe56" L"\0" L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a"
+  L"\0" L"\xfe5b" L"\0" L"\xfe5c" L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0"
+  L"\xfe61" L"\0" L"\xfe62" L"\0" L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65"
+  L"\0" L"\xfe66" L"\0" L"\xfe68" L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0"
+  L"\xfe6b" L"\0" L"\xfeff" L"\0" L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03"
+  L"\0" L"\xff04" L"\0" L"\xff05" L"\0" L"\xff06" L"\0" L"\xff07" L"\0"
+  L"\xff08" L"\0" L"\xff09" L"\0" L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c"
+  L"\0" L"\xff0d" L"\0" L"\xff0e" L"\0" L"\xff0f" L"\0" L"\xff10" L"\0"
+  L"\xff11" L"\0" L"\xff12" L"\0" L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15"
+  L"\0" L"\xff16" L"\0" L"\xff17" L"\0" L"\xff18" L"\0" L"\xff19" L"\0"
+  L"\xff1a" L"\0" L"\xff1b" L"\0" L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e"
+  L"\0" L"\xff1f" L"\0" L"\xff20" L"\0" L"\xff21" L"\0" L"\xff22" L"\0"
+  L"\xff23" L"\0" L"\xff24" L"\0" L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27"
+  L"\0" L"\xff28" L"\0" L"\xff29" L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0"
+  L"\xff2c" L"\0" L"\xff2d" L"\0" L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30"
+  L"\0" L"\xff31" L"\0" L"\xff32" L"\0" L"\xff33" L"\0" L"\xff34" L"\0"
+  L"\xff35" L"\0" L"\xff36" L"\0" L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39"
+  L"\0" L"\xff3a" L"\0" L"\xff3b" L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0"
+  L"\xff3e" L"\0" L"\xff3f" L"\0" L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42"
+  L"\0" L"\xff43" L"\0" L"\xff44" L"\0" L"\xff45" L"\0" L"\xff46" L"\0"
+  L"\xff47" L"\0" L"\xff48" L"\0" L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b"
+  L"\0" L"\xff4c" L"\0" L"\xff4d" L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0"
+  L"\xff50" L"\0" L"\xff51" L"\0" L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54"
+  L"\0" L"\xff55" L"\0" L"\xff56" L"\0" L"\xff57" L"\0" L"\xff58" L"\0"
+  L"\xff59" L"\0" L"\xff5a" L"\0" L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d"
+  L"\0" L"\xff5e" L"\0" L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402"
+  L"\0" L"\x0001d403" L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0"
+  L"\x0001d406" L"\0" L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409"
+  L"\0" L"\x0001d40a" L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0"
+  L"\x0001d40d" L"\0" L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410"
+  L"\0" L"\x0001d411" L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0"
+  L"\x0001d414" L"\0" L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417"
+  L"\0" L"\x0001d418" L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0"
+  L"\x0001d41b" L"\0" L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e"
+  L"\0" L"\x0001d41f" L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0"
+  L"\x0001d422" L"\0" L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425"
+  L"\0" L"\x0001d426" L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0"
+  L"\x0001d429" L"\0" L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c"
+  L"\0" L"\x0001d42d" L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0"
+  L"\x0001d430" L"\0" L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433"
+  L"\0" L"\x0001d434" L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0"
+  L"\x0001d437" L"\0" L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a"
+  L"\0" L"\x0001d43b" L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0"
+  L"\x0001d43e" L"\0" L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441"
+  L"\0" L"\x0001d442" L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0"
+  L"\x0001d445" L"\0" L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448"
+  L"\0" L"\x0001d449" L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0"
+  L"\x0001d44c" L"\0" L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f"
+  L"\0" L"\x0001d450" L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0"
+  L"\x0001d453" L"\0" L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457"
+  L"\0" L"\x0001d458" L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0"
+  L"\x0001d45b" L"\0" L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e"
+  L"\0" L"\x0001d45f" L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0"
+  L"\x0001d462" L"\0" L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465"
+  L"\0" L"\x0001d466" L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0"
+  L"\x0001d469" L"\0" L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c"
+  L"\0" L"\x0001d46d" L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0"
+  L"\x0001d470" L"\0" L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473"
+  L"\0" L"\x0001d474" L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0"
+  L"\x0001d477" L"\0" L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a"
+  L"\0" L"\x0001d47b" L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0"
+  L"\x0001d47e" L"\0" L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481"
+  L"\0" L"\x0001d482" L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0"
+  L"\x0001d485" L"\0" L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488"
+  L"\0" L"\x0001d489" L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0"
+  L"\x0001d48c" L"\0" L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f"
+  L"\0" L"\x0001d490" L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0"
+  L"\x0001d493" L"\0" L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496"
+  L"\0" L"\x0001d497" L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0"
+  L"\x0001d49a" L"\0" L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e"
+  L"\0" L"\x0001d49f" L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0"
+  L"\x0001d4a6" L"\0" L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab"
+  L"\0" L"\x0001d4ac" L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0"
+  L"\x0001d4b0" L"\0" L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3"
+  L"\0" L"\x0001d4b4" L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0"
+  L"\x0001d4b7" L"\0" L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb"
+  L"\0" L"\x0001d4bd" L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0"
+  L"\x0001d4c0" L"\0" L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5"
+  L"\0" L"\x0001d4c6" L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0"
+  L"\x0001d4c9" L"\0" L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc"
+  L"\0" L"\x0001d4cd" L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0"
+  L"\x0001d4d0" L"\0" L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3"
+  L"\0" L"\x0001d4d4" L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0"
+  L"\x0001d4d7" L"\0" L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da"
+  L"\0" L"\x0001d4db" L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0"
+  L"\x0001d4de" L"\0" L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1"
+  L"\0" L"\x0001d4e2" L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0"
+  L"\x0001d4e5" L"\0" L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8"
+  L"\0" L"\x0001d4e9" L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0"
+  L"\x0001d4ec" L"\0" L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef"
+  L"\0" L"\x0001d4f0" L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0"
+  L"\x0001d4f3" L"\0" L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6"
+  L"\0" L"\x0001d4f7" L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0"
+  L"\x0001d4fa" L"\0" L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd"
+  L"\0" L"\x0001d4fe" L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0"
+  L"\x0001d501" L"\0" L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504"
+  L"\0" L"\x0001d505" L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0"
+  L"\x0001d509" L"\0" L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e"
+  L"\0" L"\x0001d50f" L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0"
+  L"\x0001d512" L"\0" L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516"
+  L"\0" L"\x0001d517" L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0"
+  L"\x0001d51a" L"\0" L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e"
+  L"\0" L"\x0001d51f" L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0"
+  L"\x0001d522" L"\0" L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525"
+  L"\0" L"\x0001d526" L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0"
+  L"\x0001d529" L"\0" L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c"
+  L"\0" L"\x0001d52d" L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0"
+  L"\x0001d530" L"\0" L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533"
+  L"\0" L"\x0001d534" L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0"
+  L"\x0001d537" L"\0" L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b"
+  L"\0" L"\x0001d53c" L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0"
+  L"\x0001d540" L"\0" L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543"
+  L"\0" L"\x0001d544" L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0"
+  L"\x0001d54b" L"\0" L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e"
+  L"\0" L"\x0001d54f" L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0"
+  L"\x0001d553" L"\0" L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556"
+  L"\0" L"\x0001d557" L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0"
+  L"\x0001d55a" L"\0" L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d"
+  L"\0" L"\x0001d55e" L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0"
+  L"\x0001d561" L"\0" L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564"
+  L"\0" L"\x0001d565" L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0"
+  L"\x0001d568" L"\0" L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b"
+  L"\0" L"\x0001d56c" L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0"
+  L"\x0001d56f" L"\0" L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572"
+  L"\0" L"\x0001d573" L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0"
+  L"\x0001d576" L"\0" L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579"
+  L"\0" L"\x0001d57a" L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0"
+  L"\x0001d57d" L"\0" L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580"
+  L"\0" L"\x0001d581" L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0"
+  L"\x0001d584" L"\0" L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587"
+  L"\0" L"\x0001d588" L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0"
+  L"\x0001d58b" L"\0" L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e"
+  L"\0" L"\x0001d58f" L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0"
+  L"\x0001d592" L"\0" L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595"
+  L"\0" L"\x0001d596" L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0"
+  L"\x0001d599" L"\0" L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c"
+  L"\0" L"\x0001d59d" L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0"
+  L"\x0001d5a0" L"\0" L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3"
+  L"\0" L"\x0001d5a4" L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0"
+  L"\x0001d5a7" L"\0" L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa"
+  L"\0" L"\x0001d5ab" L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0"
+  L"\x0001d5ae" L"\0" L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1"
+  L"\0" L"\x0001d5b2" L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0"
+  L"\x0001d5b5" L"\0" L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8"
+  L"\0" L"\x0001d5b9" L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0"
+  L"\x0001d5bc" L"\0" L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf"
+  L"\0" L"\x0001d5c0" L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0"
+  L"\x0001d5c3" L"\0" L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6"
+  L"\0" L"\x0001d5c7" L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0"
+  L"\x0001d5ca" L"\0" L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd"
+  L"\0" L"\x0001d5ce" L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0"
+  L"\x0001d5d1" L"\0" L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4"
+  L"\0" L"\x0001d5d5" L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0"
+  L"\x0001d5d8" L"\0" L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db"
+  L"\0" L"\x0001d5dc" L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0"
+  L"\x0001d5df" L"\0" L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2"
+  L"\0" L"\x0001d5e3" L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0"
+  L"\x0001d5e6" L"\0" L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9"
+  L"\0" L"\x0001d5ea" L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0"
+  L"\x0001d5ed" L"\0" L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0"
+  L"\0" L"\x0001d5f1" L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0"
+  L"\x0001d5f4" L"\0" L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7"
+  L"\0" L"\x0001d5f8" L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0"
+  L"\x0001d5fb" L"\0" L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe"
+  L"\0" L"\x0001d5ff" L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0"
+  L"\x0001d602" L"\0" L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605"
+  L"\0" L"\x0001d606" L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0"
+  L"\x0001d609" L"\0" L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c"
+  L"\0" L"\x0001d60d" L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0"
+  L"\x0001d610" L"\0" L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613"
+  L"\0" L"\x0001d614" L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0"
+  L"\x0001d617" L"\0" L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a"
+  L"\0" L"\x0001d61b" L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0"
+  L"\x0001d61e" L"\0" L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621"
+  L"\0" L"\x0001d622" L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0"
+  L"\x0001d625" L"\0" L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628"
+  L"\0" L"\x0001d629" L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0"
+  L"\x0001d62c" L"\0" L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f"
+  L"\0" L"\x0001d630" L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0"
+  L"\x0001d633" L"\0" L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636"
+  L"\0" L"\x0001d637" L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0"
+  L"\x0001d63a" L"\0" L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d"
+  L"\0" L"\x0001d63e" L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0"
+  L"\x0001d641" L"\0" L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644"
+  L"\0" L"\x0001d645" L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0"
+  L"\x0001d648" L"\0" L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b"
+  L"\0" L"\x0001d64c" L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0"
+  L"\x0001d64f" L"\0" L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652"
+  L"\0" L"\x0001d653" L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0"
+  L"\x0001d656" L"\0" L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659"
+  L"\0" L"\x0001d65a" L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0"
+  L"\x0001d65d" L"\0" L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660"
+  L"\0" L"\x0001d661" L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0"
+  L"\x0001d664" L"\0" L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667"
+  L"\0" L"\x0001d668" L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0"
+  L"\x0001d66b" L"\0" L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e"
+  L"\0" L"\x0001d66f" L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0"
+  L"\x0001d672" L"\0" L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675"
+  L"\0" L"\x0001d676" L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0"
+  L"\x0001d679" L"\0" L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c"
+  L"\0" L"\x0001d67d" L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0"
+  L"\x0001d680" L"\0" L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683"
+  L"\0" L"\x0001d684" L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0"
+  L"\x0001d687" L"\0" L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a"
+  L"\0" L"\x0001d68b" L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0"
+  L"\x0001d68e" L"\0" L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691"
+  L"\0" L"\x0001d692" L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0"
+  L"\x0001d695" L"\0" L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698"
+  L"\0" L"\x0001d699" L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0"
+  L"\x0001d69c" L"\0" L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f"
+  L"\0" L"\x0001d6a0" L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0"
+  L"\x0001d6a3" L"\0" L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0"
+  L"\0" L"\x0001d7d1" L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0"
+  L"\x0001d7d4" L"\0" L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7"
+  L"\0" L"\x0001d7d8" L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0"
+  L"\x0001d7db" L"\0" L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de"
+  L"\0" L"\x0001d7df" L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0"
+  L"\x0001d7e2" L"\0" L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5"
+  L"\0" L"\x0001d7e6" L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0"
+  L"\x0001d7e9" L"\0" L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec"
+  L"\0" L"\x0001d7ed" L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0"
+  L"\x0001d7f0" L"\0" L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3"
+  L"\0" L"\x0001d7f4" L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0"
+  L"\x0001d7f7" L"\0" L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa"
+  L"\0" L"\x0001d7fb" L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0"
+  L"\x0001d7fe" L"\0" L"\x0001d7ff";
 static const uint32_t translit_to_idx[] =
 {
      0,    3,    8,   12,   15,   20,   23,   26,   30,   37,   44,   51,
@@ -471,112 +471,112 @@
    180,  183,  186,  189,  192,  196,  199,  202,  205,  208,  211,  214,
    217,  221,  224,  227,  230,  233,  237,  242,  245,  248,  252,  257,
    260,  263,  267,  270,  274,  278,  282,  285,  287,  289,  291,  293,
-   297,  302,  307,  312,  315,  320,  325,  328,  331,  334,  337,  340,
-   343,  346,  349,  352,  355,  359,  362,  365,  368,  371,  374,  379,
-   385,  388,  393,  396,  399,  402,  405,  408,  411,  414,  417,  420,
-   423,  426,  429,  432,  435,  438,  445,  452,  459,  466,  473,  480,
-   487,  494,  501,  508,  515,  522,  527,  530,  534,  539,  543,  546,
-   550,  555,  561,  565,  568,  572,  577,  580,  583,  586,  589,  592,
-   596,  601,  605,  608,  612,  617,  623,  627,  630,  634,  639,  642,
-   645,  648,  651,  655,  659,  664,  668,  672,  677,  680,  683,  686,
-   689,  692,  695,  698,  702,  706,  710,  714,  719,  724,  729,  734,
-   739,  744,  749,  754,  759,  764,  768,  772,  776,  780,  784,  788,
-   792,  796,  801,  806,  811,  816,  821,  826,  831,  836,  841,  845,
-   850,  855,  859,  863,  867,  871,  875,  880,  883,  887,  892,  897,
-   902,  907,  912,  917,  922,  927,  932,  938,  944,  950,  956,  962,
-   968,  974,  980,  986,  992,  998, 1003, 1008, 1013, 1018, 1023, 1028,
-  1033, 1038, 1043, 1049, 1055, 1061, 1067, 1073, 1079, 1085, 1091, 1097,
-  1103, 1109, 1113, 1117, 1121, 1125, 1129, 1133, 1137, 1141, 1145, 1150,
-  1155, 1160, 1165, 1170, 1175, 1180, 1185, 1190, 1195, 1200, 1205, 1210,
-  1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, 1255, 1260, 1265, 1270,
-  1275, 1280, 1285, 1290, 1295, 1300, 1305, 1310, 1315, 1320, 1325, 1330,
-  1335, 1340, 1345, 1350, 1355, 1360, 1365, 1370, 1375, 1380, 1385, 1390,
-  1395, 1400, 1405, 1410, 1415, 1420, 1425, 1430, 1435, 1440, 1445, 1450,
-  1455, 1460, 1465, 1470, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1510,
-  1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560, 1565, 1570,
-  1575, 1580, 1585, 1590, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616,
-  1619, 1622, 1625, 1628, 1631, 1636, 1640, 1645, 1648, 1651, 1657, 1663,
-  1669, 1675, 1681, 1687, 1693, 1699, 1705, 1711, 1717, 1723, 1729, 1735,
-  1741, 1747, 1753, 1759, 1765, 1771, 1777, 1783, 1789, 1795, 1801, 1807,
-  1813, 1819, 1825, 1831, 1836, 1840, 1844, 1849, 1853, 1857, 1861, 1865,
-  1869, 1873, 1877, 1881, 1885, 1889, 1894, 1900, 1904, 1908, 1912, 1916,
-  1920, 1924, 1928, 1933, 1938, 1943, 1948, 1952, 1956, 1960, 1964, 1968,
-  1972, 1976, 1980, 1984, 1988, 1994, 2000, 2005, 2011, 2017, 2023, 2028,
-  2034, 2039, 2046, 2050, 2055, 2060, 2065, 2070, 2077, 2086, 2090, 2094,
-  2098, 2102, 2106, 2110, 2114, 2118, 2122, 2126, 2130, 2134, 2138, 2142,
-  2146, 2150, 2156, 2160, 2164, 2168, 2174, 2179, 2183, 2187, 2191, 2195,
-  2199, 2203, 2207, 2211, 2215, 2219, 2224, 2228, 2232, 2237, 2242, 2246,
-  2252, 2257, 2261, 2265, 2269, 2273, 2277, 2281, 2285, 2290, 2295, 2299,
-  2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318, 2320, 2322, 2324,
-  2326, 2328, 2330, 2332, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355,
-  2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 2385, 2388, 2391,
-  2394, 2397, 2400, 2403, 2406, 2409, 2411, 2414, 2417, 2420, 2423, 2426,
-  2429, 2432, 2435, 2438, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2462,
-  2465, 2468, 2471, 2474, 2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498,
-  2501, 2504, 2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534,
-  2537, 2540, 2543, 2546, 2549, 2552, 2555, 2558, 2561, 2564, 2567, 2570,
-  2573, 2576, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2600, 2603, 2606,
-  2609, 2612, 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642,
-  2645, 2648, 2651, 2654, 2657, 2660, 2663, 2666, 2669, 2672, 2675, 2678,
-  2681, 2684, 2687, 2690, 2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714,
-  2717, 2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747, 2750,
-  2753, 2756, 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
-  2789, 2792, 2795, 2798, 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822,
-  2825, 2828, 2831, 2834, 2837, 2840, 2843, 2846, 2849, 2852, 2855, 2858,
-  2861, 2864, 2867, 2870, 2873, 2876, 2879, 2882, 2885, 2888, 2891, 2894,
-  2897, 2900, 2903, 2906, 2909, 2912, 2915, 2918, 2921, 2924, 2927, 2930,
-  2933, 2936, 2939, 2942, 2945, 2948, 2951, 2954, 2957, 2960, 2963, 2966,
-  2969, 2972, 2975, 2978, 2981, 2984, 2987, 2990, 2993, 2996, 2999, 3002,
-  3005, 3008, 3011, 3014, 3017, 3020, 3023, 3026, 3029, 3032, 3035, 3038,
-  3041, 3044, 3047, 3050, 3053, 3056, 3059, 3062, 3065, 3068, 3071, 3074,
-  3077, 3080, 3083, 3086, 3089, 3092, 3095, 3098, 3101, 3104, 3107, 3110,
-  3113, 3116, 3119, 3122, 3125, 3128, 3131, 3134, 3137, 3140, 3143, 3146,
-  3149, 3152, 3155, 3158, 3161, 3164, 3167, 3170, 3173, 3176, 3179, 3182,
-  3185, 3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218,
-  3221, 3224, 3227, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251, 3254,
-  3257, 3260, 3263, 3266, 3269, 3272, 3275, 3278, 3281, 3284, 3287, 3290,
-  3293, 3296, 3299, 3302, 3305, 3308, 3311, 3314, 3317, 3320, 3323, 3326,
-  3329, 3332, 3335, 3338, 3341, 3344, 3347, 3350, 3353, 3356, 3359, 3362,
-  3365, 3368, 3371, 3374, 3377, 3380, 3383, 3386, 3389, 3392, 3395, 3398,
-  3401, 3404, 3407, 3410, 3413, 3416, 3419, 3422, 3425, 3428, 3431, 3434,
-  3437, 3440, 3443, 3446, 3449, 3452, 3455, 3458, 3461, 3464, 3467, 3470,
-  3473, 3476, 3479, 3482, 3485, 3488, 3491, 3494, 3497, 3500, 3503, 3506,
-  3509, 3512, 3515, 3518, 3521, 3524, 3527, 3530, 3533, 3536, 3539, 3542,
-  3545, 3548, 3551, 3554, 3557, 3560, 3563, 3566, 3569, 3572, 3575, 3578,
-  3581, 3584, 3587, 3590, 3593, 3596, 3599, 3602, 3605, 3608, 3611, 3614,
-  3617, 3620, 3623, 3626, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650,
-  3653, 3656, 3659, 3662, 3665, 3668, 3671, 3674, 3677, 3680, 3683, 3686,
-  3689, 3692, 3695, 3698, 3701, 3704, 3707, 3710, 3713, 3716, 3719, 3722,
-  3725, 3728, 3731, 3734, 3737, 3740, 3743, 3746, 3749, 3752, 3755, 3758,
-  3761, 3764, 3767, 3770, 3773, 3776, 3779, 3782, 3785, 3788, 3791, 3794,
-  3797, 3800, 3803, 3806, 3809, 3812, 3815, 3818, 3821, 3824, 3827, 3830,
-  3833, 3836, 3839, 3842, 3845, 3848, 3851, 3854, 3857, 3860, 3863, 3866,
-  3869, 3872, 3875, 3878, 3881, 3884, 3887, 3890, 3893, 3896, 3899, 3902,
-  3905, 3908, 3911, 3914, 3917, 3920, 3923, 3926, 3929, 3932, 3935, 3938,
-  3941, 3944, 3947, 3950, 3953, 3956, 3959, 3962, 3965, 3968, 3971, 3974,
-  3977, 3980, 3983, 3986, 3989, 3992, 3995, 3998, 4001, 4004, 4007, 4010,
-  4013, 4016, 4019, 4022, 4025, 4028, 4031, 4034, 4037, 4040, 4043, 4046,
-  4049, 4052, 4055, 4058, 4061, 4064, 4067, 4070, 4073, 4076, 4079, 4082,
-  4085, 4088, 4091, 4094, 4097, 4100, 4103, 4106, 4109, 4112, 4115, 4118,
-  4121, 4124, 4127, 4130, 4133, 4136, 4139, 4142, 4145, 4148, 4151, 4154,
-  4157, 4160, 4163, 4166, 4169, 4172, 4175, 4178, 4181, 4184, 4187, 4190,
-  4193, 4196, 4199, 4202, 4205, 4208, 4211, 4214, 4217, 4220, 4223, 4226,
-  4229, 4232, 4235, 4238, 4241, 4244, 4247, 4250, 4253, 4256, 4259, 4262,
-  4265, 4268, 4271, 4274, 4277, 4280, 4283, 4286, 4289, 4292, 4295, 4298,
-  4301, 4304, 4307, 4310, 4313, 4316, 4319, 4322, 4325, 4328, 4331, 4334,
-  4337, 4340, 4343, 4346, 4349, 4352, 4355, 4358, 4361, 4364, 4367, 4370,
-  4373, 4376, 4379, 4382, 4385, 4388, 4391, 4394, 4397, 4400, 4403, 4406,
-  4409, 4412, 4415, 4418, 4421, 4424, 4427, 4430, 4433, 4436, 4439, 4442,
-  4445, 4448, 4451, 4454, 4457, 4460, 4463, 4466, 4469, 4472, 4475, 4478,
-  4481, 4484, 4487, 4490, 4493, 4496, 4499, 4502, 4505, 4508, 4511, 4514,
-  4517, 4520, 4523, 4526, 4529, 4532, 4535, 4538, 4541, 4544, 4547, 4550,
-  4553, 4556, 4559, 4562, 4565, 4568, 4571, 4574, 4577, 4580, 4583, 4586,
-  4589, 4592, 4595, 4598, 4601, 4604, 4607, 4610, 4613, 4616, 4619, 4622,
-  4625, 4628, 4631, 4634, 4637, 4640, 4643, 4646, 4649, 4652, 4655, 4658,
-  4661, 4664, 4667, 4670, 4673, 4676, 4679, 4682, 4685, 4688, 4691, 4694,
-  4697, 4700, 4703, 4706, 4709, 4712, 4715, 4718, 4721, 4724, 4727, 4730,
-  4733, 4736, 4739, 4742, 4745, 4748, 4751, 4754, 4757, 4760, 4763, 4766,
-  4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790, 4793
+   297,  301,  306,  311,  316,  321,  324,  329,  334,  337,  340,  343,
+   346,  349,  352,  355,  358,  361,  364,  368,  371,  374,  377,  380,
+   383,  388,  394,  397,  402,  405,  408,  411,  414,  417,  420,  423,
+   426,  429,  432,  435,  438,  441,  444,  447,  454,  461,  468,  475,
+   482,  489,  496,  503,  510,  517,  524,  531,  536,  539,  543,  548,
+   552,  555,  559,  564,  570,  574,  577,  581,  586,  589,  592,  595,
+   598,  601,  605,  610,  614,  617,  621,  626,  632,  636,  639,  643,
+   648,  651,  654,  657,  660,  664,  668,  673,  677,  681,  686,  689,
+   692,  695,  698,  701,  704,  707,  711,  715,  719,  723,  728,  733,
+   738,  743,  748,  753,  758,  763,  768,  773,  777,  781,  785,  789,
+   793,  797,  801,  805,  810,  815,  820,  825,  830,  835,  840,  845,
+   850,  854,  859,  864,  868,  872,  876,  880,  884,  889,  892,  896,
+   901,  906,  911,  916,  921,  926,  931,  936,  941,  947,  953,  959,
+   965,  971,  977,  983,  989,  995, 1001, 1007, 1012, 1017, 1022, 1027,
+  1032, 1037, 1042, 1047, 1052, 1058, 1064, 1070, 1076, 1082, 1088, 1094,
+  1100, 1106, 1112, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1146, 1150,
+  1154, 1159, 1164, 1169, 1174, 1179, 1184, 1189, 1194, 1199, 1204, 1209,
+  1214, 1219, 1224, 1229, 1234, 1239, 1244, 1249, 1254, 1259, 1264, 1269,
+  1274, 1279, 1284, 1289, 1294, 1299, 1304, 1309, 1314, 1319, 1324, 1329,
+  1334, 1339, 1344, 1349, 1354, 1359, 1364, 1369, 1374, 1379, 1384, 1389,
+  1394, 1399, 1404, 1409, 1414, 1419, 1424, 1429, 1434, 1439, 1444, 1449,
+  1454, 1459, 1464, 1469, 1474, 1479, 1484, 1489, 1494, 1499, 1504, 1509,
+  1514, 1519, 1524, 1529, 1534, 1539, 1544, 1549, 1554, 1559, 1564, 1569,
+  1574, 1579, 1584, 1589, 1594, 1599, 1604, 1607, 1610, 1613, 1616, 1619,
+  1622, 1625, 1628, 1631, 1634, 1637, 1640, 1645, 1649, 1654, 1657, 1660,
+  1666, 1672, 1678, 1684, 1690, 1696, 1702, 1708, 1714, 1720, 1726, 1732,
+  1738, 1744, 1750, 1756, 1762, 1768, 1774, 1780, 1786, 1792, 1798, 1804,
+  1810, 1816, 1822, 1828, 1834, 1840, 1845, 1849, 1853, 1858, 1862, 1866,
+  1870, 1874, 1878, 1882, 1886, 1890, 1894, 1898, 1903, 1909, 1913, 1917,
+  1921, 1925, 1929, 1933, 1937, 1942, 1947, 1952, 1957, 1961, 1965, 1969,
+  1973, 1977, 1981, 1985, 1989, 1993, 1997, 2003, 2009, 2014, 2020, 2026,
+  2032, 2037, 2043, 2048, 2055, 2059, 2064, 2069, 2074, 2079, 2086, 2095,
+  2099, 2103, 2107, 2111, 2115, 2119, 2123, 2127, 2131, 2135, 2139, 2143,
+  2147, 2151, 2155, 2159, 2165, 2169, 2173, 2177, 2183, 2188, 2192, 2196,
+  2200, 2204, 2208, 2212, 2216, 2220, 2224, 2228, 2233, 2237, 2241, 2246,
+  2251, 2255, 2261, 2266, 2270, 2274, 2278, 2282, 2286, 2290, 2294, 2299,
+  2304, 2308, 2311, 2313, 2315, 2317, 2319, 2321, 2323, 2325, 2327, 2329,
+  2331, 2333, 2335, 2337, 2339, 2341, 2343, 2346, 2349, 2352, 2355, 2358,
+  2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 2385, 2388, 2391, 2394,
+  2397, 2400, 2403, 2406, 2409, 2412, 2415, 2418, 2420, 2423, 2426, 2429,
+  2432, 2435, 2438, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2462, 2465,
+  2468, 2471, 2474, 2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498, 2501,
+  2504, 2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534, 2537,
+  2540, 2543, 2546, 2549, 2552, 2555, 2558, 2561, 2564, 2567, 2570, 2573,
+  2576, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2600, 2603, 2606, 2609,
+  2612, 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642, 2645,
+  2648, 2651, 2654, 2657, 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681,
+  2684, 2687, 2690, 2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714, 2717,
+  2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747, 2750, 2753,
+  2756, 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786, 2789,
+  2792, 2795, 2798, 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822, 2825,
+  2828, 2831, 2834, 2837, 2840, 2843, 2846, 2849, 2852, 2855, 2858, 2861,
+  2864, 2867, 2870, 2873, 2876, 2879, 2882, 2885, 2888, 2891, 2894, 2897,
+  2900, 2903, 2906, 2909, 2912, 2915, 2918, 2921, 2924, 2927, 2930, 2933,
+  2936, 2939, 2942, 2945, 2948, 2951, 2954, 2957, 2960, 2963, 2966, 2969,
+  2972, 2975, 2978, 2981, 2984, 2987, 2990, 2993, 2996, 2999, 3002, 3005,
+  3008, 3011, 3014, 3017, 3020, 3023, 3026, 3029, 3032, 3035, 3038, 3041,
+  3044, 3047, 3050, 3053, 3056, 3059, 3062, 3065, 3068, 3071, 3074, 3077,
+  3080, 3083, 3086, 3089, 3092, 3095, 3098, 3101, 3104, 3107, 3110, 3113,
+  3116, 3119, 3122, 3125, 3128, 3131, 3134, 3137, 3140, 3143, 3146, 3149,
+  3152, 3155, 3158, 3161, 3164, 3167, 3170, 3173, 3176, 3179, 3182, 3185,
+  3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218, 3221,
+  3224, 3227, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251, 3254, 3257,
+  3260, 3263, 3266, 3269, 3272, 3275, 3278, 3281, 3284, 3287, 3290, 3293,
+  3296, 3299, 3302, 3305, 3308, 3311, 3314, 3317, 3320, 3323, 3326, 3329,
+  3332, 3335, 3338, 3341, 3344, 3347, 3350, 3353, 3356, 3359, 3362, 3365,
+  3368, 3371, 3374, 3377, 3380, 3383, 3386, 3389, 3392, 3395, 3398, 3401,
+  3404, 3407, 3410, 3413, 3416, 3419, 3422, 3425, 3428, 3431, 3434, 3437,
+  3440, 3443, 3446, 3449, 3452, 3455, 3458, 3461, 3464, 3467, 3470, 3473,
+  3476, 3479, 3482, 3485, 3488, 3491, 3494, 3497, 3500, 3503, 3506, 3509,
+  3512, 3515, 3518, 3521, 3524, 3527, 3530, 3533, 3536, 3539, 3542, 3545,

[... 7320 lines stripped ...]