[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/build/uClibc/extra/Configs/Config.alpha b/ap/build/uClibc/extra/Configs/Config.alpha
new file mode 100644
index 0000000..144924a
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.alpha
@@ -0,0 +1,16 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "alpha"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
+	select ARCH_HAS_NO_LDSO
+	select UCLIBC_HAS_LFS
diff --git a/ap/build/uClibc/extra/Configs/Config.arm b/ap/build/uClibc/extra/Configs/Config.arm
new file mode 100644
index 0000000..0bb2971
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.arm
@@ -0,0 +1,38 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "arm"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+config CONFIG_ARM_EABI
+	bool "Build for EABI"
+	help
+	  If you say 'y' here, functions and constants required by the
+	  ARM EABI will be built into the library.  You should say 'y'
+	  if your compiler uses the ARM EABI, in which case you will also
+	  need a kernel supporting the EABI system call interface.
+
+	  If you say 'n' here, then the library will be built for the
+	  old Linux ABI.
+
+config COMPILE_IN_THUMB_MODE
+	bool "Build using Thumb mode"
+	select USE_BX
+	help
+	  Say 'y' here to force building uClibc in thumb mode.
+	  Say 'n' to use your compiler's default mode.
+
+config USE_BX
+	bool "Use BX in function return"
+	help
+	  Say 'y' to use BX to return from functions on your thumb-aware
+	  processor. Say 'y' if you need to use interworking. Say 'n' if not.
+	  It is safe to say 'y' even if you're not doing interworking.
diff --git a/ap/build/uClibc/extra/Configs/Config.avr32 b/ap/build/uClibc/extra/Configs/Config.avr32
new file mode 100644
index 0000000..cbadb4c
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.avr32
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "avr32"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select FORCE_SHAREABLE_TEXT_SEGMENTS
+
+choice
+	prompt "Target CPU Type"
+	default CONFIG_AVR32_AP7
+
+config CONFIG_AVR32_AP7
+	bool "AVR32 AP7"
+	select ARCH_HAS_MMU
+
+endchoice
+
+config LINKRELAX
+	bool "Enable linker optimizations"
+	default y
diff --git a/ap/build/uClibc/extra/Configs/Config.bfin b/ap/build/uClibc/extra/Configs/Config.bfin
new file mode 100644
index 0000000..a70afcf
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.bfin
@@ -0,0 +1,14 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "bfin"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
diff --git a/ap/build/uClibc/extra/Configs/Config.c6x b/ap/build/uClibc/extra/Configs/Config.c6x
new file mode 100644
index 0000000..96adfb3
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.c6x
@@ -0,0 +1,29 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	default "c6x"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+	select ARCH_HAS_NO_MMU
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_GENERIC_C6X
+
+config CONFIG_GENERIC_C6X
+	bool "Generic C6X DSP"
+
+config CONFIG_TMS320C64X
+	bool "TMS320C64X"
+
+config CONFIG_TMS320C64XPLUS
+	bool "TMS320C64X+"
+
+endchoice
+
diff --git a/ap/build/uClibc/extra/Configs/Config.cris b/ap/build/uClibc/extra/Configs/Config.cris
new file mode 100644
index 0000000..52ca0c3
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.cris
@@ -0,0 +1,34 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "cris"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+
+choice
+	prompt "Target Architecture Type"
+	default CONFIG_CRIS
+	help
+		This is the architecture type of your CPU. This information
+		is used for optimizing purposes.
+
+		Possible settings:
+		- CRIS  Generic support for Axis' CRIS architecture.
+		- CRISv32  Support for Axis' CRISv32 architecture.
+
+config CONFIG_CRIS
+	select ARCH_HAS_MMU
+	bool "CRIS"
+
+config CONFIG_CRISV32
+	select ARCH_HAS_MMU
+	bool "CRISv32"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.e1 b/ap/build/uClibc/extra/Configs/Config.e1
new file mode 100644
index 0000000..ecaa9f0
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.e1
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "e1"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select ARCH_HAS_NO_SHARED
diff --git a/ap/build/uClibc/extra/Configs/Config.frv b/ap/build/uClibc/extra/Configs/Config.frv
new file mode 100644
index 0000000..b389870
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.frv
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "frv"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select UCLIBC_HAS_FPU
+	select ARCH_HAS_NO_MMU
diff --git a/ap/build/uClibc/extra/Configs/Config.h8300 b/ap/build/uClibc/extra/Configs/Config.h8300
new file mode 100644
index 0000000..ffcb9c8
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.h8300
@@ -0,0 +1,28 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "h8300"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+	select ARCH_HAS_NO_MMU
+
+choice
+	prompt "Target Processor"
+	default CONFIG_H8300H
+	help
+	  This is the processor type of your CPU.
+
+config CONFIG_H8300H
+	bool "H8300H"
+
+config CONFIG_H8S
+	bool "H8S (edosk2674)"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.hppa b/ap/build/uClibc/extra/Configs/Config.hppa
new file mode 100644
index 0000000..1323de2
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.hppa
@@ -0,0 +1,17 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "hppa"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select ARCH_HAS_MMU
+	select HAS_NO_THREADS
+	select ARCH_HAS_NO_LDSO
+	select HAVE_NO_SSP
diff --git a/ap/build/uClibc/extra/Configs/Config.i386 b/ap/build/uClibc/extra/Configs/Config.i386
new file mode 100644
index 0000000..288aa5e
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.i386
@@ -0,0 +1,102 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "i386"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
+
+choice
+	prompt "Target x86 Processor Family"
+	default CONFIG_486
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes.  To build a library that will run on all x86 CPU
+	  types (albeit not optimally fast), you can specify "386" here.  If
+	  you pick anything other than "386", there is no guarantee that uClibc
+	  will even run on anything other than the selected processor type.
+
+	  Here are the settings recommended for greatest speed:
+	  - "Generic 386" select this if your compiler is already setup to 
+	     optimize things properly.
+	  - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
+	     486DLC/DLC2, UMC 486SX-S and NexGen Nx586.  Only "386" kernels
+	     will run on a 386 class machine.
+	  - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
+	     SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
+	  - "586" for Intel Pentium and other generic Pentium CPUs
+	  - "Pentium-MMX" for the Intel Pentium MMX.
+	  - "Pentium-Pro" for the Intel Pentium Pro/Celeron/Pentium II.
+	  - "Pentium-III" for the Intel Pentium III
+	     and Celerons based on the Coppermine core.
+	  - "Pentium-4" for the Intel Pentium 4.
+	  - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
+	  - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
+	  - "Elan" for the AMD Elan.
+	  - "Crusoe" for the Transmeta Crusoe series.
+	  - "Winchip-C6" for original IDT Winchip.
+	  - "Winchip-2/Winchip-2A/Winchip-3" for IDT Winchip CPUs
+	  - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
+	  - "VIA C3-2 Nehemiah" model 9 and above.
+
+	  If you don't know what to do, choose "386".
+
+config CONFIG_GENERIC_386
+	bool "Generic 386"
+
+config CONFIG_386
+	bool "386"
+
+config CONFIG_486
+	bool "486"
+
+config CONFIG_586
+	bool "Pentium/586/K5/5x86/6x86/6x86MX"
+
+config CONFIG_586MMX
+	bool "Pentium-MMX"
+
+config CONFIG_686
+	bool "Pentium-Pro"
+
+config CONFIG_PENTIUMII
+	bool "Celeron/Pentium-II"
+
+config CONFIG_PENTIUMIII
+	bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
+
+config CONFIG_PENTIUM4
+	bool "Pentium-4/Celeron(P4-based)/Xeon"
+
+config CONFIG_K6
+	bool "K6/K6-II/K6-III"
+
+config CONFIG_K7
+	bool "Athlon/Duron/K7"
+
+config CONFIG_ELAN
+	bool "Elan"
+
+config CONFIG_CRUSOE
+	bool "Crusoe"
+
+config CONFIG_WINCHIPC6
+	bool "Winchip-C6"
+
+config CONFIG_WINCHIP2
+	bool "Winchip-2/Winchip-2A/Winchip-3"
+
+config CONFIG_CYRIXIII
+	bool "CyrixIII/VIA-C3"
+
+config CONFIG_NEHEMIAH
+	bool "VIA C3-2 (Nehemiah)"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.i960 b/ap/build/uClibc/extra/Configs/Config.i960
new file mode 100644
index 0000000..798dae0
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.i960
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "i960"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select HAS_NO_THREADS
diff --git a/ap/build/uClibc/extra/Configs/Config.ia64 b/ap/build/uClibc/extra/Configs/Config.ia64
new file mode 100644
index 0000000..ae88be7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.ia64
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "ia64"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
+	select ARCH_HAS_NO_LDSO
diff --git a/ap/build/uClibc/extra/Configs/Config.in b/ap/build/uClibc/extra/Configs/Config.in
new file mode 100755
index 0000000..26346e7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.in
@@ -0,0 +1,2414 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+mainmenu "uClibc C Library Configuration"
+
+config DESIRED_TARGET_ARCH
+	string
+	option env="ARCH"
+
+choice
+	prompt "Target Architecture"
+	default TARGET_alpha if DESIRED_TARGET_ARCH = "alpha"
+	default TARGET_arm if DESIRED_TARGET_ARCH = "arm"
+	default TARGET_avr32 if DESIRED_TARGET_ARCH = "avr32"
+	default TARGET_bfin if DESIRED_TARGET_ARCH = "bfin"
+	default TARGET_cris if DESIRED_TARGET_ARCH = "cris"
+	default TARGET_e1 if DESIRED_TARGET_ARCH = "e1"
+	default TARGET_frv if DESIRED_TARGET_ARCH = "frv"
+	default TARGET_h8300 if DESIRED_TARGET_ARCH = "h8300"
+	default TARGET_hppa if DESIRED_TARGET_ARCH = "hppa"
+	default TARGET_i386 if DESIRED_TARGET_ARCH = "i386"
+	default TARGET_i960 if DESIRED_TARGET_ARCH = "i960"
+	default TARGET_ia64 if DESIRED_TARGET_ARCH = "ia64"
+	default TARGET_m68k if DESIRED_TARGET_ARCH = "m68k"
+	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
+	default TARGET_mips if DESIRED_TARGET_ARCH = "mips"
+	default TARGET_nios if DESIRED_TARGET_ARCH = "nios"
+	default TARGET_nios2 if DESIRED_TARGET_ARCH = "nios2"
+	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"
+	default TARGET_sh if DESIRED_TARGET_ARCH = "sh"
+	default TARGET_sh64 if DESIRED_TARGET_ARCH = "sh64"
+	default TARGET_sparc if DESIRED_TARGET_ARCH = "sparc"
+	default TARGET_v850 if DESIRED_TARGET_ARCH = "v850"
+	default TARGET_vax if DESIRED_TARGET_ARCH = "vax"
+	default TARGET_x86_64 if DESIRED_TARGET_ARCH = "x86_64"
+	default TARGET_xtensa if DESIRED_TARGET_ARCH = "xtensa"
+	help
+	  The architecture of your target.
+
+config TARGET_alpha
+	bool "alpha"
+
+config TARGET_arm
+	bool "arm"
+
+config TARGET_avr32
+	bool "avr32"
+
+config TARGET_bfin
+	bool "bfin"
+
+config TARGET_c6x
+	bool "c6x"
+
+config TARGET_cris
+	bool "cris"
+
+config TARGET_e1
+	bool "e1 (BROKEN)"
+
+config TARGET_frv
+	bool "frv (BROKEN)"
+
+config TARGET_h8300
+	bool "h8300 (BROKEN)"
+
+config TARGET_hppa
+	bool "hppa"
+
+config TARGET_i386
+	bool "i386"
+
+config TARGET_i960
+	bool "i960 (BROKEN)"
+
+config TARGET_ia64
+	bool "ia64"
+
+config TARGET_m68k
+	bool "m68k"
+
+config TARGET_microblaze
+	bool "microblaze"
+
+config TARGET_mips
+	bool "mips"
+
+config TARGET_nios
+	bool "nios"
+
+config TARGET_nios2
+	bool "nios2"
+
+config TARGET_powerpc
+	bool "powerpc"
+
+config TARGET_sh
+	bool "superh"
+
+config TARGET_sh64
+	bool "sh64"
+
+config TARGET_sparc
+	bool "sparc"
+
+config TARGET_v850
+	bool "v850 (BROKEN)"
+
+config TARGET_vax
+	bool "vax"
+
+config TARGET_x86_64
+	bool "x86_64"
+
+config TARGET_xtensa
+	bool "xtensa"
+
+endchoice
+
+
+menu "Target Architecture Features and Options"
+
+if TARGET_alpha
+source "extra/Configs/Config.alpha"
+endif
+
+if TARGET_arm
+source "extra/Configs/Config.arm"
+endif
+
+if TARGET_avr32
+source "extra/Configs/Config.avr32"
+endif
+
+if TARGET_bfin
+source "extra/Configs/Config.bfin"
+endif
+
+if TARGET_cris
+source "extra/Configs/Config.cris"
+endif
+
+if TARGET_e1
+source "extra/Configs/Config.e1"
+endif
+
+if TARGET_frv
+source "extra/Configs/Config.frv"
+endif
+
+if TARGET_h8300
+source "extra/Configs/Config.h8300"
+endif
+
+if TARGET_hppa
+source "extra/Configs/Config.hppa"
+endif
+
+if TARGET_i386
+source "extra/Configs/Config.i386"
+endif
+
+if TARGET_i960
+source "extra/Configs/Config.i960"
+endif
+
+if TARGET_ia64
+source "extra/Configs/Config.ia64"
+endif
+
+if TARGET_m68k
+source "extra/Configs/Config.m68k"
+endif
+
+if TARGET_nios
+source "extra/Configs/Config.nios"
+endif
+
+if TARGET_nios2
+source "extra/Configs/Config.nios2"
+endif
+
+if TARGET_microblaze
+source "extra/Configs/Config.microblaze"
+endif
+
+if TARGET_mips
+source "extra/Configs/Config.mips"
+endif
+
+if TARGET_powerpc
+source "extra/Configs/Config.powerpc"
+endif
+
+if TARGET_sh
+source "extra/Configs/Config.sh"
+endif
+
+if TARGET_sh64
+source "extra/Configs/Config.sh64"
+endif
+
+if TARGET_sparc
+source "extra/Configs/Config.sparc"
+endif
+
+if TARGET_v850
+source "extra/Configs/Config.v850"
+endif
+
+if TARGET_vax
+source "extra/Configs/Config.vax"
+endif
+
+if TARGET_x86_64
+source "extra/Configs/Config.x86_64"
+endif
+
+if TARGET_xtensa
+source "extra/Configs/Config.xtensa"
+endif
+
+if TARGET_c6x
+source "extra/Configs/Config.c6x"
+endif
+
+config TARGET_SUBARCH
+	string
+	default "e500" if CONFIG_E500
+	default "classic" if CONFIG_CLASSIC
+	default "sh4" if CONFIG_SH4
+	default "" if CONFIG_GENERIC_386 || CONFIG_386
+	default "i486" if CONFIG_486
+	default "i586" if CONFIG_586 || CONFIG_586MMX
+	default "i686" if TARGET_ARCH = "i386"
+	default ""
+
+source "extra/Configs/Config.in.arch"
+
+endmenu
+
+menu "General Library Settings"
+
+config HAVE_NO_PIC
+	bool
+
+config DOPIC
+	bool "Generate only Position Independent Code (PIC)"
+	default y
+	depends on !HAVE_NO_PIC
+	help
+	  If you wish to build all of uClibc as PIC objects, then answer Y here.
+	  If you are unsure, then you should answer N.
+
+config ARCH_HAS_NO_SHARED
+	bool
+
+config ARCH_HAS_NO_LDSO
+	bool
+	select ARCH_HAS_NO_SHARED
+
+config HAVE_SHARED
+	bool "Enable shared libraries"
+	depends on !ARCH_HAS_NO_SHARED
+	default y
+	help
+	  If you wish to build uClibc with support for shared libraries then
+	  answer Y here.  If you only want to build uClibc as a static library,
+	  then answer N.
+
+config FORCE_SHAREABLE_TEXT_SEGMENTS
+	bool "Only load shared libraries which can share their text segment"
+	depends on HAVE_SHARED
+	select DOPIC
+	help
+	  If you answer Y here, the uClibc native shared library loader will
+	  only load shared libraries, which do not need to modify any
+	  non-writable segments. These libraries haven't set the DT_TEXTREL
+	  tag in the dynamic section (==> objdump).
+	  All your libraries must be compiled with -fPIC or -fpic, and all
+	  assembler function must be written as position independent code (PIC).
+	  Enabling this option will make uClibc's shared library loader a
+	  little bit smaller and guarantee that no memory will be wasted by
+	  badly coded shared libraries.
+
+config LDSO_LDD_SUPPORT
+	bool "Native 'ldd' support"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable all the code needed to support traditional ldd,
+	  which executes the shared library loader to resolve all dependencies
+	  and then provide a list of shared libraries that are required for an
+	  application to function.  Disabling this option will make uClibc's
+	  shared library loader a little bit smaller.
+	  Most people will answer Y.
+
+config LDSO_CACHE_SUPPORT
+	bool "Enable library loader cache (ld.so.conf)"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable this to make use of /etc/ld.so.conf, the shared library loader
+	  cache configuration file to support for non-standard library paths.
+	  After updating this file, it is necessary to run 'ldconfig' to update
+	  the /etc/ld.so.cache shared library loader cache file.
+
+config LDSO_PRELOAD_ENV_SUPPORT
+	bool "Enable library loader LD_PRELOAD environment"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable this to make use of LD_PRELOAD environment variable.
+	  A whitespace-separated list of additional, user-specified, ELF shared
+	  libraries to be loaded before all others. This can be used to
+	  selectively override functions in other shared libraries. For
+	  set-user-ID/set-group-ID ELF binaries, only libraries in the standard
+	  search directories that are also set-user-ID will be loaded.
+
+config LDSO_PRELOAD_FILE_SUPPORT
+	bool "Enable library loader preload file (ld.so.preload)"
+	depends on HAVE_SHARED
+	help
+	  Enable this to make use of /etc/ld.so.preload. This file contains a
+	  whitespace separated list of shared libraries to be loaded before
+	  the program.
+
+config LDSO_BASE_FILENAME
+	string "Shared library loader naming prefix"
+	depends on HAVE_SHARED && (LDSO_CACHE_SUPPORT || LDSO_PRELOAD_FILE_SUPPORT)
+	default "ld.so"
+	help
+	  If you wish to support both uClibc and glibc on the same system, it
+	  is necessary to set this to something other than "ld.so" to avoid
+	  conflicts with glibc, which also uses "ld.so".  This prevents both
+	  libraries from using the same /etc/ld.so.* files.  If you wish to
+	  support both uClibc and glibc on the same system then you should set
+	  this to "ld-uClibc.so".
+
+	  Most people will leave this set to the default of "ld.so".
+
+	  WARNING: Changing the default prefix could cause problems with
+	           binutils' ld !
+
+config LDSO_STANDALONE_SUPPORT
+	bool "Dynamic linker stand-alone mode support"
+	depends on HAVE_SHARED
+	help
+	  The dynamic linker can be run either indirectly through running some
+	  dynamically linked program or library (in which case no command line
+	  options to the dynamic linker can be passed and, in the ELF case, the
+	  dynamic linker which is stored in the .interp section of the program
+	  is executed) or directly by running:
+
+	  /lib/ld-uClibc.so.*  [OPTIONS] [PROGRAM [ARGUMENTS]]
+
+	  Stand-alone execution is a prerequisite for adding prelink
+	  capabilities to uClibc dynamic linker, as well useful for testing an
+	  updated version of the dynamic linker without breaking the system.
+
+config LDSO_PRELINK_SUPPORT
+	bool "Dynamic linker prelink support"
+	depends on HAVE_SHARED
+	select LDSO_STANDALONE_SUPPORT
+	help
+	  The dynamic linker can be used in stand-alone mode by the prelink tool
+	  for prelinking ELF shared libraries and binaries to speed up startup
+	  time. It also is able to load and handle prelinked libraries and
+	  binaries at runtime.
+
+config UCLIBC_STATIC_LDCONFIG
+	bool "Link ldconfig statically"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Enable this option to statically link the ldconfig binary.
+
+	  Making ldconfig static can be beneficial if you have a library
+	  problem and need to use ldconfig to recover.  Sometimes it is
+	  preferable to instead keep the size of the system down, in which
+	  case you should disable this option.
+
+config LDSO_RUNPATH
+	bool "Enable ELF RUNPATH tag support"
+	depends on HAVE_SHARED
+	default y if LDSO_CACHE_SUPPORT
+	help
+	  ELF's may have dynamic RPATH/RUNPATH tags.  These tags list paths
+	  which extend the library search paths.  They are really only useful
+	  if a package installs libraries in non standard locations and
+	  ld.so.conf support is disabled.
+
+	  Usage of RUNPATH tags is not too common, so disabling this feature
+	  should be safe for most people.
+
+config LDSO_SEARCH_INTERP_PATH
+	bool "Add ldso path to lib search path"
+	depends on HAVE_SHARED
+	default y
+	help
+	  The ldso is told where it is being executed from and can use that
+	  path to find related core libraries.  This is useful by default,
+	  but can be annoying in a mixed development environment.
+
+	  i.e. if the ldso is run from /foo/boo/ldso.so, it will start its
+	  library search with /foo/boo/
+
+	  If unsure, simply say Y here.
+
+config LDSO_LD_LIBRARY_PATH
+	bool "Add LD_LIBRARY_PATH to lib search path"
+	depends on HAVE_SHARED
+	default y
+	help
+	  On hardened system it could be useful to disable the use of
+	  LD_LIBRARY_PATH environment variable (a colon-separated list of
+	  directories in which to search for ELF libraries at execution-time).
+
+	  If unsure, simply say Y here.
+
+config LDSO_NO_CLEANUP
+	bool "Disable automatic unloading of dynamically loaded shared objects"
+	depends on HAVE_SHARED
+	default n
+	help
+	  If you need complete allocation traces when debugging memory leaks
+	  using Valgrind in a process that dynamically loads shared objects,
+	  then answer Y here. Unlike glibc, uClibc unloads all dynamically
+	  loaded shared objects when a process exits, which prevents Valgrind
+	  from correctly resolving the symbols from the unloaded shared objects.
+	  Unless you know you need this, you should answer N.
+
+config UCLIBC_CTOR_DTOR
+	bool "Support global constructors and destructors"
+	default y
+	help
+	  If you wish to build uClibc with support for global constructor
+	  (ctor) and global destructor (dtor) support, then answer Y here.
+	  When ctor/dtor support is enabled, binaries linked with uClibc must
+	  also be linked with crtbegin.o and crtend.o which are provided by gcc
+	  (the "*startfile:" and "*endfile:" settings in your gcc specs file
+	  may need to be adjusted to include these files).  This support will
+	  also add a small amount of additional size to each binary compiled vs
+	  uClibc.  If you will be using uClibc with C++, or if you need the gcc
+	  __attribute__((constructor)) and __attribute__((destructor)) to work,
+	  then you definitely want to answer Y here.  If you don't need ctors
+	  or dtors and want your binaries to be as small as possible, then
+	  answer N.
+
+config LDSO_GNU_HASH_SUPPORT
+	bool "Enable GNU hash style support"
+	depends on HAVE_SHARED
+	help
+	  Newest binutils support a new hash style named GNU-hash. The dynamic
+	  linker will use the new GNU-hash section (.gnu.hash) for symbol lookup
+	  if present into the ELF binaries, otherwise it will use the old SysV
+	  hash style (.hash). This ensures that it is completely backward
+	  compatible.
+	  Further, being the hash table implementation self-contained into each
+	  executable and shared libraries, objects with mixed hash style can
+	  peacefully coexist in the same process.
+
+	  If you want to use this new feature, answer Y
+
+choice
+	prompt "Thread support"
+	#default UCLIBC_HAS_THREADS_NATIVE if (TARGET_alpha || TARGET_arm || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_sh || TARGET_sh64)
+	default HAS_NO_THREADS
+	help
+	  If you want to compile uClibc with pthread support, then answer Y.
+	  This will increase the size of uClibc by adding a bunch of locking
+	  to critical data structures, and adding extra code to ensure that
+	  functions are properly reentrant.
+
+config HAS_NO_THREADS
+	bool "none"
+	help
+	  Disable thread support.
+
+config LINUXTHREADS_OLD
+	bool "older (stable) version of linuxthreads"
+	# linuxthreads and linuxthreads.old need nanosleep()
+	select UCLIBC_HAS_REALTIME
+	help
+	  There are two versions of linuxthreads.  The older (stable) version
+	  has been in uClibc for quite a long time but hasn't seen too many
+	  updates other than bugfixes.
+
+
+config LINUXTHREADS_NEW
+	bool "slightly newer version of linuxthreads"
+	help
+	  The new version has not been tested much, and lacks ports for arches
+	  which glibc does not support (like bfin/frv/etc...), but is based on
+	  the latest code from glibc, so it may be the only choice for the
+	  newer ports (like alpha/amd64/64bit arches and hppa).
+
+config UCLIBC_HAS_THREADS_NATIVE
+	bool "Native POSIX Threading (NPTL)"
+	select UCLIBC_HAS_TLS
+	select UCLIBC_HAS_STDIO_FUTEXES
+	# i386 has no lowlevellock support (yet) as opposed to i486 onward
+	depends on !CONFIG_386
+	help
+	  If you want to compile uClibc with NPTL support, then answer Y.
+
+	  IMPORTANT NOTE!  NPTL requires a Linux 2.6 kernel, binutils
+	  at least version 2.16 and GCC with at least version 4.1.0. NPTL
+	  will not work with older versions of any above sources. If you
+	  ignore any of these guidelines, you do so at your own risk. Do
+	  not ask for help on any of the development mailing lists.
+
+	  !!!! WARNING !!!! BIG FAT WARNING !!!! REALLY BIG FAT WARNING !!!!
+
+	  This is experimental code and at times it may not even build and
+	  even if it does it might decide to do random damage. This code is
+	  potentially hazardous to your health and sanity. It will remain
+	  that way until further notice at which point this notice will
+	  disappear. Thank you for your support and for not smoking.
+
+endchoice
+
+config UCLIBC_HAS_THREADS
+	def_bool y if !HAS_NO_THREADS
+
+config UCLIBC_HAS_TLS
+	bool "Thread-Local Storage"
+	depends on UCLIBC_HAS_THREADS_NATIVE
+	help
+	  If you want to enable TLS support then answer Y.
+	  This is fast an efficient way to store per-thread local data
+	  which is not on stack. It needs __thread support enabled in
+	  gcc.
+
+config PTHREADS_DEBUG_SUPPORT
+	bool "Build pthreads debugging support"
+	depends on UCLIBC_HAS_THREADS
+	help
+	  Say Y here if you wish to be able to debug applications that use
+	  uClibc's pthreads library.  By enabling this option, a library
+	  named libthread_db will be built.  This library will be dlopen()'d
+	  by gdb and will allow gdb to debug the threads in your application.
+
+	  IMPORTANT NOTE!  Because gdb must dlopen() the libthread_db library,
+	  you must compile gdb with uClibc in order for pthread debugging to
+	  work properly.
+
+	  If you are doing development and want to debug applications using
+	  uClibc's pthread library, answer Y.  Otherwise, answer N.
+
+
+config UCLIBC_HAS_SYSLOG
+	bool "Syslog support"
+	default y
+	depends on UCLIBC_HAS_NETWORK_SUPPORT
+	select UCLIBC_HAS_SOCKET
+	help
+	  Support sending messages to the system logger.
+	  This requires socket-support.
+
+config UCLIBC_HAS_LFS
+	bool "Large File Support"
+	default y
+	help
+	  If you wish to build uClibc with support for accessing large files
+	  (i.e. files greater then 2 GiB) then answer Y.  Do not enable this
+	  if you are using an older Linux kernel (2.0.x) that lacks large file
+	  support.  Enabling this option will increase the size of uClibc.
+
+choice
+	prompt "Malloc Implementation"
+	default MALLOC if ! ARCH_USE_MMU
+	default MALLOC_STANDARD if ARCH_USE_MMU
+
+config MALLOC
+	bool "malloc"
+	help
+	  "malloc" use mmap for all allocations and so works very well on
+	  MMU-less systems that do not support the brk() system call.   It is
+	  pretty smart about reusing already allocated memory, and minimizing
+	  memory wastage.
+	  This is the default for uClinux MMU-less systems.
+
+config MALLOC_SIMPLE
+	bool "malloc-simple"
+	help
+	  "malloc-simple" is trivially simple and slow as molasses.  It
+	  was written from scratch for uClibc, and is the simplest possible
+	  (and therefore smallest) malloc implementation.
+
+	  This uses only the mmap() system call to allocate and free memory,
+	  and does not use the brk() system call at all, making it a fine
+	  choice for MMU-less systems with very limited memory.  It's 100%
+	  standards compliant, thread safe, very small, and releases freed
+	  memory back to the OS immediately rather than keeping it in the
+	  process's heap for reallocation.  It is also VERY SLOW.
+
+config MALLOC_STANDARD
+	bool "malloc-standard"
+	depends on ARCH_USE_MMU
+	help
+	  "malloc-standard" is derived from the public domain dlmalloc
+	  implementation by Doug Lea.  It is quite fast, and is pretty smart
+	  about reusing already allocated memory, and minimizing memory
+	  wastage.  This uses brk() for small allocations, while using mmap()
+	  for larger allocations.  This is the default malloc implementation
+	  for uClibc.
+
+	  If unsure, answer "malloc-standard".
+
+endchoice
+
+config MALLOC_GLIBC_COMPAT
+	bool "Malloc returns live pointer for malloc(0)"
+	help
+	  The behavior of malloc(0) is listed as implementation-defined by
+	  SuSv3.  Glibc returns a valid pointer to something, while uClibc
+	  normally returns NULL.  I personally feel glibc's behavior is
+	  not particularly safe, and allows buggy applications to hide very
+	  serious problems.
+
+	  When this option is enabled, uClibc will act just like glibc, and
+	  return a live pointer when someone calls malloc(0).  This pointer
+	  provides a malloc'ed area with a size of 1 byte.  This feature is
+	  mostly useful when dealing with applications using autoconf's broken
+	  AC_FUNC_MALLOC macro (which redefines malloc as rpl_malloc if it
+	  does not detect glibc style returning-a-valid-pointer-for-malloc(0)
+	  behavior).  Most people can safely answer N.
+
+config UCLIBC_DYNAMIC_ATEXIT
+	bool "Dynamic atexit() Support"
+	default y
+	help
+	  When this option is enabled, uClibc will support an infinite number,
+	  of atexit() and on_exit() functions, limited only by your available
+	  memory.  This can be important when uClibc is used with C++, since
+	  global destructors are implemented via atexit(), and it is quite
+	  possible to exceed the default number when this option is disabled.
+	  Enabling this option adds a few bytes, and more significantly makes
+	  atexit and on_exit depend on malloc, which can be bad when compiling
+	  static executables.
+
+	  Unless you use uClibc with C++, you should probably answer N.
+
+config COMPAT_ATEXIT
+	bool "Old (visible) atexit Support"
+	help
+	  Enable this option if you want to update from 0.9.28 to git/0.9.29,
+	  else you will be missing atexit() until you rebuild all apps.
+
+config UCLIBC_SUSV3_LEGACY
+	bool "Enable SuSv3 LEGACY functions"
+	#vfork,
+	# h_errno
+	# gethostbyaddr
+	# gethostbyname
+	help
+	  Enable this option if you want to have SuSv3 LEGACY functions
+	  in the library, else they are replaced by SuSv3 proposed macros.
+	  Currently applies to:
+
+	  bcmp, bcopy, bzero, index, rindex, ftime,
+	  bsd_signal, (ecvt), (fcvt), gcvt, (getcontext),
+	  (getwd), (makecontext),
+	  mktemp, (pthread_attr_getstackaddr), (pthread_attr_setstackaddr),
+	  scalb, (setcontext), (swapcontext), ualarm, usleep,
+	  wcswcs.
+
+	  WARNING! ABI incompatibility.
+
+config UCLIBC_SUSV3_LEGACY_MACROS
+	bool "Enable SuSv3 LEGACY macros"
+	help
+	  Enable this option if you want to have SuSv3 LEGACY macros.
+	  Currently applies to bcopy/bzero/bcmp/index/rindex et al.
+	  WARNING! ABI incompatibility.
+
+config UCLIBC_SUSV4_LEGACY
+	bool "Enable SuSv4 LEGACY or obsolescent functions"
+	help
+	  Enable this option if you want to have SuSv4 LEGACY functions
+	  and macros in the library.
+	  Currently applies to:
+
+	  - XSI functions:
+	    _longjmp, _setjmp, _tolower, _toupper, ftw, getitimer,
+	    gettimeofday, isascii, pthread_getconcurrency,
+	    pthread_setconcurrency, setitimer, setpgrp, sighold,
+	    sigignore, sigpause, sigrelse, sigset, siginterrupt,
+	    tempnam, toascii, ulimit.
+
+	  - Base functions:
+	    asctime, asctime_r, ctime, ctime_r, gets, rand_r,
+	    tmpnam, utime.
+
+	  WARNING! ABI incompatibility.
+
+config UCLIBC_STRICT_HEADERS
+	bool "Hide structures and constants for unsupported features"
+	help
+	  Hide structures and constants in headers that should not be used,
+	  because the respective feature is disabled.
+
+	  WARNING! enabling this option requires to patch many faulty apps,
+	  since they make (wrongly) use of these structures/constants,
+	  although the feature was disabled.
+
+config UCLIBC_HAS_STUBS
+	bool "Provide stubs for unavailable functionality"
+	help
+	  With this option uClibc provides non-functional stubs for
+	  functions which are impossible to implement on the target
+	  architecture. Otherwise, such functions are simply omitted.
+
+config UCLIBC_HAS_SHADOW
+	bool "Shadow Password Support"
+	default y
+	help
+	  Answer N if you do not need shadow password support.
+	  Most people will answer Y.
+
+config UCLIBC_HAS_PROGRAM_INVOCATION_NAME
+	bool "Support for program_invocation_name"
+	help
+	  Support for the GNU-specific program_invocation_name and
+	  program_invocation_short_name strings.  Some GNU packages
+	  (like tar and coreutils) utilize these for extra useful
+	  output, but in general are not required.
+
+	  At startup, these external strings are automatically set
+	  up based on the value of ARGV[0].
+
+	  If unsure, just answer N.
+
+config UCLIBC_HAS___PROGNAME
+	bool "Support for __progname"
+	default y
+	depends on UCLIBC_HAS_PROGRAM_INVOCATION_NAME
+	help
+	  Some packages (like openssh) like to peek into internal libc
+	  symbols to make their output a bit more user friendly.
+
+	  At startup, __progname is automatically set up based on the
+	  value of ARGV[0].
+
+	  If unsure, just answer N.
+
+config UCLIBC_HAS_PTY
+	bool "Support for pseudo-terminals"
+	default y
+	help
+	  This enables support for pseudo-terminals (see man 4 pts
+	  and man 7 pty).
+
+	  If unsure, just answer Y.
+
+config ASSUME_DEVPTS
+	bool "Assume that /dev/pts is a devpts or devfs file system"
+	default y
+	depends on UCLIBC_HAS_PTY
+	help
+	  Enable this if /dev/pts is on a devpts or devfs filesystem.  Both
+	  these filesystems automatically manage permissions on the /dev/pts
+	  devices.  You may need to mount your devpts or devfs filesystem on
+	  /dev/pts for this to work.
+
+	  Most people should answer Y.
+
+config UNIX98PTY_ONLY
+	bool "Support only Unix 98 PTYs"
+	default y
+	depends on UCLIBC_HAS_PTY
+	help
+	  If you want to support only Unix 98 PTYs enable this.  Some older
+	  applications may need this disabled and will thus use legacy BSD
+	  style PTY handling which is more complex and also bigger than
+	  Unix 98 PTY handling.
+
+	  For most current programs, you can generally answer Y.
+
+if UNIX98PTY_ONLY
+config UCLIBC_HAS_GETPT
+	bool "Support getpt() (glibc-compat)"
+	depends on UCLIBC_HAS_PTY
+	help
+	  Some packages may need getpt().
+	  All of those are non-standard and can be considered
+	  GNU/libc compatibility.
+	  Either use posix_openpt() or just open /dev/ptmx yourself.
+
+	  If unsure, just say N.
+endif
+
+if !UNIX98PTY_ONLY
+# Have to use __libc_ptyname{1,2}[] and related bloat
+config UCLIBC_HAS_GETPT
+	def_bool y
+endif
+
+config UCLIBC_HAS_LIBUTIL
+	bool "Provide libutil library and functions"
+	depends on UCLIBC_HAS_PTY
+	help
+	  Provide a libutil library.
+	  This non-standard conforming library provides the following
+	  utility functions:
+
+	  forkpty(): combines openpty(), fork(2), and login_tty() to
+	               create a new process operating in a pseudo-terminal.
+	  login(): write utmp and wtmp entries
+	  login_tty(): prepares for a login on the tty fd by creating a
+	               new session, making fd the controlling terminal for
+	               the calling process, setting fd to be the standard
+	               input, output, and error streams of the current
+	               process, and closing fd.
+	  logout(): write utmp and wtmp entries
+	  logwtmp(): constructs a utmp structure and calls updwtmp() to
+	               append the structure to the utmp file.
+	  openpty(): finds an available pseudo-terminal and returns
+	               file descriptors for the master and slave
+
+	  This library adds about 3k-4k to your system.
+
+config UCLIBC_HAS_TM_EXTENSIONS
+	bool "Support 'struct tm' timezone extension fields"
+	default y
+	help
+	  Enabling this option adds fields to 'struct tm' in time.h for
+	  tracking the number of seconds east of UTC, and an abbreviation for
+	  the current timezone.  These fields are not specified by the SuSv3
+	  standard, but they are commonly used in both GNU and BSD application
+	  code.
+
+	  To strictly follow the SuSv3 standard, leave this disabled.
+	  Most people will probably want to answer Y.
+
+config UCLIBC_HAS_TZ_CACHING
+	bool "Enable caching of the last valid timezone 'TZ' string"
+	default y
+	help
+	  Answer Y to enable caching of the last valid 'TZ' string describing
+	  the timezone setting.  This allows a quick string compare to avoid
+	  repeated parsing of unchanged 'TZ' strings when tzset() is called.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_TZ_FILE
+	bool "Enable '/etc/TZ' file support to set a default timezone (uClibc-specific)"
+	default y
+	help
+	  Answer Y to enable the setting of a default timezone for uClibc.
+
+	  Ordinarily, uClibc gets the timezone information exclusively from the
+	  'TZ' environment variable.  In particular, there is no support for
+	  the zoneinfo directory tree or the /etc/timezone file used by glibc.
+
+	  With this option enabled, uClibc will use the value stored in the
+	  file '/etc/TZ' (default path) to obtain timezone information if the
+	  'TZ' environment variable is missing or has an invalid value.  The
+	  file consists of a single line (newline required) of text describing
+	  the timezone in the format specified for the TZ environment variable.
+
+	  Doing 'echo CST6CDT > /etc/TZ' is enough to create a valid file.
+	  See
+	  http://www.opengroup.org/onlinepubs/007904975/basedefs/xbd_chap08.html
+	  for details on valid settings of 'TZ'.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_TZ_FILE_READ_MANY
+	bool "Repeatedly read the '/etc/TZ' file"
+	depends on UCLIBC_HAS_TZ_FILE
+	default y
+	help
+	  Answer Y to enable repeated reading of the '/etc/TZ' file even after
+	  a valid value has been read.  This incurs the overhead of an
+	  open/read/close for each tzset() call (explicit or implied).  However,
+	  setting this will allow applications to update their timezone
+	  information if the contents of the file change.
+
+	  Most people will answer Y.
+
+config UCLIBC_TZ_FILE_PATH
+	string "Path to the 'TZ' file for setting the global timezone"
+	depends on UCLIBC_HAS_TZ_FILE
+	default "/etc/TZ"
+	help
+	  This is the path to the 'TZ' file.
+
+	  Most people will use the default of '/etc/TZ'.
+
+config UCLIBC_FALLBACK_TO_ETC_LOCALTIME
+	bool "Use /etc/localtime as a fallback"
+	depends on UCLIBC_HAS_TZ_FILE
+	default y
+	help
+	  Answer Y to try to use /etc/localtime file.
+	  On glibc systems this file (if it is in TZif2 format)
+	  contains timezone string at the end.
+
+	  Most people will answer Y.
+
+endmenu
+
+menu "Advanced Library Settings"
+
+config UCLIBC_PWD_BUFFER_SIZE
+	int "Buffer size for getpwnam() and friends"
+	default 256
+	range 12 1024
+	help
+	  This sets the value of the buffer size for getpwnam() and friends.
+	  By default, this is 256. (For reference, glibc uses 1024).
+	  The value can be found using sysconf() with the _SC_GETPW_R_SIZE_MAX
+	  parameter.
+
+config UCLIBC_GRP_BUFFER_SIZE
+	int "Buffer size for getgrnam() and friends"
+	default 256
+	range 12 1024
+	help
+	  This sets the value of the buffer size for getgrnam() and friends.
+	  By default, this is 256. (For reference, glibc uses 1024).
+	  The value can be found using sysconf() with the _SC_GETGR_R_SIZE_MAX
+	  parameter.
+
+comment "Support various families of functions"
+
+config UCLIBC_LINUX_MODULE_26
+	bool "Linux kernel module functions (2.6)"
+	default y
+	help
+	  delete_module, init_module
+	  are used in linux for loadable kernel modules.
+
+	  Say N if you do not use kernel modules.
+
+config UCLIBC_LINUX_MODULE_24
+	bool "Linux kernel module functions (<2.6)"
+	depends on !TARGET_bfin && !TARGET_c6x
+	help
+	  create_module, query_module
+	  are used in linux (prior to 2.6) for loadable kernel modules.
+
+	  Say N if you do not use kernel modules, or you only support
+	  Linux 2.6+.
+
+config UCLIBC_LINUX_SPECIFIC
+	bool "Linux specific functions"
+	default y
+	help
+	  accept4(), bdflush(),
+	  capget(), capset(), eventfd(), fstatfs(),
+	  inotify_*(), ioperm(), iopl(),
+	  madvise(), modify_ldt(), pipe2(), personality(),
+	  prctl()/arch_prctl(), pivot_root(), modify_ldt(),
+	  ppoll(), readahead(), reboot(), remap_file_pages(),
+	  sched_getaffinity(), sched_setaffinity(), sendfile(),
+	  setfsgid(), setfsuid(), setresgid(), setresuid(),
+	  splice(), vmsplice(), tee(), signalfd(), swapoff(), swapon(),
+	  sync_file_range(), _sysctl(), sysinfo(), timerfd_*(), vhangup(),
+	  umount(), umount2()
+
+config UCLIBC_HAS_GNU_ERROR
+	bool "Support GNU extensions for error-reporting"
+	default y
+	help
+	  Support for the GNU-specific error(), error_at_line(),
+	  void (* error_print_progname)(), error_message_count
+	  functions and variables.  Some GNU packages
+	  utilize these for extra useful output, but in general
+	  are not required.
+
+	  If unsure, just answer N.
+
+config UCLIBC_BSD_SPECIFIC
+	bool "BSD specific functions"
+	default y
+	help
+	  mincore(), getdomainname(), setdomainname()
+
+	  If unsure, say N.
+
+config UCLIBC_HAS_BSD_ERR
+	bool "BSD err functions"
+	default y
+	help
+	  These functions are non-standard BSD extensions.
+	  err(), errx(), warn(), warnx(), verr(), verrx(), vwarn(), vwarnx()
+
+	  If unsure, say N.
+
+config UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
+	bool "BSD obsolete signal functions"
+	help
+	  These functions are provided as a compatibility interface for
+	  programs that make use of the historical System V signal API.
+	  This API is obsolete:
+	  new applications should use the POSIX signal API (sigaction(2),
+	  sigprocmask(2), etc.).
+	  Affected functions:
+
+	  sigset(), sighold(), sigrelse(), sigignore()
+
+	  If unsure, say N.
+
+config UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL
+	bool "SYSV obsolete signal functions"
+	help
+	  Use of sysv_signal() should be avoided; use sigaction(2) instead.
+
+	  If unsure, say N.
+
+config UCLIBC_NTP_LEGACY
+	bool "ntp_*() aliases"
+	help
+	  Provide legacy aliases for ntp functions:
+	  ntp_adjtime(), ntp_gettime()
+
+	  It is safe to say N here.
+
+config UCLIBC_SV4_DEPRECATED
+	bool "Enable SVr4 deprecated functions"
+	help
+	  These functions are DEPRECATED in System V release 4.
+	  Say N unless you desparately need one of the functions below:
+
+	  ustat() [use statfs(2) in your code instead]
+
+config UCLIBC_HAS_REALTIME
+	bool "Realtime-related family of SUSv functions"
+	default y
+	help
+	  These functions are part of the Timers option and need not
+	  be available on all implementations.
+	  Includes AIO, message-queue, scheduler, semaphore functions:
+
+	  aio.h
+	  mqueue.h
+	  sched.h
+	  semaphore.h
+
+	  aio_cancel()
+	  aio_error()
+	  aio_fsync()
+	  aio_read()
+	  lio_listio()
+	  aio_return()
+	  aio_suspend()
+	  aio_write()
+	  clock_getres(), clock_gettime(), clock_settime()
+	  fdatasync()
+	  mlockall(), munlockall()
+	  mlock(), munlock()
+	  mq_close()
+	  mq_getattr()
+	  mq_notify()
+	  mq_open()
+	  mq_receive()
+	  mq_send()
+	  mq_setattr()
+	  mq_unlink()
+	  nanosleep()
+	  sched_getparam()
+	  sched_get_priority_max(), sched_get_priority_min()
+	  sched_getscheduler()
+	  sched_rr_get_interval()
+	  sched_setparam()
+	  sched_setscheduler()
+	  sem_close()
+	  sem_destroy()
+	  sem_getvalue()
+	  sem_init()
+	  sem_open()
+	  sem_post()
+	  sem_trywait(), sem_wait()
+	  sem_unlink()
+	  sigqueue()
+	  sigtimedwait(), sigwaitinfo()
+	  timer_create()
+	  timer_delete()
+	  timer_getoverrun(), timer_gettime(), timer_settime()
+
+config UCLIBC_HAS_ADVANCED_REALTIME
+	bool "Advanced realtime-related family of SUSv functions"
+	default y
+	depends on UCLIBC_HAS_REALTIME
+	help
+	  These functions are part of the Timers option and need not
+	  be available on all implementations.
+
+	  clock_getcpuclockid()
+	  clock_nanosleep()
+	  mq_timedreceive()
+	  mq_timedsend()
+	  posix_fadvise()
+	  posix_fallocate()
+	  posix_madvise()
+	  posix_memalign()
+	  posix_mem_offset()
+	  posix_spawnattr_destroy(), posix_spawnattr_init()
+	  posix_spawnattr_getflags(), posix_spawnattr_setflags()
+	  posix_spawnattr_getpgroup(), posix_spawnattr_setpgroup()
+	  posix_spawnattr_getschedparam(), posix_spawnattr_setschedparam()
+	  posix_spawnattr_getschedpolicy(), posix_spawnattr_setschedpolicy()
+	  posix_spawnattr_getsigdefault(), posix_spawnattr_setsigdefault()
+	  posix_spawnattr_getsigmask(), posix_spawnattr_setsigmask()
+	  posix_spawn_file_actions_addclose()
+	  posix_spawn_file_actions_adddup2()
+	  posix_spawn_file_actions_addopen()
+	  posix_spawn_file_actions_destroy()
+	  posix_spawn_file_actions_init()
+	  posix_spawn()
+	  posix_spawnp()
+	  posix_typed_mem_get_info()
+	  pthread_mutex_timedlock()
+	  sem_timedwait()
+
+#config UCLIBC_HAS_TERMIOS
+#	bool "termios functions"
+#	default y
+#	help
+#	  Get and set terminal attributes, line control, get and set baud
+#	  rate.
+#	  termios(), tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(),
+#	  tcflush(), tcflow(), cfmakeraw(), cfgetospeed(), cfgetispeed(),
+#	  cfsetispeed(), cfsetospeed(), cfsetspeed()
+#
+#	  If unsure, say Y.
+
+config UCLIBC_HAS_EPOLL
+	bool "epoll"
+	default y
+	help
+	  epoll_create(), epoll_ctl(), epoll_wait() functions.
+
+config UCLIBC_HAS_XATTR
+	bool "Extended Attributes"
+	default y
+	help
+	  Extended Attributes support.
+
+	  setxattr()
+	  lsetxattr()
+	  fsetxattr()
+	  getxattr()
+	  lgetxattr()
+	  fgetxattr()
+	  listxattr()
+	  llistxattr()
+	  flistxattr()
+	  removexattr()
+	  lremovexattr()
+	  fremovexattr()
+
+	  Say N unless you need support for extended attributes and the
+	  filesystems do actually support them.
+
+config UCLIBC_HAS_PROFILING
+	bool "Profiling support"
+	default y
+	help
+	  gcc's -finstrument-functions needs these.
+
+	  Most people can safely answer N.
+
+config UCLIBC_HAS_CRYPT_IMPL
+	bool "libcrypt support"
+	default y
+	help
+	  libcrypt contains crypt(), setkey() and encrypt()
+
+config UCLIBC_HAS_SHA256_CRYPT_IMPL
+	bool "libcrypt SHA256 support"
+	depends on UCLIBC_HAS_CRYPT_IMPL
+	help
+	  This adds support for SHA256 password hashing via the crypt() function.
+	  Say N here if you do not need SHA256 crypt support.
+
+config UCLIBC_HAS_SHA512_CRYPT_IMPL
+	bool "libcrypt SHA512 support"
+	depends on UCLIBC_HAS_CRYPT_IMPL
+	help
+	  This adds support for SHA512 password hashing via the crypt() function.
+	  Say N here if you do not need SHA512 crypt support.
+
+config UCLIBC_HAS_CRYPT_STUB
+	bool "libcrypt stubs"
+	default y
+	depends on !UCLIBC_HAS_CRYPT_IMPL
+	help
+	  Standards mandate that crypt(3) provides a stub if it is unavailable.
+	  If you enable this option then stubs for
+	    crypt(), setkey() and encrypt()
+	  will be provided in a small libcrypt.
+
+config UCLIBC_HAS_CRYPT
+	def_bool y
+	depends on UCLIBC_HAS_CRYPT_IMPL || UCLIBC_HAS_CRYPT_STUB
+endmenu
+
+menuconfig UCLIBC_HAS_NETWORK_SUPPORT
+	bool "Networking Support"
+	default y
+	help
+	  Say N here if you do not need network support.
+
+if UCLIBC_HAS_NETWORK_SUPPORT
+config UCLIBC_HAS_SOCKET
+	bool "Socket support"
+	default y
+	help
+	  If you want to include support for sockets then answer Y.
+
+config UCLIBC_HAS_IPV4
+	bool "IP version 4 support"
+	default y
+	select UCLIBC_HAS_SOCKET
+	help
+	  If you want to include support for the Internet Protocol
+	  (IP version 4) then answer Y.
+
+	  Most people will say Y.
+
+config UCLIBC_HAS_IPV6
+	bool "IP version 6 support"
+	select UCLIBC_HAS_SOCKET
+	help
+	  If you want to include support for the next version of the Internet
+	  Protocol (IP version 6) then answer Y.
+
+	  Most people should answer N.
+
+config UCLIBC_HAS_RPC
+	bool "Remote Procedure Call (RPC) support"
+	# RPC+socket-ipvX doesn't currently work.
+	depends on UCLIBC_HAS_IPV4 || UCLIBC_HAS_IPV6
+	help
+	  If you want to include RPC support, enable this.  RPC is rarely used
+	  for anything except for the NFS filesystem.  Unless you plan to use
+	  NFS, you can probably leave this set to N and save some space.
+
+	  If you need to use NFS then you should answer Y.
+
+config UCLIBC_HAS_FULL_RPC
+	bool "Full RPC support"
+	depends on UCLIBC_HAS_RPC
+	default y if !HAVE_SHARED
+	help
+	  Normally we enable just enough RPC support for things like rshd and
+	  nfs mounts to work.  If you find you need the rest of the RPC stuff,
+	  then enable this option.  Most people can safely answer N.
+
+config UCLIBC_HAS_REENTRANT_RPC
+	bool "Reentrant RPC support"
+	depends on UCLIBC_HAS_RPC
+	default y if !HAVE_SHARED
+	help
+	  Most packages utilize the normal (non-reentrant) RPC functions, but
+	  some (like exportfs from nfs-utils) need these reentrant versions.
+
+	  Most people can safely answer N.
+
+config UCLIBC_USE_NETLINK
+	bool "Use netlink to query interfaces"
+	depends on UCLIBC_HAS_SOCKET
+	help
+	  In newer versions of Linux (2.4.17+), support was added for querying
+	  network device information via netlink rather than the old style
+	  ioctl's.  Most of the time, the older ioctl style is sufficient (and
+	  it is smaller than netlink), but if you find that not all of your
+	  devices are being returned by the if_nameindex() function, you will
+	  have to use the netlink implementation.
+
+	  Most people can safely answer N.
+
+config UCLIBC_SUPPORT_AI_ADDRCONFIG
+	bool "Support the AI_ADDRCONFIG flag"
+	depends on UCLIBC_USE_NETLINK
+	help
+	  The implementation of AI_ADDRCONFIG is aligned with the glibc
+	  implementation using netlink to query interfaces to find both
+	  ipv4 and ipv6 support. This is only needed if an application uses
+	  the AI_ADDRCONFIG flag.
+
+	  Most people can safely answer N.
+
+config UCLIBC_HAS_BSD_RES_CLOSE
+	bool "Support res_close() (bsd-compat)"
+	help
+	  Answer Y if you desperately want to support BSD compatibility in
+	  the network code.
+
+	  Most people will say N.
+
+config UCLIBC_HAS_COMPAT_RES_STATE
+	bool "Use compatible but bloated _res"
+	default y
+	help
+	  Answer Y if you build network utilities and they muck with resolver
+	  internals a lot (_res global structure). uclibc does not use most
+	  of _res.XXX fields, and with this option OFF they won't even exist.
+	  Which will make e.g. dig build fail.
+	  Answering N saves around 400 bytes in bss.
+
+config UCLIBC_HAS_EXTRA_COMPAT_RES_STATE
+	bool "Use extra compatible but extra bloated _res"
+	help
+	  Answer Y if selecting UCLIBC_HAS_COMPAT_RES_STATE is not enough.
+	  As far as I can say, this should never be needed.
+
+config UCLIBC_HAS_RESOLVER_SUPPORT
+	bool "DNS resolver functions"
+	select UCLIBC_HAS_COMPAT_RES_STATE
+	depends on UCLIBC_HAS_IPV4 || UCLIBC_HAS_IPV6
+	help
+	  Provide implementations for DNS resolver functions.
+	  In particular, the following functions will be added to the
+	  library:
+
+	  ns_get16, ns_get32, ns_put16, ns_put32
+
+config UCLIBC_HAS_LIBRESOLV_STUB
+	bool "Provide libresolv stub"
+	help
+	  Provide a dummy resolv library.
+
+config UCLIBC_HAS_LIBNSL_STUB
+	bool "Provide libnsl stub"
+	help
+	  Provide a dummy nsl library.
+
+endif
+
+
+menu "String and Stdio Support"
+
+config UCLIBC_HAS_STRING_GENERIC_OPT
+	bool "Use faster (but larger) generic string functions"
+	default y
+	help
+	  Answer Y to use the (tweaked) glibc generic string functions.
+
+	  In general, they are faster (but 3-5K larger) than the base
+	  uClibc string functions which are optimized solely for size.
+
+	  Many people will answer Y.
+
+config UCLIBC_HAS_STRING_ARCH_OPT
+	bool "Use arch-specific assembly string functions (where available)"
+	default y
+	help
+	  Answer Y to use any archtecture-specific assembly language string
+	  functions available for this target plaform.
+
+	  Note that assembly implementations are not available for all string
+	  functions, so some generic (written in C) string functions may
+	  still be used.
+
+	  These are small and fast, the only reason _not_ to say Y here is
+	  for debugging purposes.
+
+config UCLIBC_HAS_CTYPE_TABLES
+	bool "Use Table Versions Of 'ctype.h' Functions."
+	default y
+	help
+	  Answer Y to use table versions of the 'ctype.h' functions.
+	  While the non-table versions are often smaller when building
+	  statically linked apps, they work only in stub locale mode.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_CTYPE_SIGNED
+	bool "Support Signed Characters In 'ctype.h' Functions."
+	depends on UCLIBC_HAS_CTYPE_TABLES
+	default y
+	help
+	  Answer Y to enable support for passing signed char values to
+	  the 'ctype.h' functions.  ANSI/ISO C99 and SUSv3 specify that
+	  these functions are only defined for unsigned char values and
+	  EOF.  However, glibc allows negative signed char values as well
+	  in order to support 'broken old programs'.
+
+	  Most people will answer Y.
+
+choice
+	prompt "ctype argument checking"
+	depends on UCLIBC_HAS_CTYPE_TABLES
+	default UCLIBC_HAS_CTYPE_UNSAFE
+	help
+	  Please select the invalid arg behavior you want for the 'ctype'
+	  functions.
+
+	  The 'ctype' functions are now implemented using table lookups, with
+	  the arg being the index.  This can result in incorrect memory accesses
+	  or even segfaults for args outside of the allowed range.
+
+	  NOTE: This only affects the 'ctype' _functions_.  It does not affect
+	  the macro implementations.
+
+config UCLIBC_HAS_CTYPE_UNSAFE
+	bool "Do not check -- unsafe"
+
+config UCLIBC_HAS_CTYPE_CHECKED
+	bool "Detect and handle appropriately"
+
+config UCLIBC_HAS_CTYPE_ENFORCED
+	bool "Issue a diagnostic and abort()"
+
+endchoice
+
+
+config UCLIBC_HAS_WCHAR
+	bool "Wide Character Support"
+	help
+	  Answer Y to enable wide character support.  This will make uClibc
+	  much larger.  It is also currently required for locale support.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_LOCALE
+	bool "Locale Support"
+	select UCLIBC_HAS_WCHAR
+	select UCLIBC_HAS_CTYPE_TABLES
+	help
+	  uClibc now has full ANSI/ISO C99 locale support (except for
+	  wcsftime() and collating items in regex).  Be aware that enabling
+	  this option will make uClibc much larger.
+
+	  Enabling UCLIBC_HAS_LOCALE with the default set of supported locales
+	  (169 UTF-8 locales, and 144 locales for other codesets) will enlarge
+	  uClibc by around 300k.  You can reduce this size by building your own
+	  custom set of locate data (see extra/locale/LOCALES for details).
+
+	  uClibc's locale support is still under development.  For example,
+	  codesets using shift states are not currently supported.  Support is
+	  planned in the next iteration of locale support.
+
+	  Answer Y to enable locale support.  Most people will answer N.
+
+choice
+
+prompt "Locale data"
+	depends on UCLIBC_HAS_LOCALE
+	default UCLIBC_BUILD_ALL_LOCALE
+
+config UCLIBC_BUILD_ALL_LOCALE
+	bool "All locales"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  This builds all the locales that are available on your
+	  host-box.
+
+config UCLIBC_BUILD_MINIMAL_LOCALE
+	bool "Only selected locales"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  If you do not need all locales that are available on your
+	  host-box, then set this to 'Y'.
+
+config UCLIBC_PREGENERATED_LOCALE_DATA
+	bool "Use Pre-generated Locale Data"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  Use pre-built locale data.
+
+	  Note that these pregenerated locales are sensitive to your
+	  target architecture (endianess, bitcount).
+
+	  Saying N here is highly recommended.
+
+endchoice
+
+config UCLIBC_BUILD_MINIMAL_LOCALES
+	string "locales to use"
+	depends on UCLIBC_BUILD_MINIMAL_LOCALE
+	default "en_US"
+	help
+	  Space separated list of locales to use.
+
+	  E.g.:
+	      en_US en_GB de_AT
+	  default:
+	      en_US
+
+config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA
+	bool "Automagically Download the Pre-generated Locale Data (if necessary)"
+	depends on UCLIBC_PREGENERATED_LOCALE_DATA
+	help
+	  If you would like the build process to use 'wget' to automatically
+	  download the pregenerated locale data, enable this option.  Otherwise
+	  you will need to obtain the locale data yourself from:
+		http://www.uclibc.org/downloads/uClibc-locale-*.tgz
+	  and place the uClibc-locale-*.tgz tarball in the extra/locale/
+	  directory.
+
+	  Note that the use of pregenerated locale data is discouraged.
+
+config UCLIBC_HAS_XLOCALE
+	bool "Extended Locale Support (experimental/incomplete)"
+	depends on UCLIBC_HAS_LOCALE
+	help
+	  Answer Y to enable extended locale support similar to that provided
+	  by glibc.  This is primarily intended to support libstd++
+	  functionality.
+	  However, it also allows thread-specific locale selection via
+	  uselocale().
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_HEXADECIMAL_FLOATS
+	bool "Support hexadecimal float notation"
+	depends on UCLIBC_HAS_CTYPE_TABLES
+	depends on UCLIBC_HAS_FLOATS
+	help
+	  Answer Y to enable support for hexadecimal float notation in the
+	  (wchar and) char string to floating point conversion functions, as
+	   well as support for the %a and %A conversion specifiers in the
+	   *printf() and *scanf() functions.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GLIBC_DIGIT_GROUPING
+	bool "Support glibc's \"'\" flag for allowing locale-specific digit grouping"
+	depends on UCLIBC_HAS_LOCALE
+	depends on UCLIBC_HAS_FLOATS
+	help
+	  Answer Y to enable support for glibc's \"'\" flag for allowing
+	  locale-specific digit grouping in base 10 integer conversions and
+	  appropriate floating point conversions in the *printf() and *scanf()
+	  functions.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_SCANF_LENIENT_DIGIT_GROUPING
+	bool "Do not require digit grouping when the \"'\" flag is specified"
+	depends on UCLIBC_HAS_GLIBC_DIGIT_GROUPING
+	default y
+	help
+	  Answer Y to make digit grouping optional when the \"'\" flag is
+	  specified.
+	  This is the standard glibc behavior.  If the initial string of digits
+	  exceeds the maximum group number, the input will be treated as a
+	  normal non-grouped number.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GLIBC_CUSTOM_PRINTF
+	bool "Support glibc's register_printf_function() (glibc-compat)"
+	depends on !USE_OLD_VFPRINTF
+	help
+	  Answer Y to support glibc's register_printf_function() to allow an
+	  application to add its own printf conversion specifiers.
+	  parse_printf_format() is also enabled.
+
+	  NOTE: Limits the number or registered specifiers to 10.
+	  NOTE: Requires new conversion specifiers to be ASCII
+	        characters (0-0x7f).  This is to avoid problems with processing
+	        format strings in locales with different multibyte conversions.
+
+	  Most people will answer N.
+
+config USE_OLD_VFPRINTF
+	bool "Use the old vfprintf implementation"
+	depends on !UCLIBC_HAS_WCHAR
+	help
+	  Set to true to use the old vfprintf instead of the new.  This is
+	  roughly C89 compliant with some extensions, and is much smaller.
+	  However, it does not support wide chars, positional args, or glibc
+	  custom printf specifiers.
+
+	  Most people will answer N.
+
+config UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS
+	int "Maximum number of positional args.  Either 0 or >= 9."
+	depends on !USE_OLD_VFPRINTF
+	default 9
+	help
+	  Set the maximum number of positional args supported by the
+	  printf/scanf functions.  The Single Unix Specification Version 3
+	  requires a minimum value of 9.  Setting this to a value lower than
+	  9 will disable positional arg support and cause the NL_ARGMAX macro
+	  in limits.h to be #undef'd.
+
+	  WARNING!  The workspace to support positional args is currently
+	            allocated on the stack.  You probably don't want to set
+		    this to too high a value.
+
+	  Most people will answer 9.
+
+
+config UCLIBC_HAS_SCANF_GLIBC_A_FLAG
+	bool "Support glibc's 'a' flag for scanf string conversions (not implemented)"
+	help
+	  NOTE!!!  Currently Not Implemented!!! Just A Place Holder!!  NOTE!!!
+	  NOTE!!!  Conflicts with an ANSI/ISO C99 scanf flag!!         NOTE!!!
+
+	  Answer Y to enable support for glibc's 'a' flag for the scanf string
+	  conversions '%s', '%[', '%ls', '%l[', and '%S'.  This is used to
+	  auto-allocate sufficient memory to hold the data retrieved.
+
+	  Most people will answer N.
+
+choice
+	prompt "Stdio buffer size"
+	default UCLIBC_HAS_STDIO_BUFSIZ_4096
+	help
+	  Please select a value for BUFSIZ.  This will be used by the
+	  stdio subsystem as the default buffer size for a file, and
+	  affects fopen(), setvbuf(), etc.
+
+	  NOTE: Setting this to 'none' will disable buffering completely.
+	  However, BUFSIZ will still be defined in stdio.h as 256 because
+	  many applications use this value.
+
+config UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	bool "none (WARNING - BUFSIZ will be 256 in stdio.h)"
+	depends on !UCLIBC_HAS_WCHAR
+
+config UCLIBC_HAS_STDIO_BUFSIZ_256
+	bool "256 (minimum ANSI/ISO C99 value)"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_512
+	bool "512"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_1024
+	bool "1024"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_2048
+	bool "2048"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_4096
+	bool "4096"
+
+config UCLIBC_HAS_STDIO_BUFSIZ_8192
+	bool "8192"
+
+# If you add more choices, you will need to update uClibc_stdio.h.
+
+endchoice
+
+choice
+	prompt "Stdio builtin buffer size (uClibc-specific)"
+	depends on !UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	default UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
+	help
+	  When a FILE is created with fopen(), an attempt is made to allocate
+	  a BUFSIZ buffer for it.  If the allocation fails, fopen() will still
+	  succeed but the FILE will be unbuffered.
+
+	  This option adds a small amount of space to each FILE to act as an
+	  emergency buffer in the event of a buffer allocation failure.
+
+	  Most people will answer None.
+
+config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE
+	bool "None"
+
+config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4
+	bool "4"
+
+config UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8
+	bool "8"
+
+# If you add more choices, you will need to update uClibc_stdio.h.
+
+endchoice
+
+config UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT
+	bool "Attempt to shutdown stdio subsystem when abort() is called."
+	help
+	  ANSI/ISO C99 requires abort() to be asyn-signal-safe.  So there was
+	  a behavioral change made in SUSv3.  Previously, abort() was required
+	  to have the affect of fclose() on all open streams.  The wording has
+	  been changed to "may" from "shall".
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_STDIO_GETC_MACRO
+	bool "Provide a macro version of getc()"
+	depends on !UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	default y
+	help
+	  Provide a macro version of getc().
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_STDIO_PUTC_MACRO
+	bool "Provide a macro version of putc()"
+	depends on !UCLIBC_HAS_STDIO_BUFSIZ_NONE
+	default y
+	help
+	  Provide a macro version of putc().
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION
+	bool "Support auto-r/w transition"
+	default y
+	help
+	  Answer Y to enable the stdio subsystem to automaticly transition
+	  between reading and writing.  This relaxes the ANSI/ISO C99
+	  requirement:
+
+	  When a file is opened with update mode ('+' as the second or third
+	  character in the list of mode argument values), both input and output
+	  may be performed on the associated stream. However, output shall not
+	  be directly followed by input without an intervening call to the
+	  fflush function or to a file positioning function (fseek, fsetpos,
+	  or rewind), and input shall not be directly followed by output without
+	  an intervening call to a file positioning function, unless the input
+	  operation encounters end­of­file.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_FOPEN_LARGEFILE_MODE
+	bool "Support an fopen() 'F' flag for large file mode (uClibc-specific)"
+	depends on UCLIBC_HAS_LFS
+	help
+	  Answer Y to enable a uClibc-specific extension to allow passing an
+	  additional 'F' flag in the mode string for fopen() to specify that
+	  the file should be open()ed with the O_LARGEFILE flag set.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE
+	bool "Support an fopen() 'x' flag for exclusive mode (glibc-compat)"
+	help
+	  Answer Y to support a glibc extension to allow passing
+	  additional 'x' flag in the mode string for fopen() to specify that
+	  the file should be open()ed with the O_EXCL flag set.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE
+	bool "Support an fopen() 'e' flag for close-on-exec mode (glibc-compat)"
+	help
+	  Answer Y to support a glibc extension to allow passing
+	  additional 'e' flag in the mode string for fopen() to specify that
+	  the file should be open()ed with the O_CLOEXEC flag set.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GLIBC_CUSTOM_STREAMS
+	bool "Support fmemopen(), open_memstream(), and fopencookie() (glibc-compat)"
+	help
+	  Answer Y to support the glibc 'custom stream' extension functions
+	  fmemopen(), open_memstream(), and fopencookie().
+
+	  NOTE: There are some minor differences regarding seeking behavior.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_PRINTF_M_SPEC
+	bool "Support the '%m' specifier in printf format strings (glibc-compat)"
+	help
+	  Answer Y to support a glibc extension to interpret '%m' in printf
+	  format strings as an instruction to output the error message string
+	  (as generated by strerror) corresponding to the current value of
+	  'errno'.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_ERRNO_MESSAGES
+	bool "Include the errno message text in the library"
+	default y
+	help
+	  Answer Y if you want to include the errno message text in the
+	  library.  This adds about 3K to the library, but enables strerror()
+	  to generate text other than 'Unknown error <number>'.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_SYS_ERRLIST
+	bool "Support sys_errlist[] (obsolete-compat)"
+	depends on UCLIBC_HAS_ERRNO_MESSAGES
+	help
+	  Answer Y if you want to support the obsolete sys_errlist[].
+	  This adds about 0.5k to the library, except for the mips
+	  arch where it adds over 4K.
+
+	  WARNING!  In the future, support for sys_errlist[] may be unavailable
+	            in at least some configurations.  In fact, it may be removed
+	            altogether.
+
+	  Most people will answer N.
+
+	  Application writers: use the strerror(3) function.
+
+config UCLIBC_HAS_SIGNUM_MESSAGES
+	bool "Include the signum message text in the library"
+	default y
+	help
+	  Answer Y if you want to include the signum message text in the
+	  library.  This adds about 0.5K to the library, but enables strsignal()
+	  to generate text other than 'Unknown signal <number>'.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_SYS_SIGLIST
+	bool "Support sys_siglist[] (bsd-compat)"
+	depends on UCLIBC_HAS_SIGNUM_MESSAGES
+	help
+	  Answer Y if you want to support sys_siglist[].
+
+	  WARNING!  In the future, support for sys_siglist[] may be unavailable
+	            in at least some configurations.  In fact, it may be removed
+		    altogether.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GETTEXT_AWARENESS
+	bool "Include gettext awareness"
+	depends on UCLIBC_HAS_LOCALE && UCLIBC_MJN3_ONLY
+	help
+	  NOTE!!!  Not yet integrated with strerror and strsignal.  NOTE!!!
+
+	  Answer Y if you want to include weak stub gettext support and
+	  make the *strerror*() and strsignal() functions gettext-aware.
+
+	  Currently, to get functional gettext functionality you will need
+	  to use gnu gettext.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_GNU_GETOPT
+	bool "Support gnu getopt"
+	default y
+	help
+	  Answer Y if you want to include full gnu getopt() instead of a
+	  (much smaller) SUSv3 compatible getopt().
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_STDIO_FUTEXES
+	bool "Use futexes for multithreaded I/O locking"
+	depends on UCLIBC_HAS_THREADS_NATIVE
+	help
+	  If you want to compile uClibc to use futexes for low-level
+	  I/O locking, answer Y.  Otherwise, answer N.
+
+config UCLIBC_HAS_GETOPT_LONG
+	bool "Support getopt_long/getopt_long_only"
+	depends on !UCLIBC_HAS_GNU_GETOPT
+	default y
+	help
+	  Answer Y if you want to include getopt_long[_only() used by many
+	  apps, even busybox.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_GNU_GETSUBOPT
+	bool "Support glibc getsubopt"
+	default y
+	help
+	  Answer Y if you want to include glibc getsubopt() instead of a
+	  smaller SUSv3 compatible getsubopt().
+
+	  Most people will answer Y.
+endmenu
+
+
+menu "Big and Tall"
+
+config UCLIBC_HAS_REGEX
+	bool "Regular Expression Support"
+	default y
+	help
+	  POSIX regular expression code is really big -- 53k all by itself.
+	  If you don't use regular expressions, turn this off and save space.
+	  Of course, if you only statically link, leave this on, since it will
+	  only be included in your apps if you use regular expressions.
+
+config UCLIBC_HAS_REGEX_OLD
+	bool "Use the older (stable) regular expression code"
+	depends on UCLIBC_HAS_REGEX
+	default y
+	help
+	  There are two versions of regex.  The older (stable) version has
+	  been in uClibc for quite a long time but hasn't seen too many
+	  updates.  It also has some known issues when dealing with uncommon
+	  corner cases and multibyte/unicode strings.  However, it is quite
+	  a bit smaller than the newer version.
+
+	  If the older version has worked for you and you don't need unicode
+	  support, then stick with the old version (and say Y here).
+	  Otherwise, you should use the new version (and say N here).
+
+config UCLIBC_HAS_FNMATCH
+	bool "fnmatch Support"
+	default y
+	help
+	  POSIX fnmatch.
+
+config UCLIBC_HAS_FNMATCH_OLD
+	bool "Use the older (stable) fnmatch code"
+	depends on UCLIBC_HAS_FNMATCH
+	default y
+	help
+	  There are two versions of fnmatch.  The older (stable) version has
+	  been in uClibc for quite a long time but hasn't seen too many
+	  updates.  It also has some known issues when dealing with uncommon
+	  corner cases and multibyte/unicode strings.  However, it is quite
+	  a bit smaller than the newer version.
+
+	  If the older version has worked for you and you don't need unicode
+	  support, then stick with the old version (and say Y here).
+	  Otherwise, you should use the new version (and say N here).
+
+config UCLIBC_HAS_WORDEXP
+	bool "Support the wordexp() interface"
+	depends on UCLIBC_HAS_GLOB
+	help
+	  The SuSv3 wordexp() interface performs word expansions per the  Shell
+	  and Utilities volume of IEEE Std 1003.1-2001, Section 2.6.  It is
+	  intended for use by applications that want to implement all of the
+	  standard Bourne shell expansions on input data.
+
+	  This interface is rarely used, and very large.  Unless you have a
+	  pressing need for wordexp(), you should probably answer N.
+
+config UCLIBC_HAS_NFTW
+	bool "Support the nftw() interface"
+	help
+	  The SuSv3 nftw() interface is used to recursively descend
+	  directory paths while repeatedly calling a function.
+
+	  This interface is rarely used, and adds around 4.5k.  Unless you have
+	  a pressing need for nftw(), you should probably answer N.
+
+config UCLIBC_HAS_FTW
+	bool "Support the ftw() interface (SUSv4-obsolete)"
+	depends on UCLIBC_SUSV4_LEGACY
+	help
+	  The SuSv3 ftw() interface is used to recursively descend
+	  directory paths while repeatedly calling a function.
+
+	  This interface is rarely used, and adds around 4.5k.  Unless you have
+	  a pressing need for ftw(), you should probably answer N.
+
+config UCLIBC_HAS_FTS
+	bool "Support the fts() interface (bsd-compat)"
+	help
+	  The fts functions are provided for traversing UNIX file hierarchies.
+
+	  This interface is currently used by the elfutils and adds
+	  around 7.5k.
+	  You should port your application to use the POSIX nftw()
+	  interface.
+
+	  Unless you need to build/use elfutils, you should prolly answer N.
+
+config UCLIBC_HAS_GLOB
+	bool "Support the glob() interface"
+	depends on UCLIBC_HAS_FNMATCH
+	default y
+	help
+
+	  The glob interface is somewhat large (weighing in at about 2,5k).  It
+	  is used fairly often, but is an option since people wanting to go for
+	  absolute minimum size may wish to omit it.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_GNU_GLOB
+	bool "Support gnu glob() interface"
+	depends on UCLIBC_HAS_GLOB
+	help
+	  The gnu glob interface is somewhat larger (weighing in at about 4,2k)
+	  than it's SuSv3 counterpart (and is out of date). It is an old copy
+	  from glibc and does not support all the GNU specific options.
+
+	  Answer Y if you want to include full gnu glob() instead of the smaller
+	  SUSv3 compatible glob().
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_UTMPX
+       bool "utmpx based support for tracking login/logouts to/from the system"
+       help
+         Answer y to enable support for accessing user accounting database.
+         It can be used to track all login/logout to the system.
+
+         If unsure, just answer N.
+
+endmenu
+
+
+
+
+menu "Library Installation Options"
+
+config RUNTIME_PREFIX
+	string "uClibc runtime library directory"
+	default "/usr/$(TARGET_ARCH)-linux-uclibc/"
+	help
+	  RUNTIME_PREFIX is the directory into which the uClibc runtime
+	  libraries will be installed.   The result will look something
+	  like the following:
+	      $(RUNTIME_PREFIX)/
+	          lib/            <contains all runtime libraries>
+	          usr/bin/ldd     <the ldd utility program>
+	          sbin/ldconfig   <the ldconfig utility program>
+	  This value is used by the 'make install' Makefile target.  Since this
+	  directory is compiled into the shared library loader, you will need to
+	  recompile uClibc if you change this value...
+
+	  For a typical target system this should be set to "/", such that
+	  'make install' will install /lib/libuClibc-<VERSION>.so
+
+config DEVEL_PREFIX
+	string "uClibc development environment directory"
+	default "/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
+	help
+	  DEVEL_PREFIX is the directory into which the uClibc development
+	  environment will be installed.   The result will look something
+	  like the following:
+	      $(DEVEL_PREFIX)/
+	          lib/            <contains static libs>
+		  include/        <Where all the header files go>
+	  This value is used by the 'make install' Makefile target when
+	  installing a uClibc development environment.
+
+	  For a typical target system this should be set to "/usr", such that
+	  'make install' will install /usr/include/<header files>.
+
+config MULTILIB_DIR
+	string "library path component"
+	default "lib"
+	help
+	  Path component where libraries reside.
+
+	  For a typical target system this should be set to "lib", such that
+	  'make install' will install libraries to "/lib" and "/usr/lib"
+	  respectively
+	    DEVEL_PREFIX/MULTILIB_DIR
+	    RUNTIME_PREFIX/MULTILIB_DIR
+
+	  Other settings may include "lib32" or "lib64".
+
+config HARDWIRED_ABSPATH
+	bool "Hardwire absolute paths into linker scripts"
+	default y
+	help
+	  This prepends absolute paths to the libraries mentioned in linker
+	  scripts such as libc.so.
+
+	  This is a build time optimization.  It has no impact on dynamic
+	  linking at runtime, which doesn't use linker scripts.
+
+	  You must disable this to use uClibc with old non-sysroot toolchains,
+	  such as the prebuilt binary cross compilers at:
+	     http://uclibc.org/downloads/binaries
+
+	  The amount of time saved by this optimization is actually too small to
+	  measure. The linker just had to search the library path to find the
+	  linker script, so the dentries are cache hot if it has to search the
+	  same path again.  But it's what glibc does, so we do it too.
+
+endmenu
+
+
+menu "Security options"
+
+config UCLIBC_BUILD_PIE
+	bool "Build utilities as ET_DYN/PIE executables"
+	depends on HAVE_SHARED
+	depends on TARGET_arm || TARGET_frv || TARGET_i386 || TARGET_mips || TARGET_powerpc
+	select FORCE_SHAREABLE_TEXT_SEGMENTS
+	help
+	  If you answer Y here, ldd and iconv are built as ET_DYN/PIE
+	  executables.
+
+	  It requires gcc-3.4 and binutils-2.15 (for arm 2.16) or later.
+	  More about ET_DYN/PIE binaries on <http://pax.grsecurity.net/> .
+
+	  WARNING: This option also enables FORCE_SHAREABLE_TEXT_SEGMENTS, so
+	           all libraries have to be built with -fPIC or -fpic, and all
+		   assembler functions must be written as position independent
+		   code (PIC).
+
+config UCLIBC_HAS_ARC4RANDOM
+	bool "Include the arc4random() function"
+	help
+	  Answer Y to support the OpenBSD-like arc4random() function. This
+	  function picks a random number between 0 and N, and will always return
+	  something even if the random driver is dead. If urandom fails then
+	  gettimeofday(2) will be used as the random seed. This function is
+	  designed to be more dependable than invoking /dev/urandom directly.
+	  OpenSSL and OpenNTPD currently support this function.
+
+	  Most people will answer N.
+
+config HAVE_NO_SSP
+	bool
+
+config UCLIBC_HAS_SSP
+	bool "Support for GCC stack smashing protector"
+	depends on !HAVE_NO_SSP
+	help
+	  Add code to support GCC's -fstack-protector[-all] option to uClibc.
+	  This requires GCC 4.1 or newer.  GCC does not have to provide libssp,
+	  the needed functions are added to ldso/libc instead.
+
+	  GCC's stack protector is a reimplementation of IBM's propolice.
+	  See http://www.trl.ibm.com/projects/security/ssp/ and
+	  http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
+	  for details.
+
+	  Note that NOEXECSTACK on a kernel with address space randomization
+	  is generally sufficient to prevent most buffer overflow exploits
+	  without increasing code size.  This option essentially adds debugging
+	  code to catch them.
+
+	  Most people will answer N.
+
+config UCLIBC_HAS_SSP_COMPAT
+	bool "Support for gcc-3.x propolice smashing stack protector"
+	depends on UCLIBC_HAS_SSP
+	help
+	  Add gcc-3.x propolice smashing stack protector to the library.
+
+	  This requires a patched version of GCC, supporting the
+	  -fstack-protector[-all] options, with the __guard and
+	  __stack_smash_handler functions removed from libgcc.
+	  These functions are added to ldso/libc instead.
+
+	  More information at:
+	  <http://www.research.ibm.com/trl/projects/security/ssp/>
+
+	  Most people will answer N.
+
+config SSP_QUICK_CANARY
+	bool "Use simple guard values without accessing /dev/urandom"
+	depends on UCLIBC_HAS_SSP
+	help
+	  Use gettimeofday(2) to define the __guard without accessing
+	  /dev/urandom.
+	  WARNING: This makes smashing stack protector vulnerable to timing
+	  	attacks.
+	  Most people will answer N.
+
+choice
+	prompt "Propolice protection blocking signal"
+	depends on UCLIBC_HAS_SSP
+	default PROPOLICE_BLOCK_ABRT if ! DODEBUG
+	default PROPOLICE_BLOCK_SEGV if DODEBUG
+	help
+	  "abort" use SIGABRT to block offending programs.
+	  This is the default implementation.
+
+	  "segfault" use SIGSEGV to block offending programs.
+	  Use this for debugging.
+
+	  If unsure, answer "abort".
+
+config PROPOLICE_BLOCK_ABRT
+	bool "abort"
+
+config PROPOLICE_BLOCK_SEGV
+	bool "segfault"
+
+endchoice
+
+config UCLIBC_BUILD_SSP
+	bool "Build uClibc with -fstack-protector"
+	depends on UCLIBC_HAS_SSP
+	help
+	  Build all uClibc libraries and executables with -fstack-protector,
+	  adding extra stack overflow checking to most uClibc functions.
+
+config UCLIBC_BUILD_RELRO
+	bool "Build uClibc with linker option -z RELRO"
+	depends on HAVE_SHARED
+	default y
+	help
+	  Build all libraries and executables with "ld -z relro".
+
+	  This tells the linker to mark chunks of an executable or shared
+	  library read-only after applying dynamic relocations.  (This comes
+	  up when a global const variable is initialized to the address of a
+	  function or the value of another global variable.)
+
+	  This is a fairly obscure option the ld man page doesn't even bother
+	  to document properly.  It's a security paranoia issue that's more
+	  likely to consume memory (by allocating an extra page) rather than
+	  save it.
+
+	  This is explained in more depth at
+	  http://www.airs.com/blog/archives/189
+
+	  Nobody is likely to care whether you say Y or N here.
+
+config UCLIBC_BUILD_NOW
+	bool "Build uClibc with linker option -z NOW"
+	depends on HAVE_SHARED
+	help
+	  Build all libraries and executables with "ld -z now".
+
+	  This tells the linker to resolve all symbols when the library is
+	  first loaded, rather than when each function is first called.  This
+	  increases start-up latency by a few microseconds and may do
+	  unnecessary work (resolving symbols that are never used), but the
+	  realtime people like it for making microbenchmark timings slightly
+	  more predictable and in some cases it can be slightly faster due to
+	  CPU cache behavior (not having to fault the linker back in to do
+	  lazy symbol resolution).
+
+	  Most people can't tell the difference between selecting Y or N here.
+
+config UCLIBC_BUILD_NOEXECSTACK
+	bool "Build uClibc with noexecstack marking"
+	default y
+	help
+	  Mark all assembler files as noexecstack, which will mark uClibc
+	  as not requiring an executable stack.  (This doesn't prevent other
+	  files you link against from claiming to need an executable stack, it
+	  just won't cause uClibc to request it unnecessarily.)
+
+	  This is a security thing to make buffer overflows harder to exploit.
+	  By itself, it's kind of useless, as Linus Torvalds explained in 1998:
+	  http://old.lwn.net/1998/0806/a/linus-noexec.html
+
+	  It only actually provides any security when combined with address
+	  space randomization, explained here: http://lwn.net/Articles/121845/
+
+	  Address space randomization is on by default in current linux
+	  kernels (although it can be disabled using the option
+	  CONFIG_COMPAT_BRK).
+
+	  You should probably say Y.
+
+endmenu
+
+menu "Development/debugging options"
+
+config CROSS_COMPILER_PREFIX
+	string "Cross-compiling toolchain prefix"
+	default ""
+	help
+	  The prefix used to execute your cross-compiling toolchain.  For
+	  example, if you run 'arm-linux-uclibc-gcc' to compile something,
+	  then enter 'arm-linux-uclibc-' here.
+
+config UCLIBC_EXTRA_CFLAGS
+	string "Extra CFLAGS"
+	default ""
+	help
+	  Add any additional CFLAGS to be used to build uClibc.
+
+config UCLIBC_EXTRA_LDFLAGS
+	string "Extra LDFLAGS"
+	default ""
+	help
+	  Add any additional LDFLAGS to be used to build uClibc.
+
+config DODEBUG
+	bool "Enable debugging symbols"
+	select EXTRA_WARNINGS
+	help
+	  Say Y here if you wish to compile uClibc with debugging symbols.
+	  This will allow you to use a debugger to examine uClibc internals
+	  while applications are running.  This increases the size of the
+	  library considerably and should only be used when doing development.
+	  If you are doing development and want to debug uClibc, answer Y.
+
+	  Otherwise, answer N.
+
+config DODEBUG_PT
+	bool "Build pthread with debugging output"
+	depends on UCLIBC_HAS_THREADS && LINUXTHREADS_OLD
+	help
+	  Enable debug output in libpthread.  This is only useful when doing
+	  development in libpthread itself.
+
+	  Otherwise, answer N.
+
+config DOSTRIP
+	bool "Strip libraries and executables"
+	default y
+	depends on !DODEBUG
+	help
+	  Say Y here if you do wish to strip all uClibc libraries and
+	  executables.  No stripping increases the size of the binaries
+	  considerably, but makes it possible to debug uClibc libraries.
+	  Most people will answer Y.
+
+config DOASSERTS
+	bool "Build with run-time assertion testing"
+	help
+	  Say Y here to include runtime assertion tests.
+	  This enables runtime assertion testing in some code, which can
+	  increase the size of the library and incur runtime overhead.
+	  If you say N, then this testing will be disabled.
+
+config SUPPORT_LD_DEBUG
+	bool "Build the shared library loader with debugging support"
+	depends on HAVE_SHARED
+	help
+	  Answer Y here to enable all the extra code needed to debug the uClibc
+	  native shared library loader.  The level of debugging noise that is
+	  generated depends on the LD_DEBUG environment variable...  Just set
+	  LD_DEBUG to something like: 'LD_DEBUG=token1,token2,..  prog' to
+	  debug your application.  Diagnostic messages will then be printed to
+	  the stderr.
+
+	  For now these debugging tokens are available:
+	    detail        provide more information for some options
+	    move          display copy processing
+	    symbols       display symbol table processing
+	    reloc         display relocation processing; detail shows the
+	                  relocation patch
+	    nofixups      never fixes up jump relocations
+	    bindings      displays the resolve processing (function calls);
+	                  detail shows the relocation patch
+	    all           Enable everything!
+
+	  The additional environment variable:
+	    LD_DEBUG_OUTPUT=file
+	  redirects the diagnostics to an output file created using
+	  the specified name and the process id as a suffix.
+
+	  An excellent start is simply:
+	    $ LD_DEBUG=binding,move,symbols,reloc,detail ./appname
+	  or to log everything to a file named 'logfile', try this
+	    $ LD_DEBUG=all LD_DEBUG_OUTPUT=logfile ./appname
+
+	  If you are doing development and want to debug uClibc's shared library
+	  loader, answer Y.  Mere mortals answer N.
+
+config SUPPORT_LD_DEBUG_EARLY
+	bool "Build the shared library loader with early debugging support"
+	depends on HAVE_SHARED
+	help
+	  Answer Y here to if you find the uClibc shared library loader is
+	  crashing or otherwise not working very early on.  This is typical
+	  only when starting a new port when you haven't figured out how to
+	  properly get the values for argc, argv, environ, etc.  This method
+	  allows a degree of visibility into the very early shared library
+	  loader initialization process.  If you are doing development and want
+	  to debug the uClibc shared library loader early initialization,
+	  answer Y.  Mere mortals answer N.
+
+config UCLIBC_MALLOC_DEBUGGING
+	bool "Build malloc with debugging support"
+	depends on MALLOC || MALLOC_STANDARD
+	help
+	  Answer Y here to compile extra debugging support code into malloc.
+	  Malloc debugging output may then be enabled at runtime using the
+	  MALLOC_DEBUG environment variable.
+
+	  The value of MALLOC_DEBUG should be an integer, which is interpreted
+	  as a bitmask with the following bits:
+		  1   -  do extra consistency checking
+		  2   -  output messages for malloc/free calls and OS
+		         allocation calls
+		  4   -  output messages for the `MMB' layer
+		  8   -  output messages for internal malloc heap manipulation
+		         calls
+
+	  Because this increases the size of malloc appreciably (due to strings
+	  etc), you should say N unless you need to debug a malloc problem.
+
+config UCLIBC_HAS_BACKTRACE
+	bool "Add support for application self-debugging"
+	depends on HAVE_SHARED
+	help
+	  Answer Y here to compile support for application self-debugging, by adding
+	  a new shared object "libubacktrace.so" that provides the following new
+	  functions:
+	  backtrace, backtrace_symbols, backtrace_symbols_fd
+
+	  The backtrace functionality is currently supported on SH platform, and it
+	  based on dwarf2 informations to properly work, so any application that
+	  want to use backtrace needs to be built with -fexceptions flag.
+
+	  The symbol names may be unavailable without the use of special linker
+	  options. For systems using the GNU linker, it is necessary to use the
+	  -rdynamic linker option too. Note that names of "static" functions are not
+	  exposed, and won't be available in the backtrace.
+
+config WARNINGS
+	string "Compiler Warnings"
+	default "-Wall"
+	help
+	  Set this to the set of compiler warnings you wish to see while compiling.
+
+config EXTRA_WARNINGS
+	bool "Enable extra annoying warnings"
+	help
+	  If you wish to build with extra warnings enabled, say Y here.
+
+config DOMULTI
+	bool "Compile all sources at once into an object"
+	help
+	  Set this to compile all sources at once into an object (IMA).
+	  This mode of compilation uses alot of memory but may produce
+	  smaller binaries.
+
+	  Note that you need a very recent GCC for this to work, like
+	  gcc >= 4.3 plus eventually some patches.
+
+	  If unsure, keep the default of N.
+
+config UCLIBC_MJN3_ONLY
+	bool "Manuel's hidden warnings"
+	help
+	  Answer Y here to see all Manuel's personal notes, warnings, and todos.
+
+	  Most people will answer N.
+
+endmenu
diff --git a/ap/build/uClibc/extra/Configs/Config.in.arch b/ap/build/uClibc/extra/Configs/Config.in.arch
new file mode 100644
index 0000000..ec541f4
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.in.arch
@@ -0,0 +1,219 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+
+#
+# Binary format
+#
+if !ARCH_USE_MMU
+choice
+	prompt "Target File Format"
+config UCLIBC_FORMAT_ELF
+	bool "ELF"
+	depends on ARCH_USE_MMU
+config UCLIBC_FORMAT_FDPIC_ELF
+	bool "FDPIC ELF"
+	depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv)
+	select DOPIC
+config UCLIBC_FORMAT_DSBT_ELF
+	bool "DBST ELF"
+	depends on !ARCH_USE_MMU && TARGET_c6x
+	select DOPIC
+config UCLIBC_FORMAT_FLAT
+	bool "STATIC FLAT"
+	depends on !ARCH_USE_MMU
+	select ARCH_HAS_NO_LDSO
+config UCLIBC_FORMAT_FLAT_SEP_DATA
+	bool "STATIC FLAT (sep-data)"
+	depends on !ARCH_USE_MMU
+	select ARCH_HAS_NO_LDSO
+config UCLIBC_FORMAT_SHARED_FLAT
+	bool "SHARED FLAT"
+	depends on !ARCH_USE_MMU
+	select ARCH_HAS_NO_LDSO
+	help
+	  Pick this one if you are using uClinux and wish to build
+	  uClibc as a flat-format shared library.
+endchoice
+endif
+if ARCH_USE_MMU
+comment "Using ELF file format"
+endif
+
+config UCLIBC_SHARED_FLAT_ID
+	int "Shared library ID"
+	default 1
+	depends on UCLIBC_FORMAT_SHARED_FLAT
+	help
+	  When using flat shared libraries, every library has a unique
+	  system-wide identifier.  Identifier 0 is reserved for
+	  executables and true shared libraries have identifiers
+	  starting at 1.  The maximum shared library identifier is
+	  determined by the kernel and is usually 3.  Shared library
+	  N must be available on the target system as "/lib/libN.so".
+
+	  When a shared C library is used, it usually has identifier 1,
+	  but you can use this option to select a different identifier
+	  if you need to.
+
+
+
+#
+# Endian Format
+#
+config ARCH_ANY_ENDIAN
+	bool
+config ARCH_BIG_ENDIAN
+	bool
+config ARCH_LITTLE_ENDIAN
+	bool
+if ARCH_ANY_ENDIAN
+choice
+	prompt "Target Processor Endianness"
+	help
+	  This is the endianness you wish to use.  Choose either Big
+	  Endian, or Little Endian.
+config ARCH_WANTS_BIG_ENDIAN
+	bool "Big Endian"
+	select ARCH_BIG_ENDIAN
+config ARCH_WANTS_LITTLE_ENDIAN
+	bool "Little Endian"
+	select ARCH_LITTLE_ENDIAN
+endchoice
+endif
+# if the arch only supports one endian, just display the setting
+if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
+comment "Using Little Endian"
+endif
+if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
+comment "Using Big Endian"
+endif
+
+config ARCH_HAS_NO_MMU
+	bool
+if ARCH_HAS_NO_MMU
+comment "Target CPU lacks a memory management unit (MMU)"
+endif
+
+config ARCH_HAS_MMU
+	bool "Target CPU has a memory management unit (MMU)"
+	depends on !ARCH_HAS_NO_MMU
+	default y
+	help
+	  If your target CPU does not have a memory management unit (MMU), 
+	  then answer N here.  Normally, Linux runs on systems with an MMU.  
+	  If you are building a uClinux system, answer N.
+
+	  Most people will answer Y.
+
+config ARCH_USE_MMU
+	bool "Do you want to utilize the MMU?"
+	depends on ARCH_HAS_MMU
+	default y
+	help
+	  If your target CPU has a MMU, and you wish to actually utilize it,
+	  then answer Y here.  Normal Linux requires an MMU.
+
+	  If you're unsure, answer Y.
+
+config UCLIBC_HAS_FLOATS
+	bool "Enable floating point number support"
+	default y
+	help
+	  This option allows you to entirely omit all floating point number
+	  support from uClibc.  This will cause floating point functions like
+	  strtod() to be omitted from uClibc.  Other floating point functions, 
+	  such as printf() and scanf() will still be included in the library, 
+	  but will not contain support for floating point numbers.
+
+	  Answering N to this option can reduce the size of uClibc.
+	  Most people will answer Y.
+
+config UCLIBC_HAS_FPU
+	bool "Target CPU has a floating point unit (FPU)"
+	default y
+	help
+	  If your target CPU does not have a Floating Point Unit (FPU) or a
+	  kernel FPU emulator, but you still wish to support floating point
+	  functions, then uClibc will need to be compiled with soft floating
+	  point support (-msoft-float).  If your target CPU does not have an
+	  FPU or an FPU emulator within the Linux kernel, then you should
+	  answer N.
+
+	  Most people will answer Y.
+
+config UCLIBC_HAS_SOFT_FLOAT
+	bool
+	depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
+	default y
+
+config DO_C99_MATH
+	bool "Enable full C99 math library support"
+	depends on UCLIBC_HAS_FLOATS
+	default n
+	help
+	  If you want the uClibc math library to contain the full set C99
+	  math library features, then answer Y.  If you leave this set to
+	  N the math library will contain only the math functions that were
+	  listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
+	  Leaving this option set to N will save around 35k on an x86 system.
+
+	  If your applications require the newer C99 math library functions, 
+	  then answer Y.
+
+config DO_XSI_MATH
+	bool "Enable XSI math extensions to the ISO C standard (bessel)"
+	depends on UCLIBC_HAS_FLOATS
+	default n
+	help
+	  X/Open System Interfaces extensions to ISO C math functions
+	  (differential equation functions):
+
+	  j0, j1, jn - Bessel functions of the first kind
+	  y0, y1, yn - Bessel functions of the second kind
+
+config UCLIBC_HAS_FENV
+	bool "Enable C99 Floating-point environment"
+	depends on UCLIBC_HAS_FLOATS
+	default n
+	help
+	  If you want the uClibc math library to contain the C99 floating
+	  point environment, rounding and exception handling functions then
+	  say Y here.
+
+	  NOTE: Supported architectures currently include:
+	        i386
+
+config UCLIBC_HAS_LONG_DOUBLE_MATH
+	bool "Enable long double support"
+	depends on DO_C99_MATH
+	depends on TARGET_i386 || TARGET_m68k || TARGET_sparc || TARGET_x86_64 || TARGET_powerpc || TARGET_sh || TARGET_microblaze
+	default y
+	help
+	  If you want the uClibc math library to contain the full set of C99
+	  long double math library features, then answer Y. Don't enable it
+	  for sparc w/ 32bit ABI.
+
+config KERNEL_HEADERS
+	string "Linux kernel header location"
+	default "/usr/include"
+	help
+	  The kernel source you use to compile with should be the same
+	  as the Linux kernel you run your apps on.  uClibc doesn't even
+	  try to achieve binary compatibility across kernel versions.
+	  So don't expect, for example, uClibc compiled with Linux kernel
+	  2.0.x to implement lchown properly, since 2.0.x can't do that.
+	  Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
+	  but then run on Linux 2.0.x, lchown will be compiled into uClibc,
+	  but won't work at all.  You have been warned.
+
+config UCLIBC_UCLINUX_BROKEN_MUNMAP
+	bool
+	depends on !ARCH_USE_MMU
+	default y
+
+config HAVE_DOT_CONFIG
+	bool
+	default y
diff --git a/ap/build/uClibc/extra/Configs/Config.m68k b/ap/build/uClibc/extra/Configs/Config.m68k
new file mode 100644
index 0000000..95807c4
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.m68k
@@ -0,0 +1,13 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "m68k"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
diff --git a/ap/build/uClibc/extra/Configs/Config.microblaze b/ap/build/uClibc/extra/Configs/Config.microblaze
new file mode 100644
index 0000000..2dfd4a7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.microblaze
@@ -0,0 +1,8 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "microblaze"
diff --git a/ap/build/uClibc/extra/Configs/Config.mips b/ap/build/uClibc/extra/Configs/Config.mips
new file mode 100644
index 0000000..063b07c
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.mips
@@ -0,0 +1,73 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "mips"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+choice
+	prompt "Target ABI"
+	default CONFIG_MIPS_O32_ABI
+	help
+	  This is the ABI you wish to build use.  Choose either O32, N32
+	  or N64.
+
+config CONFIG_MIPS_O32_ABI
+	bool "O32 ABI"
+
+config CONFIG_MIPS_N32_ABI
+	bool "N32 ABI"
+
+config CONFIG_MIPS_N64_ABI
+	bool "N64 ABI"
+
+endchoice
+
+choice
+	prompt "Target Processor Architecture"
+	default CONFIG_MIPS_ISA_1 if CONFIG_MIPS_O32_ABI
+	default CONFIG_MIPS_ISA_3 if CONFIG_MIPS_N32_ABI
+	default CONFIG_MIPS_ISA_3 if CONFIG_MIPS_N64_ABI
+	help
+	  This selects the instruction set architecture of your MIPS CPU. This
+	  information is used for optimizing purposes. To build a library that
+	  will run on any MIPS CPU, you can specify "Generic (MIPS I)" here.
+	  If you pick anything other than "Generic (MIPS I)," there is no
+	  guarantee that uClibc will even run on anything other than the
+	  selected processor type.
+
+	  You should probably select the MIPS ISA that best matches the
+	  CPU you will be using on your device. uClibc will be tuned
+	  for that architecture.
+
+	  If you don't know what to do, choose "Generic (MIPS I)"
+
+config CONFIG_MIPS_ISA_1
+	bool "Generic (MIPS I)"
+
+config CONFIG_MIPS_ISA_2
+	bool "MIPS II"
+
+config CONFIG_MIPS_ISA_3
+	bool "MIPS III"
+
+config CONFIG_MIPS_ISA_4
+	bool "MIPS IV"
+
+config CONFIG_MIPS_ISA_MIPS32
+	bool "MIPS32"
+
+config CONFIG_MIPS_ISA_MIPS32R2
+	bool "MIPS32r2"
+
+config CONFIG_MIPS_ISA_MIPS64
+	bool "MIPS64"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.nios b/ap/build/uClibc/extra/Configs/Config.nios
new file mode 100644
index 0000000..4213a4c
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.nios
@@ -0,0 +1,16 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "nios"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select ARCH_HAS_NO_LDSO
+	select HAVE_NO_PIC
diff --git a/ap/build/uClibc/extra/Configs/Config.nios2 b/ap/build/uClibc/extra/Configs/Config.nios2
new file mode 100644
index 0000000..2310a46
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.nios2
@@ -0,0 +1,16 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "nios2"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select ARCH_HAS_NO_LDSO
+	select HAVE_NO_PIC
diff --git a/ap/build/uClibc/extra/Configs/Config.powerpc b/ap/build/uClibc/extra/Configs/Config.powerpc
new file mode 100644
index 0000000..84c4423
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.powerpc
@@ -0,0 +1,35 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "powerpc"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+	select ARCH_HAS_MMU
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_CLASSIC
+	help
+	  This is the processor core of your CPU. This information is used for
+	  determining the correct assembler instructions to use for the core.
+
+	  The default is to build for a classic powerpc.
+
+config CONFIG_CLASSIC
+	bool "CLASSIC"
+	help
+	  Classic powerpc architecture.
+
+config CONFIG_E500
+	bool "E500"
+	help
+	  e500 v1 and v2 core.
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.sh b/ap/build/uClibc/extra/Configs/Config.sh
new file mode 100644
index 0000000..6ce54c2
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.sh
@@ -0,0 +1,51 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "sh"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_SH4
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes, as well as to determine if your CPU has an MMU,
+	  an FPU, etc.  If you pick the wrong CPU type, there is no guarantee
+	  that uClibc will work at all....
+
+	  Here are the available choices:
+	  - "SH2A" Renesas SH-2A (SH7206)
+	  - "SH2" SuperH SH-2
+	  - "SH3" SuperH SH-3
+	  - "SH4" SuperH SH-4
+
+config CONFIG_SH2A
+	select ARCH_HAS_NO_MMU
+	select HAVE_NO_PIC
+	bool "SH2A"
+
+config CONFIG_SH2
+	select ARCH_HAS_NO_MMU
+	bool "SH2"
+
+config CONFIG_SH3
+	select ARCH_HAS_MMU
+	bool "SH3"
+
+config CONFIG_SH4
+	bool "SH4"
+
+endchoice
+
+config ARCH_HAS_BWD_MEMCPY
+       bool
+       default y
+       depends on CONFIG_SH4
diff --git a/ap/build/uClibc/extra/Configs/Config.sh64 b/ap/build/uClibc/extra/Configs/Config.sh64
new file mode 100644
index 0000000..02535b9
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.sh64
@@ -0,0 +1,32 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "sh64"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_ANY_ENDIAN
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_SH5
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes, as well as to determine if your CPU has an MMU,
+	  an FPU, etc.  If you pick the wrong CPU type, there is no guarantee
+	  that uClibc will work at all....
+
+	  Here are the available choices:
+	  - "SH5" SuperH SH-5 101, 103
+
+config CONFIG_SH5
+	select ARCH_HAS_MMU
+	select UCLIBC_HAS_LFS
+	bool "SH5"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.sparc b/ap/build/uClibc/extra/Configs/Config.sparc
new file mode 100644
index 0000000..1852efe
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.sparc
@@ -0,0 +1,34 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "sparc"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_BIG_ENDIAN
+
+choice
+	prompt "Target Processor Type"
+	default CONFIG_SPARC_V8
+	help
+	  This is the processor type of your CPU. This information is used for
+	  optimizing purposes.  Building for a v8 SPARC is pretty safe nowadays.
+
+config CONFIG_SPARC_V7
+	bool "SPARC v7"
+
+config CONFIG_SPARC_V8
+	bool "SPARC v8"
+
+config CONFIG_SPARC_V9
+	bool "SPARC v9"
+
+config CONFIG_SPARC_V9B
+	bool "SPARC v9b"
+
+endchoice
diff --git a/ap/build/uClibc/extra/Configs/Config.v850 b/ap/build/uClibc/extra/Configs/Config.v850
new file mode 100644
index 0000000..fb3c4b1
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.v850
@@ -0,0 +1,15 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "v850"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_MMU
+	select HAVE_NO_PIC
diff --git a/ap/build/uClibc/extra/Configs/Config.vax b/ap/build/uClibc/extra/Configs/Config.vax
new file mode 100644
index 0000000..989eeea
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.vax
@@ -0,0 +1,14 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "vax"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_NO_LDSO
diff --git a/ap/build/uClibc/extra/Configs/Config.x86_64 b/ap/build/uClibc/extra/Configs/Config.x86_64
new file mode 100644
index 0000000..1b28088
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.x86_64
@@ -0,0 +1,14 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/Kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "x86_64"
+
+config FORCE_OPTIONS_FOR_ARCH
+	bool
+	default y
+	select ARCH_LITTLE_ENDIAN
+	select ARCH_HAS_MMU
diff --git a/ap/build/uClibc/extra/Configs/Config.xtensa b/ap/build/uClibc/extra/Configs/Config.xtensa
new file mode 100644
index 0000000..d374f91
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/Config.xtensa
@@ -0,0 +1,8 @@
+#
+# For a description of the syntax of this configuration file,
+# see extra/config/kconfig-language.txt
+#
+
+config TARGET_ARCH
+	string
+	default "xtensa"
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/alpha/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/alpha/defconfig
new file mode 100644
index 0000000..05243d7
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/alpha/defconfig
@@ -0,0 +1 @@
+TARGET_alpha=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/arm/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/arm/defconfig
new file mode 100644
index 0000000..aa67890
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/arm/defconfig
@@ -0,0 +1 @@
+TARGET_arm=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/avr32/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/avr32/defconfig
new file mode 100644
index 0000000..0b890a2
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/avr32/defconfig
@@ -0,0 +1 @@
+TARGET_avr32=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/bfin/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/bfin/defconfig
new file mode 100644
index 0000000..fb5c5eb
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/bfin/defconfig
@@ -0,0 +1 @@
+TARGET_bfin=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/cris/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/cris/defconfig
new file mode 100644
index 0000000..4e98180
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/cris/defconfig
@@ -0,0 +1 @@
+TARGET_cris=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/e1/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/e1/defconfig
new file mode 100644
index 0000000..e204c87
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/e1/defconfig
@@ -0,0 +1 @@
+TARGET_e1=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/frv/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/frv/defconfig
new file mode 100644
index 0000000..8230316
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/frv/defconfig
@@ -0,0 +1 @@
+TARGET_frv=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/h8300/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/h8300/defconfig
new file mode 100644
index 0000000..66c4a33
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/h8300/defconfig
@@ -0,0 +1 @@
+TARGET_h8300=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/hppa/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/hppa/defconfig
new file mode 100644
index 0000000..6358dbd
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/hppa/defconfig
@@ -0,0 +1 @@
+TARGET_hppa=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/i386/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/i386/defconfig
new file mode 100644
index 0000000..7c35178
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/i386/defconfig
@@ -0,0 +1 @@
+TARGET_i386=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/i960/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/i960/defconfig
new file mode 100644
index 0000000..5abe6dc
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/i960/defconfig
@@ -0,0 +1 @@
+TARGET_i960=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/ia64/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/ia64/defconfig
new file mode 100644
index 0000000..7f26470
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/ia64/defconfig
@@ -0,0 +1 @@
+TARGET_ia64=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/m68k/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/m68k/defconfig
new file mode 100644
index 0000000..da874a8
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/m68k/defconfig
@@ -0,0 +1 @@
+TARGET_m68k=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/microblaze/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/microblaze/defconfig
new file mode 100644
index 0000000..4401200
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/microblaze/defconfig
@@ -0,0 +1 @@
+TARGET_microblaze=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/mips/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/mips/defconfig
new file mode 100644
index 0000000..0114a9bd
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/mips/defconfig
@@ -0,0 +1 @@
+TARGET_mips=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/nios/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/nios/defconfig
new file mode 100644
index 0000000..2a110b8
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/nios/defconfig
@@ -0,0 +1 @@
+TARGET_nios=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/nios2/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/nios2/defconfig
new file mode 100644
index 0000000..870bd53
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/nios2/defconfig
@@ -0,0 +1 @@
+TARGET_nios2=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/powerpc/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/powerpc/defconfig
new file mode 100644
index 0000000..3868897
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/powerpc/defconfig
@@ -0,0 +1 @@
+TARGET_powerpc=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/sh/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/sh/defconfig
new file mode 100644
index 0000000..650d280
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/sh/defconfig
@@ -0,0 +1 @@
+TARGET_sh=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/sh64/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/sh64/defconfig
new file mode 100644
index 0000000..4f23a54
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/sh64/defconfig
@@ -0,0 +1 @@
+TARGET_sh64=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/sparc/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/sparc/defconfig
new file mode 100644
index 0000000..c2c74cb
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/sparc/defconfig
@@ -0,0 +1 @@
+TARGET_sparc=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/v850/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/v850/defconfig
new file mode 100644
index 0000000..046d5d4
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/v850/defconfig
@@ -0,0 +1 @@
+TARGET_v850=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/vax/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/vax/defconfig
new file mode 100644
index 0000000..77a464e
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/vax/defconfig
@@ -0,0 +1 @@
+TARGET_vax=y
diff --git a/ap/build/uClibc/extra/Configs/defconfigs/x86_64/defconfig b/ap/build/uClibc/extra/Configs/defconfigs/x86_64/defconfig
new file mode 100644
index 0000000..e03a36a
--- /dev/null
+++ b/ap/build/uClibc/extra/Configs/defconfigs/x86_64/defconfig
@@ -0,0 +1 @@
+TARGET_x86_64=y
diff --git a/ap/build/uClibc/extra/Makefile b/ap/build/uClibc/extra/Makefile
new file mode 100644
index 0000000..1dae357
--- /dev/null
+++ b/ap/build/uClibc/extra/Makefile
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../
+top_builddir=../
+include $(top_builddir)Rules.mak
+all: objs
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/Makefile.in b/ap/build/uClibc/extra/Makefile.in
new file mode 100644
index 0000000..76f504d
--- /dev/null
+++ b/ap/build/uClibc/extra/Makefile.in
@@ -0,0 +1,9 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+include $(top_srcdir)extra/locale/Makefile.in
+include $(top_srcdir)extra/config/Makefile.in
diff --git a/ap/build/uClibc/extra/config/Makefile b/ap/build/uClibc/extra/config/Makefile
new file mode 100644
index 0000000..46c3614
--- /dev/null
+++ b/ap/build/uClibc/extra/config/Makefile
@@ -0,0 +1,86 @@
+top_srcdir ?= ../../
+
+include $(top_srcdir)Rules.mak
+include $(top_srcdir)Makerules
+
+# ugh
+top_srcdir:=$(shell cd $(top_srcdir) && pwd)/
+ifdef O
+top_builddir ?= ../../
+else
+top_builddir = ../../
+endif
+srctree := $(top_srcdir)
+src := extra/config
+obj := $(top_builddir)$(src)
+
+generated := $(patsubst %_shipped,%,$(wildcard *_shipped))
+generated := $(addprefix $(obj)/,$(generated:.c=.o))
+
+include $(top_srcdir)extra/config/Makefile.kconfig
+PHONY += $(always)
+chk-lxdialog := $(top_srcdir)$(src)/lxdialog/check-lxdialog.sh
+check-lxdialog := cd $(obj) && $(CONFIG_SHELL) $(chk-lxdialog)
+HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) -c '$(check-lxdialog) -ccflags')
+HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) -c '$(check-lxdialog) -ldflags $(HOSTCC)')
+HOST_EXTRACFLAGS += -DLOCALE
+HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) -c '$(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS)')
+
+# do not create temporary object in the readonly srctree
+$(obj)/dochecklxdialog:
+	$(Q)cd $(obj) && $(CONFIG_SHELL) $(chk-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES)
+HOSTCFLAGS_lex.zconf.o	:= -I$(top_srcdir)$(src)
+HOSTCFLAGS_zconf.tab.o	:= -I$(top_srcdir)$(src)
+conf-objs := $(addprefix $(obj)/,$(conf-objs))
+mconf-objs := $(addprefix $(obj)/,$(mconf-objs))
+kxgettext-objs := $(addprefix $(obj)/,$(kxgettext-objs))
+
+ifeq ($(findstring mconf,$(MAKECMDGOALS)),mconf)
+hostprogs-y += mconf
+endif
+
+#BUILD_CFLAGS-config = -W -Wall -pedantic
+#BUILD_CFLAGS-lxdialog = -W -Wall -pedantic
+
+__hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
+host-csingle:= $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
+host-cmulti := $(foreach m,$(__hostprogs),\
+           $(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
+host-cobjs  := $(sort $(foreach m,$(__hostprogs),$($(m)-objs)))
+
+conf mconf kxgettext: %: $(obj)/%
+$(obj)/conf $(obj)/mconf $(obj)/kxgettext: BUILD_LDFLAGS=$(HOST_LOADLIBES)
+$(obj)/conf: $(conf-objs)
+	$(hcompile.u)
+$(obj)/mconf: $(mconf-objs)
+	$(hcompile.u)
+$(obj)/kxgettext: $(kxgettext-objs)
+	$(hcompile.u)
+
+$(host-csingle) $(host-cmulti) $(host-cobjs): BUILD_CFLAGS=$(HOST_EXTRACFLAGS) \
+					$(HOSTCFLAGS) $(HOSTCFLAGS_$(@F))
+
+host-cobjs.nogen := $(filter-out $(generated),$(host-cobjs))
+host-cobjs.generated := $(filter $(generated),$(host-cobjs))
+
+$(host-cobjs.nogen): $(obj)/%.o: $(top_srcdir)$(src)/%.c
+	$(hcompile.o)
+$(host-cobjs.generated): $(obj)/%.o: $(obj)/%.c
+	$(hcompile.o)
+
+ifndef LKC_GENPARSER
+$(obj)/%:: $(top_srcdir)$(src)/%_shipped
+	@$(disp_gen)
+	$(Q)cat $< > $@
+endif
+CLEAN_extra/config menuconfig_clean:
+	$(do_rm) $(clean-files) $(lxdialog) conf $(wildcard *.o)
+distclean: clean
+	$(do_rm) $(lxdialog) $(conf-objs) $(mconf-objs) \
+		$(kxgettext-objs) \
+		$(hostprogs-y) $(qconf-cxxobjs) $(qconf-objs) $(gconf-objs) \
+		.depend
+	$(do_rm) -r $(top_builddir)include/config
+
+FORCE:
+.PHONY: FORCE clean distclean $(always)
diff --git a/ap/build/uClibc/extra/config/Makefile.kconfig b/ap/build/uClibc/extra/config/Makefile.kconfig
new file mode 100644
index 0000000..83c20c4
--- /dev/null
+++ b/ap/build/uClibc/extra/config/Makefile.kconfig
@@ -0,0 +1,289 @@
+# ===========================================================================
+# Kernel configuration targets
+# These targets are used from top-level makefile
+
+PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
+
+ifdef KBUILD_KCONFIG
+Kconfig := $(KBUILD_KCONFIG)
+else
+Kconfig := arch/$(SRCARCH)/Kconfig
+endif
+
+xconfig: $(obj)/qconf
+	$< $(Kconfig)
+
+gconfig: $(obj)/gconf
+	$< $(Kconfig)
+
+menuconfig: $(obj)/mconf
+	$< $(Kconfig)
+
+config: $(obj)/conf
+	$< $(Kconfig)
+
+oldconfig: $(obj)/conf
+	$< -o $(Kconfig)
+
+silentoldconfig: $(obj)/conf
+	$< -s $(Kconfig)
+
+# Create new linux.pot file
+# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
+# The symlink is used to repair a deficiency in arch/um
+update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
+	$(Q)echo "  GEN config"
+	$(Q)xgettext --default-domain=linux              \
+	    --add-comments --keyword=_ --keyword=N_      \
+	    --from-code=UTF-8                            \
+	    --files-from=scripts/kconfig/POTFILES.in     \
+	    --output $(obj)/config.pot
+	$(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
+	$(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch
+	$(Q)(for i in `ls arch/*/Kconfig`;               \
+	    do                                           \
+		echo "  GEN $$i";                        \
+		$(obj)/kxgettext $$i                     \
+		     >> $(obj)/config.pot;               \
+	    done )
+	$(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
+	    --output $(obj)/linux.pot
+	$(Q)rm -f arch/um/Kconfig.arch
+	$(Q)rm -f $(obj)/config.pot
+
+PHONY += randconfig allyesconfig allnoconfig allmodconfig defconfig
+
+randconfig: $(obj)/conf
+	$< -r $(Kconfig)
+
+allyesconfig: $(obj)/conf
+	$< -y $(Kconfig)
+
+allnoconfig: $(obj)/conf
+	$< -n $(Kconfig)
+
+allmodconfig: $(obj)/conf
+	$< -m $(Kconfig)
+
+defconfig: $(obj)/conf
+ifeq ($(KBUILD_DEFCONFIG),)
+	$< -d $(Kconfig)
+else
+	@echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
+	$(Q)$< -D arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
+endif
+
+%_defconfig: $(obj)/conf
+	$(Q)$< -D arch/$(SRCARCH)/configs/$@ $(Kconfig)
+
+# Help text used by make help
+help:
+	@echo  '  config	  - Update current config utilising a line-oriented program'
+	@echo  '  menuconfig	  - Update current config utilising a menu based program'
+	@echo  '  xconfig	  - Update current config utilising a QT based front-end'
+	@echo  '  gconfig	  - Update current config utilising a GTK based front-end'
+	@echo  '  oldconfig	  - Update current config utilising a provided .config as base'
+	@echo  '  silentoldconfig - Same as oldconfig, but quietly'
+	@echo  '  randconfig	  - New config with random answer to all options'
+	@echo  '  defconfig	  - New config with default answer to all options'
+	@echo  '  allmodconfig	  - New config selecting modules when possible'
+	@echo  '  allyesconfig	  - New config where all options are accepted with yes'
+	@echo  '  allnoconfig	  - New config where all options are answered with no'
+
+# lxdialog stuff
+check-lxdialog  := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
+
+# Use recursively expanded variables so we do not call gcc unless
+# we really need to do so. (Do not call gcc as part of make mrproper)
+HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
+HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
+
+HOST_EXTRACFLAGS += -DLOCALE
+
+
+# ===========================================================================
+# Shared Makefile for the various kconfig executables:
+# conf:	  Used for defconfig, oldconfig and related targets
+# mconf:  Used for the mconfig target.
+#         Utilizes the lxdialog package
+# qconf:  Used for the xconfig target
+#         Based on QT which needs to be installed to compile it
+# gconf:  Used for the gconfig target
+#         Based on GTK which needs to be installed to compile it
+# object files used by all kconfig flavours
+
+lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
+lxdialog += lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o
+
+conf-objs	:= conf.o  zconf.tab.o
+mconf-objs	:= mconf.o zconf.tab.o $(lxdialog)
+kxgettext-objs	:= kxgettext.o zconf.tab.o
+
+hostprogs-y := conf qconf gconf kxgettext
+
+ifeq ($(MAKECMDGOALS),menuconfig)
+	hostprogs-y += mconf
+endif
+
+ifeq ($(MAKECMDGOALS),xconfig)
+	qconf-target := 1
+endif
+ifeq ($(MAKECMDGOALS),gconfig)
+	gconf-target := 1
+endif
+
+
+ifeq ($(qconf-target),1)
+qconf-cxxobjs	:= qconf.o
+qconf-objs	:= kconfig_load.o zconf.tab.o
+endif
+
+ifeq ($(gconf-target),1)
+gconf-objs	:= gconf.o kconfig_load.o zconf.tab.o
+endif
+
+clean-files	:= lkc_defs.h qconf.moc .tmp_qtcheck \
+		   .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h
+clean-files     += mconf qconf gconf
+clean-files     += config.pot linux.pot
+
+# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
+PHONY += $(obj)/dochecklxdialog
+$(addprefix $(obj)/,$(lxdialog)): $(obj)/dochecklxdialog
+#$(obj)/dochecklxdialog:
+#	$(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES)
+
+always := dochecklxdialog
+
+# Add environment specific flags
+HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
+
+# generated files seem to need this to find local include files
+HOSTCFLAGS_lex.zconf.o	:= -I$(src)
+HOSTCFLAGS_zconf.tab.o	:= -I$(src)
+
+HOSTLOADLIBES_qconf	= $(KC_QT_LIBS) -ldl
+HOSTCXXFLAGS_qconf.o	= $(KC_QT_CFLAGS) -D LKC_DIRECT_LINK
+
+HOSTLOADLIBES_gconf	= `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
+HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
+                          -D LKC_DIRECT_LINK
+
+$(obj)/qconf.o: $(obj)/.tmp_qtcheck
+
+ifeq ($(qconf-target),1)
+$(obj)/.tmp_qtcheck: $(src)/Makefile
+-include $(obj)/.tmp_qtcheck
+
+# QT needs some extra effort...
+$(obj)/.tmp_qtcheck:
+	@set -e; echo "  CHECK   qt"; dir=""; pkg=""; \
+	pkg-config --exists qt 2> /dev/null && pkg=qt; \
+	pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \
+	if [ -n "$$pkg" ]; then \
+	  cflags="\$$(shell pkg-config $$pkg --cflags)"; \
+	  libs="\$$(shell pkg-config $$pkg --libs)"; \
+	  moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \
+	  dir="$$(pkg-config $$pkg --variable=prefix)"; \
+	else \
+	  for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \
+	    if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \
+	  done; \
+	  if [ -z "$$dir" ]; then \
+	    echo "*"; \
+	    echo "* Unable to find the QT3 installation. Please make sure that"; \
+	    echo "* the QT3 development package is correctly installed and"; \
+	    echo "* either install pkg-config or set the QTDIR environment"; \
+	    echo "* variable to the correct location."; \
+	    echo "*"; \
+	    false; \
+	  fi; \
+	  libpath=$$dir/lib; lib=qt; osdir=""; \
+	  $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
+	    osdir=x$$($(HOSTCXX) -print-multi-os-directory); \
+	  test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \
+	  test -f $$libpath/libqt-mt.so && lib=qt-mt; \
+	  cflags="-I$$dir/include"; \
+	  libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \
+	  moc="$$dir/bin/moc"; \
+	fi; \
+	if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \
+	  echo "*"; \
+	  echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \
+	  echo "*"; \
+	  moc="/usr/bin/moc"; \
+	fi; \
+	echo "KC_QT_CFLAGS=$$cflags" > $@; \
+	echo "KC_QT_LIBS=$$libs" >> $@; \
+	echo "KC_QT_MOC=$$moc" >> $@
+endif
+
+$(obj)/gconf.o: $(obj)/.tmp_gtkcheck
+
+ifeq ($(gconf-target),1)
+-include $(obj)/.tmp_gtkcheck
+
+# GTK needs some extra effort, too...
+$(obj)/.tmp_gtkcheck:
+	@if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then		\
+		if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then			\
+			touch $@;								\
+		else									\
+			echo "*"; 							\
+			echo "* GTK+ is present but version >= 2.0.0 is required.";	\
+			echo "*";							\
+			false;								\
+		fi									\
+	else										\
+		echo "*"; 								\
+		echo "* Unable to find the GTK+ installation. Please make sure that"; 	\
+		echo "* the GTK+ 2.0 development package is correctly installed..."; 	\
+		echo "* You need gtk+-2.0, glib-2.0 and libglade-2.0."; 		\
+		echo "*"; 								\
+		false;									\
+	fi
+endif
+
+$(obj)/zconf.tab.o: $(obj)/lex.zconf.c $(obj)/zconf.hash.c
+
+$(obj)/kconfig_load.o: $(obj)/lkc_defs.h
+
+$(obj)/qconf.o: $(obj)/qconf.moc $(obj)/lkc_defs.h
+
+$(obj)/gconf.o: $(obj)/lkc_defs.h
+
+$(obj)/%.moc: $(src)/%.h
+	$(KC_QT_MOC) -i $< -o $@
+
+$(obj)/lkc_defs.h: $(src)/lkc_proto.h
+	sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
+
+# Extract gconf menu items for I18N support
+$(obj)/gconf.glade.h: $(obj)/gconf.glade
+	intltool-extract --type=gettext/glade $(obj)/gconf.glade
+
+###
+# The following requires flex/bison/gperf
+# By default we use the _shipped versions, uncomment the following line if
+# you are modifying the flex/bison src.
+# LKC_GENPARSER := 1
+
+ifdef LKC_GENPARSER
+
+$(obj)/zconf.tab.c: $(src)/zconf.y
+$(obj)/lex.zconf.c: $(src)/zconf.l
+$(obj)/zconf.hash.c: $(src)/zconf.gperf
+
+%.tab.c: %.y
+	bison -l -b $* -p $(notdir $*) $<
+	cp $@ $@_shipped
+
+lex.%.c: %.l
+	flex -L -P$(notdir $*) -o$@ $<
+	cp $@ $@_shipped
+
+%.hash.c: %.gperf
+	gperf < $< > $@
+	cp $@ $@_shipped
+
+endif
diff --git a/ap/build/uClibc/extra/config/POTFILES.in b/ap/build/uClibc/extra/config/POTFILES.in
new file mode 100644
index 0000000..9674573
--- /dev/null
+++ b/ap/build/uClibc/extra/config/POTFILES.in
@@ -0,0 +1,12 @@
+scripts/kconfig/lxdialog/checklist.c
+scripts/kconfig/lxdialog/inputbox.c
+scripts/kconfig/lxdialog/menubox.c
+scripts/kconfig/lxdialog/textbox.c
+scripts/kconfig/lxdialog/util.c
+scripts/kconfig/lxdialog/yesno.c
+scripts/kconfig/mconf.c
+scripts/kconfig/conf.c
+scripts/kconfig/confdata.c
+scripts/kconfig/gconf.c
+scripts/kconfig/gconf.glade.h
+scripts/kconfig/qconf.cc
diff --git a/ap/build/uClibc/extra/config/README.uClibc b/ap/build/uClibc/extra/config/README.uClibc
new file mode 100644
index 0000000..b05cabc
--- /dev/null
+++ b/ap/build/uClibc/extra/config/README.uClibc
@@ -0,0 +1,19 @@
+This is a copy of the kconfig code in the kernel tweaked to suit uClibc.
+
+To update:
+	cp -r /usr/src/linux/scripts/kconfig extra/config.new
+	cd extra/config.new
+	cp /usr/src/linux/Documentation/kbuild/kconfig-language.txt .
+	mv Makefile Makefile.kconfig
+	zcat ../config/kconfig-to-uclibc.patch.gz | patch -p1
+	cp ../config/README.uClibc .
+	cp ../config/Makefile .
+	cd ..
+	rm -rf config
+	mv config.new config
+
+Then verify the toplevel targets work:
+	config
+	defconfig
+	menuconfig
+	oldconfig
diff --git a/ap/build/uClibc/extra/config/check.sh b/ap/build/uClibc/extra/config/check.sh
new file mode 100755
index 0000000..fa59cbf
--- /dev/null
+++ b/ap/build/uClibc/extra/config/check.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Needed for systems without gettext
+$* -xc -o /dev/null - > /dev/null 2>&1 << EOF
+#include <libintl.h>
+int main()
+{
+	gettext("");
+	return 0;
+}
+EOF
+if [ ! "$?" -eq "0"  ]; then
+	echo -DKBUILD_NO_NLS;
+fi
+
diff --git a/ap/build/uClibc/extra/config/conf.c b/ap/build/uClibc/extra/config/conf.c
new file mode 100644
index 0000000..d623ed1
--- /dev/null
+++ b/ap/build/uClibc/extra/config/conf.c
@@ -0,0 +1,617 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <locale.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+static void conf(struct menu *menu);
+static void check_conf(struct menu *menu);
+
+enum {
+	ask_all,
+	ask_new,
+	ask_silent,
+	set_default,
+	set_yes,
+	set_mod,
+	set_no,
+	set_random
+} input_mode = ask_all;
+char *defconfig_file;
+
+static int indent = 1;
+static int valid_stdin = 1;
+static int sync_kconfig;
+static int conf_cnt;
+static char line[128];
+static struct menu *rootEntry;
+
+static char nohelp_text[] = N_("Sorry, no help available for this option yet.\n");
+
+static const char *get_help(struct menu *menu)
+{
+	if (menu_has_help(menu))
+		return _(menu_get_help(menu));
+	else
+		return nohelp_text;
+}
+
+static void strip(char *str)
+{
+	char *p = str;
+	int l;
+
+	while ((isspace(*p)))
+		p++;
+	l = strlen(p);
+	if (p != str)
+		memmove(str, p, l + 1);
+	if (!l)
+		return;
+	p = str + l - 1;
+	while ((isspace(*p)))
+		*p-- = 0;
+}
+
+static void check_stdin(void)
+{
+	if (!valid_stdin) {
+		printf(_("aborted!\n\n"));
+		printf(_("Console input/output is redirected. "));
+		printf(_("Run 'make oldconfig' to update configuration.\n\n"));
+		exit(1);
+	}
+}
+
+static int conf_askvalue(struct symbol *sym, const char *def)
+{
+	enum symbol_type type = sym_get_type(sym);
+
+	if (!sym_has_value(sym))
+		printf(_("(NEW) "));
+
+	line[0] = '\n';
+	line[1] = 0;
+
+	if (!sym_is_changable(sym)) {
+		printf("%s\n", def);
+		line[0] = '\n';
+		line[1] = 0;
+		return 0;
+	}
+
+	switch (input_mode) {
+	case ask_new:
+	case ask_silent:
+		if (sym_has_value(sym)) {
+			printf("%s\n", def);
+			return 0;
+		}
+		check_stdin();
+	case ask_all:
+		fflush(stdout);
+		fgets(line, 128, stdin);
+		return 1;
+	default:
+		break;
+	}
+
+	switch (type) {
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		printf("%s\n", def);
+		return 1;
+	default:
+		;
+	}
+	printf("%s", line);
+	return 1;
+}
+
+int conf_string(struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	const char *def;
+
+	while (1) {
+		printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
+		printf("(%s) ", sym->name);
+		def = sym_get_string_value(sym);
+		if (sym_get_string_value(sym))
+			printf("[%s] ", def);
+		if (!conf_askvalue(sym, def))
+			return 0;
+		switch (line[0]) {
+		case '\n':
+			break;
+		case '?':
+			/* print help */
+			if (line[1] == '\n') {
+				printf("\n%s\n", get_help(menu));
+				def = NULL;
+				break;
+			}
+		default:
+			line[strlen(line)-1] = 0;
+			def = line;
+		}
+		if (def && sym_set_string_value(sym, def))
+			return 0;
+	}
+}
+
+static int conf_sym(struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	int type;
+	tristate oldval, newval;
+
+	while (1) {
+		printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
+		if (sym->name)
+			printf("(%s) ", sym->name);
+		type = sym_get_type(sym);
+		putchar('[');
+		oldval = sym_get_tristate_value(sym);
+		switch (oldval) {
+		case no:
+			putchar('N');
+			break;
+		case mod:
+			putchar('M');
+			break;
+		case yes:
+			putchar('Y');
+			break;
+		}
+		if (oldval != no && sym_tristate_within_range(sym, no))
+			printf("/n");
+		if (oldval != mod && sym_tristate_within_range(sym, mod))
+			printf("/m");
+		if (oldval != yes && sym_tristate_within_range(sym, yes))
+			printf("/y");
+		if (menu_has_help(menu))
+			printf("/?");
+		printf("] ");
+		if (!conf_askvalue(sym, sym_get_string_value(sym)))
+			return 0;
+		strip(line);
+
+		switch (line[0]) {
+		case 'n':
+		case 'N':
+			newval = no;
+			if (!line[1] || !strcmp(&line[1], "o"))
+				break;
+			continue;
+		case 'm':
+		case 'M':
+			newval = mod;
+			if (!line[1])
+				break;
+			continue;
+		case 'y':
+		case 'Y':
+			newval = yes;
+			if (!line[1] || !strcmp(&line[1], "es"))
+				break;
+			continue;
+		case 0:
+			newval = oldval;
+			break;
+		case '?':
+			goto help;
+		default:
+			continue;
+		}
+		if (sym_set_tristate_value(sym, newval))
+			return 0;
+help:
+		printf("\n%s\n", get_help(menu));
+	}
+}
+
+static int conf_choice(struct menu *menu)
+{
+	struct symbol *sym, *def_sym;
+	struct menu *child;
+	int type;
+	bool is_new;
+
+	sym = menu->sym;
+	type = sym_get_type(sym);
+	is_new = !sym_has_value(sym);
+	if (sym_is_changable(sym)) {
+		conf_sym(menu);
+		sym_calc_value(sym);
+		switch (sym_get_tristate_value(sym)) {
+		case no:
+			return 1;
+		case mod:
+			return 0;
+		case yes:
+			break;
+		}
+	} else {
+		switch (sym_get_tristate_value(sym)) {
+		case no:
+			return 1;
+		case mod:
+			printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu)));
+			return 0;
+		case yes:
+			break;
+		}
+	}
+
+	while (1) {
+		int cnt, def;
+
+		printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu)));
+		def_sym = sym_get_choice_value(sym);
+		cnt = def = 0;
+		line[0] = 0;
+		for (child = menu->list; child; child = child->next) {
+			if (!menu_is_visible(child))
+				continue;
+			if (!child->sym) {
+				printf("%*c %s\n", indent, '*', _(menu_get_prompt(child)));
+				continue;
+			}
+			cnt++;
+			if (child->sym == def_sym) {
+				def = cnt;
+				printf("%*c", indent, '>');
+			} else
+				printf("%*c", indent, ' ');
+			printf(" %d. %s", cnt, _(menu_get_prompt(child)));
+			if (child->sym->name)
+				printf(" (%s)", child->sym->name);
+			if (!sym_has_value(child->sym))
+				printf(_(" (NEW)"));
+			printf("\n");
+		}
+		printf(_("%*schoice"), indent - 1, "");
+		if (cnt == 1) {
+			printf("[1]: 1\n");
+			goto conf_childs;
+		}
+		printf("[1-%d", cnt);
+		if (menu_has_help(menu))
+			printf("?");
+		printf("]: ");
+		switch (input_mode) {
+		case ask_new:
+		case ask_silent:
+			if (!is_new) {
+				cnt = def;
+				printf("%d\n", cnt);
+				break;
+			}
+			check_stdin();
+		case ask_all:
+			fflush(stdout);
+			fgets(line, 128, stdin);
+			strip(line);
+			if (line[0] == '?') {
+				printf("\n%s\n", get_help(menu));
+				continue;
+			}
+			if (!line[0])
+				cnt = def;
+			else if (isdigit(line[0]))
+				cnt = atoi(line);
+			else
+				continue;
+			break;
+		default:
+			break;
+		}
+
+	conf_childs:
+		for (child = menu->list; child; child = child->next) {
+			if (!child->sym || !menu_is_visible(child))
+				continue;
+			if (!--cnt)
+				break;
+		}
+		if (!child)
+			continue;
+		if (line[strlen(line) - 1] == '?') {
+			printf("\n%s\n", get_help(child));
+			continue;
+		}
+		sym_set_choice_value(sym, child->sym);
+		for (child = child->list; child; child = child->next) {
+			indent += 2;
+			conf(child);
+			indent -= 2;
+		}
+		return 1;
+	}
+}
+
+static void conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+
+	if (!menu_is_visible(menu))
+		return;
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	if (prop) {
+		const char *prompt;
+
+		switch (prop->type) {
+		case P_MENU:
+			if (input_mode == ask_silent && rootEntry != menu) {
+				check_conf(menu);
+				return;
+			}
+		case P_COMMENT:
+			prompt = menu_get_prompt(menu);
+			if (prompt)
+				printf("%*c\n%*c %s\n%*c\n",
+					indent, '*',
+					indent, '*', _(prompt),
+					indent, '*');
+		default:
+			;
+		}
+	}
+
+	if (!sym)
+		goto conf_childs;
+
+	if (sym_is_choice(sym)) {
+		conf_choice(menu);
+		if (sym->curr.tri != mod)
+			return;
+		goto conf_childs;
+	}
+
+	switch (sym->type) {
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		conf_string(menu);
+		break;
+	default:
+		conf_sym(menu);
+		break;
+	}
+
+conf_childs:
+	if (sym)
+		indent += 2;
+	for (child = menu->list; child; child = child->next)
+		conf(child);
+	if (sym)
+		indent -= 2;
+}
+
+static void check_conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct menu *child;
+
+	if (!menu_is_visible(menu))
+		return;
+
+	sym = menu->sym;
+	if (sym && !sym_has_value(sym)) {
+		if (sym_is_changable(sym) ||
+		    (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
+			if (!conf_cnt++)
+				printf(_("*\n* Restart config...\n*\n"));
+			rootEntry = menu_get_parent_menu(menu);
+			conf(rootEntry);
+		}
+	}
+
+	for (child = menu->list; child; child = child->next)
+		check_conf(child);
+}
+
+int main(int ac, char **av)
+{
+	int opt;
+	const char *name;
+	const char *configname = conf_get_configname();
+	struct stat tmpstat;
+
+	setlocale(LC_ALL, "");
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+	while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) {
+		switch (opt) {
+		case 'o':
+			input_mode = ask_silent;
+			break;
+		case 's':
+			input_mode = ask_silent;
+			sync_kconfig = 1;
+			break;
+		case 'd':
+			input_mode = set_default;
+			break;
+		case 'D':
+			input_mode = set_default;
+			defconfig_file = optarg;
+			break;
+		case 'n':
+			input_mode = set_no;
+			break;
+		case 'm':
+			input_mode = set_mod;
+			break;
+		case 'y':
+			input_mode = set_yes;
+			break;
+		case 'r':
+		{
+			struct timeval now;
+			unsigned int seed;
+
+			/*
+			 * Use microseconds derived seed,
+			 * compensate for systems where it may be zero
+			 */
+			gettimeofday(&now, NULL);
+
+			seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1));
+			srand(seed);
+
+			input_mode = set_random;
+			break;
+		}
+		case 'h':
+			printf(_("See README for usage info\n"));
+			exit(0);
+			break;
+		default:
+			fprintf(stderr, _("See README for usage info\n"));
+			exit(1);
+		}
+	}
+	if (ac == optind) {
+		printf(_("%s: Kconfig file missing\n"), av[0]);
+		exit(1);
+	}
+	name = av[optind];
+	conf_parse(name);
+	//zconfdump(stdout);
+	if (sync_kconfig) {
+		if (stat(configname, &tmpstat)) {
+			fprintf(stderr, _("***\n"
+				"*** You have not yet configured!\n"
+				"*** (missing .config file)\n"
+				"***\n"
+				"*** Please run some configurator (e.g. \"make oldconfig\" or\n"
+				"*** \"make menuconfig\" or \"make xconfig\").\n"
+				"***\n"));
+			exit(1);
+		}
+	}
+
+	switch (input_mode) {
+	case set_default:
+		if (!defconfig_file)
+			defconfig_file = conf_get_default_confname();
+		if (conf_read(defconfig_file)) {
+			printf(_("***\n"
+				"*** Can't find default configuration \"%s\"!\n"
+				"***\n"), defconfig_file);
+			exit(1);
+		}
+		break;
+	case ask_silent:
+	case ask_all:
+	case ask_new:
+		conf_read(NULL);
+		break;
+	case set_no:
+	case set_mod:
+	case set_yes:
+	case set_random:
+		name = getenv("KCONFIG_ALLCONFIG");
+		if (name && !stat(name, &tmpstat)) {
+			conf_read_simple(name, S_DEF_USER);
+			break;
+		}
+		switch (input_mode) {
+		case set_no:	 name = "allno.config"; break;
+		case set_mod:	 name = "allmod.config"; break;
+		case set_yes:	 name = "allyes.config"; break;
+		case set_random: name = "allrandom.config"; break;
+		default: break;
+		}
+		if (!stat(name, &tmpstat))
+			conf_read_simple(name, S_DEF_USER);
+		else if (!stat("all.config", &tmpstat))
+			conf_read_simple("all.config", S_DEF_USER);
+		break;
+	default:
+		break;
+	}
+
+	if (sync_kconfig) {
+		if (conf_get_changed()) {
+			name = getenv("KCONFIG_NOSILENTUPDATE");
+			if (name && *name) {
+				fprintf(stderr,
+					_("\n*** configuration requires explicit update.\n\n"));
+				return 1;
+			}
+		}
+		valid_stdin = isatty(0) && isatty(1) && isatty(2);
+	}
+
+	switch (input_mode) {
+	case set_no:
+		conf_set_all_new_symbols(def_no);
+		break;
+	case set_yes:
+		conf_set_all_new_symbols(def_yes);
+		break;
+	case set_mod:
+		conf_set_all_new_symbols(def_mod);
+		break;
+	case set_random:
+		conf_set_all_new_symbols(def_random);
+		break;
+	case set_default:
+		conf_set_all_new_symbols(def_default);
+		break;
+	case ask_new:
+	case ask_all:
+		rootEntry = &rootmenu;
+		conf(&rootmenu);
+		input_mode = ask_silent;
+		/* fall through */
+	case ask_silent:
+		/* Update until a loop caused no more changes */
+		do {
+			conf_cnt = 0;
+			check_conf(&rootmenu);
+		} while (conf_cnt);
+		break;
+	}
+
+	if (sync_kconfig) {
+		/* silentoldconfig is used during the build so we shall update autoconf.
+		 * All other commands are only used to generate a config.
+		 */
+		if (conf_get_changed() && conf_write(NULL)) {
+			fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
+			exit(1);
+		}
+		if (conf_write_autoconf()) {
+			fprintf(stderr, _("\n*** Error during update of the configuration.\n\n"));
+			return 1;
+		}
+	} else {
+		if (conf_write(NULL)) {
+			fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
+			exit(1);
+		}
+	}
+	return 0;
+}
diff --git a/ap/build/uClibc/extra/config/confdata.c b/ap/build/uClibc/extra/config/confdata.c
new file mode 100644
index 0000000..2b848d5
--- /dev/null
+++ b/ap/build/uClibc/extra/config/confdata.c
@@ -0,0 +1,912 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <sys/stat.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <libgen.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+static void conf_warning(const char *fmt, ...)
+	__attribute__ ((format (printf, 1, 2)));
+
+static const char *conf_filename;
+static int conf_lineno, conf_warnings, conf_unsaved;
+
+const char conf_defname[] = "extra/Configs/defconfigs/$ARCH";
+
+static void conf_warning(const char *fmt, ...)
+{
+	va_list ap;
+	va_start(ap, fmt);
+	fprintf(stderr, "%s:%d:warning: ", conf_filename, conf_lineno);
+	vfprintf(stderr, fmt, ap);
+	fprintf(stderr, "\n");
+	va_end(ap);
+	conf_warnings++;
+}
+
+const char *conf_get_configname(void)
+{
+	char *name = getenv("KCONFIG_CONFIG");
+
+	return name ? name : ".config";
+}
+
+static char *conf_expand_value(const char *in)
+{
+	struct symbol *sym;
+	const char *src;
+	static char res_value[SYMBOL_MAXLENGTH];
+	char *dst, name[SYMBOL_MAXLENGTH];
+
+	res_value[0] = 0;
+	dst = name;
+	while ((src = strchr(in, '$'))) {
+		strncat(res_value, in, src - in);
+		src++;
+		dst = name;
+		while (isalnum(*src) || *src == '_')
+			*dst++ = *src++;
+		*dst = 0;
+		sym = sym_lookup(name, 0);
+		sym_calc_value(sym);
+		strcat(res_value, sym_get_string_value(sym));
+		in = src;
+	}
+	strcat(res_value, in);
+
+	return res_value;
+}
+
+char *conf_get_default_confname(void)
+{
+	struct stat buf;
+	static char fullname[PATH_MAX+1];
+	char *env, *name;
+
+	name = conf_expand_value(conf_defname);
+	env = getenv(SRCTREE);
+	if (env) {
+		sprintf(fullname, "%s/%s", env, name);
+		if (!stat(fullname, &buf))
+			return fullname;
+	}
+	return name;
+}
+
+static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
+{
+	char *p2;
+
+	switch (sym->type) {
+	case S_TRISTATE:
+		if (p[0] == 'm') {
+			sym->def[def].tri = mod;
+			sym->flags |= def_flags;
+			break;
+		}
+	case S_BOOLEAN:
+		if (p[0] == 'y') {
+			sym->def[def].tri = yes;
+			sym->flags |= def_flags;
+			break;
+		}
+		if (p[0] == 'n') {
+			sym->def[def].tri = no;
+			sym->flags |= def_flags;
+			break;
+		}
+		conf_warning("symbol value '%s' invalid for %s", p, sym->name);
+		break;
+	case S_OTHER:
+		if (*p != '"') {
+			for (p2 = p; *p2 && !isspace(*p2); p2++)
+				;
+			sym->type = S_STRING;
+			goto done;
+		}
+	case S_STRING:
+		if (*p++ != '"')
+			break;
+		for (p2 = p; (p2 = strpbrk(p2, "\"\\")); p2++) {
+			if (*p2 == '"') {
+				*p2 = 0;
+				break;
+			}
+			memmove(p2, p2 + 1, strlen(p2));
+		}
+		if (!p2) {
+			conf_warning("invalid string found");
+			return 1;
+		}
+	case S_INT:
+	case S_HEX:
+	done:
+		if (sym_string_valid(sym, p)) {
+			sym->def[def].val = strdup(p);
+			sym->flags |= def_flags;
+		} else {
+			conf_warning("symbol value '%s' invalid for %s", p, sym->name);
+			return 1;
+		}
+		break;
+	default:
+		;
+	}
+	return 0;
+}
+
+int conf_read_simple(const char *name, int def)
+{
+	FILE *in = NULL;
+	char line[1024];
+	char *p, *p2;
+	struct symbol *sym;
+	int i, def_flags;
+
+	if (name) {
+		in = zconf_fopen(name);
+	} else {
+		struct property *prop;
+
+		name = conf_get_configname();
+		in = zconf_fopen(name);
+		if (in)
+			goto load;
+		sym_add_change_count(1);
+		if (!sym_defconfig_list)
+			return 1;
+
+		for_all_defaults(sym_defconfig_list, prop) {
+			if (expr_calc_value(prop->visible.expr) == no ||
+			    prop->expr->type != E_SYMBOL)
+				continue;
+			name = conf_expand_value(prop->expr->left.sym->name);
+			in = zconf_fopen(name);
+			if (in) {
+				printf(_("#\n"
+					 "# using defaults found in %s\n"
+					 "#\n"), name);
+				goto load;
+			}
+		}
+	}
+	if (!in)
+		return 1;
+
+load:
+	conf_filename = name;
+	conf_lineno = 0;
+	conf_warnings = 0;
+	conf_unsaved = 0;
+
+	def_flags = SYMBOL_DEF << def;
+	for_all_symbols(i, sym) {
+		sym->flags |= SYMBOL_CHANGED;
+		sym->flags &= ~(def_flags|SYMBOL_VALID);
+		if (sym_is_choice(sym))
+			sym->flags |= def_flags;
+		switch (sym->type) {
+		case S_INT:
+		case S_HEX:
+		case S_STRING:
+			if (sym->def[def].val)
+				free(sym->def[def].val);
+		default:
+			sym->def[def].val = NULL;
+			sym->def[def].tri = no;
+		}
+	}
+
+	while (fgets(line, sizeof(line), in)) {
+		conf_lineno++;
+		sym = NULL;
+		switch (line[0]) {
+		case '#':
+			if (line[1] != ' ')
+				continue;
+			p = strchr(line + 2, ' ');
+			if (!p)
+				continue;
+			*p++ = 0;
+			if (strncmp(p, "is not set", 10))
+				continue;
+			if (def == S_DEF_USER) {
+				sym = sym_find(line + 2);
+				if (!sym) {
+					sym_add_change_count(1);
+					break;
+				}
+			} else {
+				sym = sym_lookup(line + 2, 0);
+				if (sym->type == S_UNKNOWN)
+					sym->type = S_BOOLEAN;
+			}
+			if (sym->flags & def_flags) {
+				conf_warning("override: reassigning to symbol %s", sym->name);
+			}
+			switch (sym->type) {
+			case S_BOOLEAN:
+			case S_TRISTATE:
+				sym->def[def].tri = no;
+				sym->flags |= def_flags;
+				break;
+			default:
+				;
+			}
+			break;
+		case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z':
+			p = strchr(line, '=');
+			if (!p) {
+				conf_warning("unexpected data '%s'", line);
+				continue;
+			}
+			*p++ = 0;
+			p2 = strchr(p, '\n');
+			if (p2) {
+				*p2-- = 0;
+				if (*p2 == '\r')
+					*p2 = 0;
+			}
+			if (def == S_DEF_USER) {
+				sym = sym_find(line);
+				if (!sym) {
+					sym_add_change_count(1);
+					break;
+				}
+			} else {
+				sym = sym_lookup(line, 0);
+				if (sym->type == S_UNKNOWN)
+					sym->type = S_OTHER;
+			}
+			if (sym->flags & def_flags) {
+				conf_warning("override: reassigning to symbol %s", sym->name);
+			}
+			if (conf_set_sym_val(sym, def, def_flags, p))
+				continue;
+			break;
+		case '\r':
+		case '\n':
+			break;
+		default:
+			conf_warning("unexpected data");
+			continue;
+		}
+		if (sym && sym_is_choice_value(sym)) {
+			struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym));
+			switch (sym->def[def].tri) {
+			case no:
+				break;
+			case mod:
+				if (cs->def[def].tri == yes) {
+					conf_warning("%s creates inconsistent choice state", sym->name);
+					cs->flags &= ~def_flags;
+				}
+				break;
+			case yes:
+				if (cs->def[def].tri != no)
+					conf_warning("override: %s changes choice state", sym->name);
+				cs->def[def].val = sym;
+				break;
+			}
+			cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri);
+		}
+	}
+	fclose(in);
+
+	if (modules_sym)
+		sym_calc_value(modules_sym);
+	return 0;
+}
+
+int conf_read(const char *name)
+{
+	struct symbol *sym, *choice_sym;
+	struct property *prop;
+	struct expr *e;
+	int i, flags;
+
+	sym_set_change_count(0);
+
+	if (conf_read_simple(name, S_DEF_USER))
+		return 1;
+
+	for_all_symbols(i, sym) {
+		sym_calc_value(sym);
+		if (sym_is_choice(sym) || (sym->flags & SYMBOL_AUTO))
+			goto sym_ok;
+		if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) {
+			/* check that calculated value agrees with saved value */
+			switch (sym->type) {
+			case S_BOOLEAN:
+			case S_TRISTATE:
+				if (sym->def[S_DEF_USER].tri != sym_get_tristate_value(sym))
+					break;
+				if (!sym_is_choice(sym))
+					goto sym_ok;
+			default:
+				if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val))
+					goto sym_ok;
+				break;
+			}
+		} else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE))
+			/* no previous value and not saved */
+			goto sym_ok;
+		conf_unsaved++;
+		/* maybe print value in verbose mode... */
+	sym_ok:
+		if (!sym_is_choice(sym))
+			continue;
+		/* The choice symbol only has a set value (and thus is not new)
+		 * if all its visible childs have values.
+		 */
+		prop = sym_get_choice_prop(sym);
+		flags = sym->flags;
+		expr_list_for_each_sym(prop->expr, e, choice_sym)
+			if (choice_sym->visible != no)
+				flags &= choice_sym->flags;
+		sym->flags &= flags | ~SYMBOL_DEF_USER;
+	}
+
+	for_all_symbols(i, sym) {
+		if (sym_has_value(sym) && !sym_is_choice_value(sym)) {
+			/* Reset values of generates values, so they'll appear
+			 * as new, if they should become visible, but that
+			 * doesn't quite work if the Kconfig and the saved
+			 * configuration disagree.
+			 */
+			if (sym->visible == no && !conf_unsaved)
+				sym->flags &= ~SYMBOL_DEF_USER;
+			switch (sym->type) {
+			case S_STRING:
+			case S_INT:
+			case S_HEX:
+				/* Reset a string value if it's out of range */
+				if (sym_string_within_range(sym, sym->def[S_DEF_USER].val))
+					break;
+				sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER);
+				conf_unsaved++;
+				break;
+			default:
+				break;
+			}
+		}
+	}
+
+	sym_add_change_count(conf_warnings || conf_unsaved);
+
+	return 0;
+}
+
+int conf_write(const char *name)
+{
+	FILE *out;
+	struct symbol *sym;
+	struct menu *menu;
+	const char *basename;
+	char dirname[128], tmpname[128], newname[128];
+	int type, l;
+	const char *str;
+	time_t now;
+	int use_timestamp = 1;
+	char *env;
+
+	dirname[0] = 0;
+	if (name == NULL)
+		name = conf_get_configname();
+	if (name && name[0]) {
+		struct stat st;
+		char *slash;
+
+		if (!stat(name, &st) && S_ISDIR(st.st_mode)) {
+			strcpy(dirname, name);
+			strcat(dirname, "/");
+			basename = conf_get_configname();
+		} else if ((slash = strrchr(name, '/'))) {
+			int size = slash - name + 1;
+			memcpy(dirname, name, size);
+			dirname[size] = 0;
+			if (slash[1])
+				basename = slash + 1;
+			else
+				basename = conf_get_configname();
+		} else
+			basename = name;
+	} else
+		basename = conf_get_configname();
+
+	sprintf(newname, "%s%s", dirname, basename);
+	env = getenv("KCONFIG_OVERWRITECONFIG");
+	if (!env || !*env) {
+		sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
+		out = fopen(tmpname, "w");
+	} else {
+		*tmpname = 0;
+		out = fopen(newname, "w");
+	}
+	if (!out)
+		return 1;
+
+	sym = sym_lookup("VERSION", 0);
+	sym_calc_value(sym);
+	time(&now);
+	env = getenv("KCONFIG_NOTIMESTAMP");
+	if (env && *env)
+		use_timestamp = 0;
+
+	fprintf(out, _("#\n"
+		       "# Automatically generated make config: don't edit\n"
+		       "# Version: %s\n"
+		       "%s%s"
+		       "#\n"),
+		     sym_get_string_value(sym),
+		     use_timestamp ? "# " : "",
+		     use_timestamp ? ctime(&now) : "");
+
+	if (!conf_get_changed())
+		sym_clear_all_valid();
+
+	menu = rootmenu.list;
+	while (menu) {
+		sym = menu->sym;
+		if (!sym) {
+			if (!menu_is_visible(menu))
+				goto next;
+			str = menu_get_prompt(menu);
+			fprintf(out, "\n"
+				     "#\n"
+				     "# %s\n"
+				     "#\n", str);
+		} else if (!(sym->flags & SYMBOL_CHOICE)) {
+			sym_calc_value(sym);
+			if (!(sym->flags & SYMBOL_WRITE))
+				goto next;
+			sym->flags &= ~SYMBOL_WRITE;
+			type = sym->type;
+			if (type == S_TRISTATE) {
+				sym_calc_value(modules_sym);
+				if (modules_sym->curr.tri == no)
+					type = S_BOOLEAN;
+			}
+			switch (type) {
+			case S_BOOLEAN:
+			case S_TRISTATE:
+				switch (sym_get_tristate_value(sym)) {
+				case no:
+					fprintf(out, "# %s is not set\n", sym->name);
+					break;
+				case mod:
+					fprintf(out, "%s=m\n", sym->name);
+					break;
+				case yes:
+					fprintf(out, "%s=y\n", sym->name);
+					break;
+				}
+				break;
+			case S_STRING:
+				str = sym_get_string_value(sym);
+				fprintf(out, "%s=\"", sym->name);
+				while (1) {
+					l = strcspn(str, "\"\\");
+					if (l) {
+						fwrite(str, l, 1, out);
+						str += l;
+					}
+					if (!*str)
+						break;
+					fprintf(out, "\\%c", *str++);
+				}
+				fputs("\"\n", out);
+				break;
+			case S_HEX:
+				str = sym_get_string_value(sym);
+				if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) {
+					fprintf(out, "%s=%s\n", sym->name, str);
+					break;
+				}
+			case S_INT:
+				str = sym_get_string_value(sym);
+				fprintf(out, "%s=%s\n", sym->name, str);
+				break;
+			}
+		}
+
+	next:
+		if (menu->list) {
+			menu = menu->list;
+			continue;
+		}
+		if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+	fclose(out);
+
+	if (*tmpname) {
+		strcat(dirname, basename);
+		strcat(dirname, ".old");
+		rename(newname, dirname);
+		if (rename(tmpname, newname))
+			return 1;
+	}
+
+	printf(_("#\n"
+		 "# configuration written to %s\n"
+		 "#\n"), newname);
+
+	sym_set_change_count(0);
+
+	return 0;
+}
+
+int conf_split_config(void)
+{
+	char *name, path[128], opwd[512];
+	char *s, *d, c;
+	struct symbol *sym;
+	struct stat sb;
+	int res, i, fd;
+
+	name = getenv("KCONFIG_AUTOCONFIG");
+	if (!name)
+		name = "include/config/auto.conf";
+	conf_read_simple(name, S_DEF_AUTO);
+
+	if (getcwd(opwd, sizeof(opwd)) == NULL)
+		return 1;
+	if (chdir(dirname(strdup(name))))
+		return 1;
+
+	res = 0;
+	for_all_symbols(i, sym) {
+		sym_calc_value(sym);
+		if ((sym->flags & SYMBOL_AUTO) || !sym->name)
+			continue;
+		if (sym->flags & SYMBOL_WRITE) {
+			if (sym->flags & SYMBOL_DEF_AUTO) {
+				/*
+				 * symbol has old and new value,
+				 * so compare them...
+				 */
+				switch (sym->type) {
+				case S_BOOLEAN:
+				case S_TRISTATE:
+					if (sym_get_tristate_value(sym) ==
+					    sym->def[S_DEF_AUTO].tri)
+						continue;
+					break;
+				case S_STRING:
+				case S_HEX:
+				case S_INT:
+					if (!strcmp(sym_get_string_value(sym),
+						    sym->def[S_DEF_AUTO].val))
+						continue;
+					break;
+				default:
+					break;
+				}
+			} else {
+				/*
+				 * If there is no old value, only 'no' (unset)
+				 * is allowed as new value.
+				 */
+				switch (sym->type) {
+				case S_BOOLEAN:
+				case S_TRISTATE:
+					if (sym_get_tristate_value(sym) == no)
+						continue;
+					break;
+				default:
+					break;
+				}
+			}
+		} else if (!(sym->flags & SYMBOL_DEF_AUTO))
+			/* There is neither an old nor a new value. */
+			continue;
+		/* else
+		 *	There is an old value, but no new value ('no' (unset)
+		 *	isn't saved in auto.conf, so the old value is always
+		 *	different from 'no').
+		 */
+
+		/* Replace all '_' and append ".h" */
+		s = sym->name;
+		d = path;
+		while ((c = *s++)) {
+			c = tolower(c);
+			*d++ = (c == '_') ? '/' : c;
+		}
+		strcpy(d, ".h");
+
+		/* Assume directory path already exists. */
+		fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+		if (fd == -1) {
+			if (errno != ENOENT) {
+				res = 1;
+				break;
+			}
+			/*
+			 * Create directory components,
+			 * unless they exist already.
+			 */
+			d = path;
+			while ((d = strchr(d, '/'))) {
+				*d = 0;
+				if (stat(path, &sb) && mkdir(path, 0755)) {
+					res = 1;
+					goto out;
+				}
+				*d++ = '/';
+			}
+			/* Try it again. */
+			fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+			if (fd == -1) {
+				res = 1;
+				break;
+			}
+		}
+		close(fd);
+	}
+out:
+	if (chdir(opwd))
+		return 1;
+
+	return res;
+}
+
+int conf_write_autoconf(void)
+{
+	char opwd[512];
+	struct symbol *sym;
+	const char *str;
+	char *name;
+	FILE *out, *out_h;
+	time_t now;
+	int i, l;
+
+	if (getcwd(opwd, sizeof(opwd)) == NULL)
+		return 1;
+	if (chdir(dirname(strdup(conf_get_configname()))))
+		return 1;
+	sym_clear_all_valid();
+
+	file_write_dep("include/config/auto.conf.cmd");
+
+	if (conf_split_config())
+		return 1;
+
+	out = fopen(".tmpconfig", "w");
+	if (!out)
+		return 1;
+
+	out_h = fopen(".tmpconfig.h", "w");
+	if (!out_h) {
+		fclose(out);
+		return 1;
+	}
+
+	sym = sym_lookup("VERSION", 0);
+	sym_calc_value(sym);
+	time(&now);
+	fprintf(out, "#\n"
+		     "# Automatically generated make config: don't edit\n"
+		     "# Version: %s\n"
+		     "# %s"
+		     "#\n",
+		     sym_get_string_value(sym), ctime(&now));
+	fprintf(out_h, "/*\n"
+		       " * Automatically generated C config: don't edit\n"
+		       " * Version: %s\n"
+		       " * %s"
+		       " */\n"
+		       "#define AUTOCONF_INCLUDED\n",
+		       sym_get_string_value(sym), ctime(&now));
+
+	for_all_symbols(i, sym) {
+		sym_calc_value(sym);
+		if (!(sym->flags & SYMBOL_WRITE) || !sym->name)
+			continue;
+		switch (sym->type) {
+		case S_BOOLEAN:
+		case S_TRISTATE:
+			switch (sym_get_tristate_value(sym)) {
+			case no:
+				break;
+			case mod:
+				fprintf(out, "CONFIG_%s=m\n", sym->name);
+				fprintf(out_h, "#define CONFIG_%s_MODULE 1\n", sym->name);
+				break;
+			case yes:
+				fprintf(out, "%s=y\n", sym->name);
+				fprintf(out_h, "#define %s 1\n", sym->name);
+				break;
+			}
+			break;
+		case S_STRING:
+			str = sym_get_string_value(sym);
+			fprintf(out, "%s=\"", sym->name);
+			fprintf(out_h, "#define %s \"", sym->name);
+			while (1) {
+				l = strcspn(str, "\"\\");
+				if (l) {
+					fwrite(str, l, 1, out);
+					fwrite(str, l, 1, out_h);
+					str += l;
+				}
+				if (!*str)
+					break;
+				fprintf(out, "\\%c", *str);
+				fprintf(out_h, "\\%c", *str);
+				str++;
+			}
+			fputs("\"\n", out);
+			fputs("\"\n", out_h);
+			break;
+		case S_HEX:
+			str = sym_get_string_value(sym);
+			if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) {
+				fprintf(out, "%s=%s\n", sym->name, str);
+				fprintf(out_h, "#define %s 0x%s\n", sym->name, str);
+				break;
+			}
+		case S_INT:
+			str = sym_get_string_value(sym);
+			fprintf(out, "%s=%s\n", sym->name, str);
+			fprintf(out_h, "#define %s %s\n", sym->name, str);
+			break;
+		default:
+			break;
+		}
+	}
+	fclose(out);
+	fclose(out_h);
+
+	name = getenv("KCONFIG_AUTOHEADER");
+	if (!name)
+		name = "include/config/autoconf.h";
+	if (rename(".tmpconfig.h", name))
+		return 1;
+	name = getenv("KCONFIG_AUTOCONFIG");
+	if (!name)
+		name = "include/config/auto.conf";
+	/*
+	 * This must be the last step, kbuild has a dependency on auto.conf
+	 * and this marks the successful completion of the previous steps.
+	 */
+	if (rename(".tmpconfig", name))
+		return 1;
+	chdir(opwd);
+	return 0;
+}
+
+static int sym_change_count;
+static void (*conf_changed_callback)(void);
+
+void sym_set_change_count(int count)
+{
+	int _sym_change_count = sym_change_count;
+	sym_change_count = count;
+	if (conf_changed_callback &&
+	    (bool)_sym_change_count != (bool)count)
+		conf_changed_callback();
+}
+
+void sym_add_change_count(int count)
+{
+	sym_set_change_count(count + sym_change_count);
+}
+
+bool conf_get_changed(void)
+{
+	return sym_change_count;
+}
+
+void conf_set_changed_callback(void (*fn)(void))
+{
+	conf_changed_callback = fn;
+}
+
+
+void conf_set_all_new_symbols(enum conf_def_mode mode)
+{
+	struct symbol *sym, *csym;
+	struct property *prop;
+	struct expr *e;
+	int i, cnt, def;
+
+	for_all_symbols(i, sym) {
+		if (sym_has_value(sym))
+			continue;
+		switch (sym_get_type(sym)) {
+		case S_BOOLEAN:
+		case S_TRISTATE:
+			switch (mode) {
+			case def_yes:
+				sym->def[S_DEF_USER].tri = yes;
+				break;
+			case def_mod:
+				sym->def[S_DEF_USER].tri = mod;
+				break;
+			case def_no:
+				sym->def[S_DEF_USER].tri = no;
+				break;
+			case def_random:
+				sym->def[S_DEF_USER].tri = (tristate)(rand() % 3);
+				break;
+			default:
+				continue;
+			}
+			if (!(sym_is_choice(sym) && mode == def_random))
+				sym->flags |= SYMBOL_DEF_USER;
+			break;
+		default:
+			break;
+		}
+
+	}
+
+	sym_clear_all_valid();
+
+	if (mode != def_random)
+		return;
+	/*
+	 * We have different type of choice blocks.
+	 * If curr.tri equal to mod then we can select several
+	 * choice symbols in one block.
+	 * In this case we do nothing.
+	 * If curr.tri equal yes then only one symbol can be
+	 * selected in a choice block and we set it to yes,
+	 * and the rest to no.
+	 */
+	for_all_symbols(i, csym) {
+		if (sym_has_value(csym) || !sym_is_choice(csym))
+			continue;
+
+		sym_calc_value(csym);
+
+		if (csym->curr.tri != yes)
+			continue;
+
+		prop = sym_get_choice_prop(csym);
+
+		/* count entries in choice block */
+		cnt = 0;
+		expr_list_for_each_sym(prop->expr, e, sym)
+			cnt++;
+
+		/*
+		 * find a random value and set it to yes,
+		 * set the rest to no so we have only one set
+		 */
+		def = (rand() % cnt);
+
+		cnt = 0;
+		expr_list_for_each_sym(prop->expr, e, sym) {
+			if (def == cnt++) {
+				sym->def[S_DEF_USER].tri = yes;
+				csym->def[S_DEF_USER].val = sym;
+			}
+			else {
+				sym->def[S_DEF_USER].tri = no;
+			}
+		}
+		csym->flags |= SYMBOL_DEF_USER;
+		/* clear VALID to get value calculated */
+		csym->flags &= ~(SYMBOL_VALID);
+	}
+}
diff --git a/ap/build/uClibc/extra/config/expr.c b/ap/build/uClibc/extra/config/expr.c
new file mode 100644
index 0000000..579ece4
--- /dev/null
+++ b/ap/build/uClibc/extra/config/expr.c
@@ -0,0 +1,1106 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define DEBUG_EXPR	0
+
+struct expr *expr_alloc_symbol(struct symbol *sym)
+{
+	struct expr *e = malloc(sizeof(*e));
+	memset(e, 0, sizeof(*e));
+	e->type = E_SYMBOL;
+	e->left.sym = sym;
+	return e;
+}
+
+struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
+{
+	struct expr *e = malloc(sizeof(*e));
+	memset(e, 0, sizeof(*e));
+	e->type = type;
+	e->left.expr = ce;
+	return e;
+}
+
+struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
+{
+	struct expr *e = malloc(sizeof(*e));
+	memset(e, 0, sizeof(*e));
+	e->type = type;
+	e->left.expr = e1;
+	e->right.expr = e2;
+	return e;
+}
+
+struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
+{
+	struct expr *e = malloc(sizeof(*e));
+	memset(e, 0, sizeof(*e));
+	e->type = type;
+	e->left.sym = s1;
+	e->right.sym = s2;
+	return e;
+}
+
+struct expr *expr_alloc_and(struct expr *e1, struct expr *e2)
+{
+	if (!e1)
+		return e2;
+	return e2 ? expr_alloc_two(E_AND, e1, e2) : e1;
+}
+
+struct expr *expr_alloc_or(struct expr *e1, struct expr *e2)
+{
+	if (!e1)
+		return e2;
+	return e2 ? expr_alloc_two(E_OR, e1, e2) : e1;
+}
+
+struct expr *expr_copy(struct expr *org)
+{
+	struct expr *e;
+
+	if (!org)
+		return NULL;
+
+	e = malloc(sizeof(*org));
+	memcpy(e, org, sizeof(*org));
+	switch (org->type) {
+	case E_SYMBOL:
+		e->left = org->left;
+		break;
+	case E_NOT:
+		e->left.expr = expr_copy(org->left.expr);
+		break;
+	case E_EQUAL:
+	case E_UNEQUAL:
+		e->left.sym = org->left.sym;
+		e->right.sym = org->right.sym;
+		break;
+	case E_AND:
+	case E_OR:
+	case E_LIST:
+		e->left.expr = expr_copy(org->left.expr);
+		e->right.expr = expr_copy(org->right.expr);
+		break;
+	default:
+		printf("can't copy type %d\n", e->type);
+		free(e);
+		e = NULL;
+		break;
+	}
+
+	return e;
+}
+
+void expr_free(struct expr *e)
+{
+	if (!e)
+		return;
+
+	switch (e->type) {
+	case E_SYMBOL:
+		break;
+	case E_NOT:
+		expr_free(e->left.expr);
+		return;
+	case E_EQUAL:
+	case E_UNEQUAL:
+		break;
+	case E_OR:
+	case E_AND:
+		expr_free(e->left.expr);
+		expr_free(e->right.expr);
+		break;
+	default:
+		printf("how to free type %d?\n", e->type);
+		break;
+	}
+	free(e);
+}
+
+static int trans_count;
+
+#define e1 (*ep1)
+#define e2 (*ep2)
+
+static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct expr **ep2)
+{
+	if (e1->type == type) {
+		__expr_eliminate_eq(type, &e1->left.expr, &e2);
+		__expr_eliminate_eq(type, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		__expr_eliminate_eq(type, &e1, &e2->left.expr);
+		__expr_eliminate_eq(type, &e1, &e2->right.expr);
+		return;
+	}
+	if (e1->type == E_SYMBOL && e2->type == E_SYMBOL &&
+	    e1->left.sym == e2->left.sym &&
+	    (e1->left.sym == &symbol_yes || e1->left.sym == &symbol_no))
+		return;
+	if (!expr_eq(e1, e2))
+		return;
+	trans_count++;
+	expr_free(e1); expr_free(e2);
+	switch (type) {
+	case E_OR:
+		e1 = expr_alloc_symbol(&symbol_no);
+		e2 = expr_alloc_symbol(&symbol_no);
+		break;
+	case E_AND:
+		e1 = expr_alloc_symbol(&symbol_yes);
+		e2 = expr_alloc_symbol(&symbol_yes);
+		break;
+	default:
+		;
+	}
+}
+
+void expr_eliminate_eq(struct expr **ep1, struct expr **ep2)
+{
+	if (!e1 || !e2)
+		return;
+	switch (e1->type) {
+	case E_OR:
+	case E_AND:
+		__expr_eliminate_eq(e1->type, ep1, ep2);
+	default:
+		;
+	}
+	if (e1->type != e2->type) switch (e2->type) {
+	case E_OR:
+	case E_AND:
+		__expr_eliminate_eq(e2->type, ep1, ep2);
+	default:
+		;
+	}
+	e1 = expr_eliminate_yn(e1);
+	e2 = expr_eliminate_yn(e2);
+}
+
+#undef e1
+#undef e2
+
+int expr_eq(struct expr *e1, struct expr *e2)
+{
+	int res, old_count;
+
+	if (e1->type != e2->type)
+		return 0;
+	switch (e1->type) {
+	case E_EQUAL:
+	case E_UNEQUAL:
+		return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym;
+	case E_SYMBOL:
+		return e1->left.sym == e2->left.sym;
+	case E_NOT:
+		return expr_eq(e1->left.expr, e2->left.expr);
+	case E_AND:
+	case E_OR:
+		e1 = expr_copy(e1);
+		e2 = expr_copy(e2);
+		old_count = trans_count;
+		expr_eliminate_eq(&e1, &e2);
+		res = (e1->type == E_SYMBOL && e2->type == E_SYMBOL &&
+		       e1->left.sym == e2->left.sym);
+		expr_free(e1);
+		expr_free(e2);
+		trans_count = old_count;
+		return res;
+	case E_LIST:
+	case E_RANGE:
+	case E_NONE:
+		/* panic */;
+	}
+
+	if (DEBUG_EXPR) {
+		expr_fprint(e1, stdout);
+		printf(" = ");
+		expr_fprint(e2, stdout);
+		printf(" ?\n");
+	}
+
+	return 0;
+}
+
+struct expr *expr_eliminate_yn(struct expr *e)
+{
+	struct expr *tmp;
+
+	if (e) switch (e->type) {
+	case E_AND:
+		e->left.expr = expr_eliminate_yn(e->left.expr);
+		e->right.expr = expr_eliminate_yn(e->right.expr);
+		if (e->left.expr->type == E_SYMBOL) {
+			if (e->left.expr->left.sym == &symbol_no) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_no;
+				e->right.expr = NULL;
+				return e;
+			} else if (e->left.expr->left.sym == &symbol_yes) {
+				free(e->left.expr);
+				tmp = e->right.expr;
+				*e = *(e->right.expr);
+				free(tmp);
+				return e;
+			}
+		}
+		if (e->right.expr->type == E_SYMBOL) {
+			if (e->right.expr->left.sym == &symbol_no) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_no;
+				e->right.expr = NULL;
+				return e;
+			} else if (e->right.expr->left.sym == &symbol_yes) {
+				free(e->right.expr);
+				tmp = e->left.expr;
+				*e = *(e->left.expr);
+				free(tmp);
+				return e;
+			}
+		}
+		break;
+	case E_OR:
+		e->left.expr = expr_eliminate_yn(e->left.expr);
+		e->right.expr = expr_eliminate_yn(e->right.expr);
+		if (e->left.expr->type == E_SYMBOL) {
+			if (e->left.expr->left.sym == &symbol_no) {
+				free(e->left.expr);
+				tmp = e->right.expr;
+				*e = *(e->right.expr);
+				free(tmp);
+				return e;
+			} else if (e->left.expr->left.sym == &symbol_yes) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_yes;
+				e->right.expr = NULL;
+				return e;
+			}
+		}
+		if (e->right.expr->type == E_SYMBOL) {
+			if (e->right.expr->left.sym == &symbol_no) {
+				free(e->right.expr);
+				tmp = e->left.expr;
+				*e = *(e->left.expr);
+				free(tmp);
+				return e;
+			} else if (e->right.expr->left.sym == &symbol_yes) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_yes;
+				e->right.expr = NULL;
+				return e;
+			}
+		}
+		break;
+	default:
+		;
+	}
+	return e;
+}
+
+/*
+ * bool FOO!=n => FOO
+ */
+struct expr *expr_trans_bool(struct expr *e)
+{
+	if (!e)
+		return NULL;
+	switch (e->type) {
+	case E_AND:
+	case E_OR:
+	case E_NOT:
+		e->left.expr = expr_trans_bool(e->left.expr);
+		e->right.expr = expr_trans_bool(e->right.expr);
+		break;
+	case E_UNEQUAL:
+		// FOO!=n -> FOO
+		if (e->left.sym->type == S_TRISTATE) {
+			if (e->right.sym == &symbol_no) {
+				e->type = E_SYMBOL;
+				e->right.sym = NULL;
+			}
+		}
+		break;
+	default:
+		;
+	}
+	return e;
+}
+
+/*
+ * e1 || e2 -> ?
+ */
+struct expr *expr_join_or(struct expr *e1, struct expr *e2)
+{
+	struct expr *tmp;
+	struct symbol *sym1, *sym2;
+
+	if (expr_eq(e1, e2))
+		return expr_copy(e1);
+	if (e1->type != E_EQUAL && e1->type != E_UNEQUAL && e1->type != E_SYMBOL && e1->type != E_NOT)
+		return NULL;
+	if (e2->type != E_EQUAL && e2->type != E_UNEQUAL && e2->type != E_SYMBOL && e2->type != E_NOT)
+		return NULL;
+	if (e1->type == E_NOT) {
+		tmp = e1->left.expr;
+		if (tmp->type != E_EQUAL && tmp->type != E_UNEQUAL && tmp->type != E_SYMBOL)
+			return NULL;
+		sym1 = tmp->left.sym;
+	} else
+		sym1 = e1->left.sym;
+	if (e2->type == E_NOT) {
+		if (e2->left.expr->type != E_SYMBOL)
+			return NULL;
+		sym2 = e2->left.expr->left.sym;
+	} else
+		sym2 = e2->left.sym;
+	if (sym1 != sym2)
+		return NULL;
+	if (sym1->type != S_BOOLEAN && sym1->type != S_TRISTATE)
+		return NULL;
+	if (sym1->type == S_TRISTATE) {
+		if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
+		    ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
+		     (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) {
+			// (a='y') || (a='m') -> (a!='n')
+			return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_no);
+		}
+		if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
+		    ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
+		     (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) {
+			// (a='y') || (a='n') -> (a!='m')
+			return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_mod);
+		}
+		if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
+		    ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
+		     (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) {
+			// (a='m') || (a='n') -> (a!='y')
+			return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes);
+		}
+	}
+	if (sym1->type == S_BOOLEAN && sym1 == sym2) {
+		if ((e1->type == E_NOT && e1->left.expr->type == E_SYMBOL && e2->type == E_SYMBOL) ||
+		    (e2->type == E_NOT && e2->left.expr->type == E_SYMBOL && e1->type == E_SYMBOL))
+			return expr_alloc_symbol(&symbol_yes);
+	}
+
+	if (DEBUG_EXPR) {
+		printf("optimize (");
+		expr_fprint(e1, stdout);
+		printf(") || (");
+		expr_fprint(e2, stdout);
+		printf(")?\n");
+	}
+	return NULL;
+}
+
+struct expr *expr_join_and(struct expr *e1, struct expr *e2)
+{
+	struct expr *tmp;
+	struct symbol *sym1, *sym2;
+
+	if (expr_eq(e1, e2))
+		return expr_copy(e1);
+	if (e1->type != E_EQUAL && e1->type != E_UNEQUAL && e1->type != E_SYMBOL && e1->type != E_NOT)
+		return NULL;
+	if (e2->type != E_EQUAL && e2->type != E_UNEQUAL && e2->type != E_SYMBOL && e2->type != E_NOT)
+		return NULL;
+	if (e1->type == E_NOT) {
+		tmp = e1->left.expr;
+		if (tmp->type != E_EQUAL && tmp->type != E_UNEQUAL && tmp->type != E_SYMBOL)
+			return NULL;
+		sym1 = tmp->left.sym;
+	} else
+		sym1 = e1->left.sym;
+	if (e2->type == E_NOT) {
+		if (e2->left.expr->type != E_SYMBOL)
+			return NULL;
+		sym2 = e2->left.expr->left.sym;
+	} else
+		sym2 = e2->left.sym;
+	if (sym1 != sym2)
+		return NULL;
+	if (sym1->type != S_BOOLEAN && sym1->type != S_TRISTATE)
+		return NULL;
+
+	if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) ||
+	    (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes))
+		// (a) && (a='y') -> (a='y')
+		return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
+
+	if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) ||
+	    (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no))
+		// (a) && (a!='n') -> (a)
+		return expr_alloc_symbol(sym1);
+
+	if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) ||
+	    (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod))
+		// (a) && (a!='m') -> (a='y')
+		return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
+
+	if (sym1->type == S_TRISTATE) {
+		if (e1->type == E_EQUAL && e2->type == E_UNEQUAL) {
+			// (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
+			sym2 = e1->right.sym;
+			if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
+				return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
+							     : expr_alloc_symbol(&symbol_no);
+		}
+		if (e1->type == E_UNEQUAL && e2->type == E_EQUAL) {
+			// (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
+			sym2 = e2->right.sym;
+			if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
+				return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
+							     : expr_alloc_symbol(&symbol_no);
+		}
+		if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
+			   ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
+			    (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes)))
+			// (a!='y') && (a!='n') -> (a='m')
+			return expr_alloc_comp(E_EQUAL, sym1, &symbol_mod);
+
+		if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
+			   ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
+			    (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes)))
+			// (a!='y') && (a!='m') -> (a='n')
+			return expr_alloc_comp(E_EQUAL, sym1, &symbol_no);
+
+		if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
+			   ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
+			    (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod)))
+			// (a!='m') && (a!='n') -> (a='m')
+			return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
+
+		if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) ||
+		    (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) ||
+		    (e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) ||
+		    (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes))
+			return NULL;
+	}
+
+	if (DEBUG_EXPR) {
+		printf("optimize (");
+		expr_fprint(e1, stdout);
+		printf(") && (");
+		expr_fprint(e2, stdout);
+		printf(")?\n");
+	}
+	return NULL;
+}
+
+static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct expr **ep2)
+{
+#define e1 (*ep1)
+#define e2 (*ep2)
+	struct expr *tmp;
+
+	if (e1->type == type) {
+		expr_eliminate_dups1(type, &e1->left.expr, &e2);
+		expr_eliminate_dups1(type, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		expr_eliminate_dups1(type, &e1, &e2->left.expr);
+		expr_eliminate_dups1(type, &e1, &e2->right.expr);
+		return;
+	}
+	if (e1 == e2)
+		return;
+
+	switch (e1->type) {
+	case E_OR: case E_AND:
+		expr_eliminate_dups1(e1->type, &e1, &e1);
+	default:
+		;
+	}
+
+	switch (type) {
+	case E_OR:
+		tmp = expr_join_or(e1, e2);
+		if (tmp) {
+			expr_free(e1); expr_free(e2);
+			e1 = expr_alloc_symbol(&symbol_no);
+			e2 = tmp;
+			trans_count++;
+		}
+		break;
+	case E_AND:
+		tmp = expr_join_and(e1, e2);
+		if (tmp) {
+			expr_free(e1); expr_free(e2);
+			e1 = expr_alloc_symbol(&symbol_yes);
+			e2 = tmp;
+			trans_count++;
+		}
+		break;
+	default:
+		;
+	}
+#undef e1
+#undef e2
+}
+
+static void expr_eliminate_dups2(enum expr_type type, struct expr **ep1, struct expr **ep2)
+{
+#define e1 (*ep1)
+#define e2 (*ep2)
+	struct expr *tmp, *tmp1, *tmp2;
+
+	if (e1->type == type) {
+		expr_eliminate_dups2(type, &e1->left.expr, &e2);
+		expr_eliminate_dups2(type, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		expr_eliminate_dups2(type, &e1, &e2->left.expr);
+		expr_eliminate_dups2(type, &e1, &e2->right.expr);
+	}
+	if (e1 == e2)
+		return;
+
+	switch (e1->type) {
+	case E_OR:
+		expr_eliminate_dups2(e1->type, &e1, &e1);
+		// (FOO || BAR) && (!FOO && !BAR) -> n
+		tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1)));
+		tmp2 = expr_copy(e2);
+		tmp = expr_extract_eq_and(&tmp1, &tmp2);
+		if (expr_is_yes(tmp1)) {
+			expr_free(e1);
+			e1 = expr_alloc_symbol(&symbol_no);
+			trans_count++;
+		}
+		expr_free(tmp2);
+		expr_free(tmp1);
+		expr_free(tmp);
+		break;
+	case E_AND:
+		expr_eliminate_dups2(e1->type, &e1, &e1);
+		// (FOO && BAR) || (!FOO || !BAR) -> y
+		tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1)));
+		tmp2 = expr_copy(e2);
+		tmp = expr_extract_eq_or(&tmp1, &tmp2);
+		if (expr_is_no(tmp1)) {
+			expr_free(e1);
+			e1 = expr_alloc_symbol(&symbol_yes);
+			trans_count++;
+		}
+		expr_free(tmp2);
+		expr_free(tmp1);
+		expr_free(tmp);
+		break;
+	default:
+		;
+	}
+#undef e1
+#undef e2
+}
+
+struct expr *expr_eliminate_dups(struct expr *e)
+{
+	int oldcount;
+	if (!e)
+		return e;
+
+	oldcount = trans_count;
+	while (1) {
+		trans_count = 0;
+		switch (e->type) {
+		case E_OR: case E_AND:
+			expr_eliminate_dups1(e->type, &e, &e);
+			expr_eliminate_dups2(e->type, &e, &e);
+		default:
+			;
+		}
+		if (!trans_count)
+			break;
+		e = expr_eliminate_yn(e);
+	}
+	trans_count = oldcount;
+	return e;
+}
+
+struct expr *expr_transform(struct expr *e)
+{
+	struct expr *tmp;
+
+	if (!e)
+		return NULL;
+	switch (e->type) {
+	case E_EQUAL:
+	case E_UNEQUAL:
+	case E_SYMBOL:
+	case E_LIST:
+		break;
+	default:
+		e->left.expr = expr_transform(e->left.expr);
+		e->right.expr = expr_transform(e->right.expr);
+	}
+
+	switch (e->type) {
+	case E_EQUAL:
+		if (e->left.sym->type != S_BOOLEAN)
+			break;
+		if (e->right.sym == &symbol_no) {
+			e->type = E_NOT;
+			e->left.expr = expr_alloc_symbol(e->left.sym);
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_mod) {
+			printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name);
+			e->type = E_SYMBOL;
+			e->left.sym = &symbol_no;
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_yes) {
+			e->type = E_SYMBOL;
+			e->right.sym = NULL;
+			break;
+		}
+		break;
+	case E_UNEQUAL:
+		if (e->left.sym->type != S_BOOLEAN)
+			break;
+		if (e->right.sym == &symbol_no) {
+			e->type = E_SYMBOL;
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_mod) {
+			printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name);
+			e->type = E_SYMBOL;
+			e->left.sym = &symbol_yes;
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_yes) {
+			e->type = E_NOT;
+			e->left.expr = expr_alloc_symbol(e->left.sym);
+			e->right.sym = NULL;
+			break;
+		}
+		break;
+	case E_NOT:
+		switch (e->left.expr->type) {
+		case E_NOT:
+			// !!a -> a
+			tmp = e->left.expr->left.expr;
+			free(e->left.expr);
+			free(e);
+			e = tmp;
+			e = expr_transform(e);
+			break;
+		case E_EQUAL:
+		case E_UNEQUAL:
+			// !a='x' -> a!='x'
+			tmp = e->left.expr;
+			free(e);
+			e = tmp;
+			e->type = e->type == E_EQUAL ? E_UNEQUAL : E_EQUAL;
+			break;
+		case E_OR:
+			// !(a || b) -> !a && !b
+			tmp = e->left.expr;
+			e->type = E_AND;
+			e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr);
+			tmp->type = E_NOT;
+			tmp->right.expr = NULL;
+			e = expr_transform(e);
+			break;
+		case E_AND:
+			// !(a && b) -> !a || !b
+			tmp = e->left.expr;
+			e->type = E_OR;
+			e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr);
+			tmp->type = E_NOT;
+			tmp->right.expr = NULL;
+			e = expr_transform(e);
+			break;
+		case E_SYMBOL:
+			if (e->left.expr->left.sym == &symbol_yes) {
+				// !'y' -> 'n'
+				tmp = e->left.expr;
+				free(e);
+				e = tmp;
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_no;
+				break;
+			}
+			if (e->left.expr->left.sym == &symbol_mod) {
+				// !'m' -> 'm'
+				tmp = e->left.expr;
+				free(e);
+				e = tmp;
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_mod;
+				break;
+			}
+			if (e->left.expr->left.sym == &symbol_no) {
+				// !'n' -> 'y'
+				tmp = e->left.expr;
+				free(e);
+				e = tmp;
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_yes;
+				break;
+			}
+			break;
+		default:
+			;
+		}
+		break;
+	default:
+		;
+	}
+	return e;
+}
+
+int expr_contains_symbol(struct expr *dep, struct symbol *sym)
+{
+	if (!dep)
+		return 0;
+
+	switch (dep->type) {
+	case E_AND:
+	case E_OR:
+		return expr_contains_symbol(dep->left.expr, sym) ||
+		       expr_contains_symbol(dep->right.expr, sym);
+	case E_SYMBOL:
+		return dep->left.sym == sym;
+	case E_EQUAL:
+	case E_UNEQUAL:
+		return dep->left.sym == sym ||
+		       dep->right.sym == sym;
+	case E_NOT:
+		return expr_contains_symbol(dep->left.expr, sym);
+	default:
+		;
+	}
+	return 0;
+}
+
+bool expr_depends_symbol(struct expr *dep, struct symbol *sym)
+{
+	if (!dep)
+		return false;
+
+	switch (dep->type) {
+	case E_AND:
+		return expr_depends_symbol(dep->left.expr, sym) ||
+		       expr_depends_symbol(dep->right.expr, sym);
+	case E_SYMBOL:
+		return dep->left.sym == sym;
+	case E_EQUAL:
+		if (dep->left.sym == sym) {
+			if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod)
+				return true;
+		}
+		break;
+	case E_UNEQUAL:
+		if (dep->left.sym == sym) {
+			if (dep->right.sym == &symbol_no)
+				return true;
+		}
+		break;
+	default:
+		;
+	}
+ 	return false;
+}
+
+struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2)
+{
+	struct expr *tmp = NULL;
+	expr_extract_eq(E_AND, &tmp, ep1, ep2);
+	if (tmp) {
+		*ep1 = expr_eliminate_yn(*ep1);
+		*ep2 = expr_eliminate_yn(*ep2);
+	}
+	return tmp;
+}
+
+struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2)
+{
+	struct expr *tmp = NULL;
+	expr_extract_eq(E_OR, &tmp, ep1, ep2);
+	if (tmp) {
+		*ep1 = expr_eliminate_yn(*ep1);
+		*ep2 = expr_eliminate_yn(*ep2);
+	}
+	return tmp;
+}
+
+void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2)
+{
+#define e1 (*ep1)
+#define e2 (*ep2)
+	if (e1->type == type) {
+		expr_extract_eq(type, ep, &e1->left.expr, &e2);
+		expr_extract_eq(type, ep, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		expr_extract_eq(type, ep, ep1, &e2->left.expr);
+		expr_extract_eq(type, ep, ep1, &e2->right.expr);
+		return;
+	}
+	if (expr_eq(e1, e2)) {
+		*ep = *ep ? expr_alloc_two(type, *ep, e1) : e1;
+		expr_free(e2);
+		if (type == E_AND) {
+			e1 = expr_alloc_symbol(&symbol_yes);
+			e2 = expr_alloc_symbol(&symbol_yes);
+		} else if (type == E_OR) {
+			e1 = expr_alloc_symbol(&symbol_no);
+			e2 = expr_alloc_symbol(&symbol_no);
+		}
+	}
+#undef e1
+#undef e2
+}
+
+struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym)
+{
+	struct expr *e1, *e2;
+
+	if (!e) {
+		e = expr_alloc_symbol(sym);
+		if (type == E_UNEQUAL)
+			e = expr_alloc_one(E_NOT, e);
+		return e;
+	}
+	switch (e->type) {
+	case E_AND:
+		e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
+		e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
+		if (sym == &symbol_yes)
+			e = expr_alloc_two(E_AND, e1, e2);
+		if (sym == &symbol_no)
+			e = expr_alloc_two(E_OR, e1, e2);
+		if (type == E_UNEQUAL)
+			e = expr_alloc_one(E_NOT, e);
+		return e;
+	case E_OR:
+		e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
+		e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
+		if (sym == &symbol_yes)
+			e = expr_alloc_two(E_OR, e1, e2);
+		if (sym == &symbol_no)
+			e = expr_alloc_two(E_AND, e1, e2);
+		if (type == E_UNEQUAL)
+			e = expr_alloc_one(E_NOT, e);
+		return e;
+	case E_NOT:
+		return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym);
+	case E_UNEQUAL:
+	case E_EQUAL:
+		if (type == E_EQUAL) {
+			if (sym == &symbol_yes)
+				return expr_copy(e);
+			if (sym == &symbol_mod)
+				return expr_alloc_symbol(&symbol_no);
+			if (sym == &symbol_no)
+				return expr_alloc_one(E_NOT, expr_copy(e));
+		} else {
+			if (sym == &symbol_yes)
+				return expr_alloc_one(E_NOT, expr_copy(e));
+			if (sym == &symbol_mod)
+				return expr_alloc_symbol(&symbol_yes);
+			if (sym == &symbol_no)
+				return expr_copy(e);
+		}
+		break;
+	case E_SYMBOL:
+		return expr_alloc_comp(type, e->left.sym, sym);
+	case E_LIST:
+	case E_RANGE:
+	case E_NONE:
+		/* panic */;
+	}
+	return NULL;
+}
+
+tristate expr_calc_value(struct expr *e)
+{
+	tristate val1, val2;
+	const char *str1, *str2;
+
+	if (!e)
+		return yes;
+
+	switch (e->type) {
+	case E_SYMBOL:
+		sym_calc_value(e->left.sym);
+		return e->left.sym->curr.tri;
+	case E_AND:
+		val1 = expr_calc_value(e->left.expr);
+		val2 = expr_calc_value(e->right.expr);
+		return EXPR_AND(val1, val2);
+	case E_OR:
+		val1 = expr_calc_value(e->left.expr);
+		val2 = expr_calc_value(e->right.expr);
+		return EXPR_OR(val1, val2);
+	case E_NOT:
+		val1 = expr_calc_value(e->left.expr);
+		return EXPR_NOT(val1);
+	case E_EQUAL:
+		sym_calc_value(e->left.sym);
+		sym_calc_value(e->right.sym);
+		str1 = sym_get_string_value(e->left.sym);
+		str2 = sym_get_string_value(e->right.sym);
+		return !strcmp(str1, str2) ? yes : no;
+	case E_UNEQUAL:
+		sym_calc_value(e->left.sym);
+		sym_calc_value(e->right.sym);
+		str1 = sym_get_string_value(e->left.sym);
+		str2 = sym_get_string_value(e->right.sym);
+		return !strcmp(str1, str2) ? no : yes;
+	default:
+		printf("expr_calc_value: %d?\n", e->type);
+		return no;
+	}
+}
+
+int expr_compare_type(enum expr_type t1, enum expr_type t2)
+{
+#if 0
+	return 1;
+#else
+	if (t1 == t2)
+		return 0;
+	switch (t1) {
+	case E_EQUAL:
+	case E_UNEQUAL:
+		if (t2 == E_NOT)
+			return 1;
+	case E_NOT:
+		if (t2 == E_AND)
+			return 1;
+	case E_AND:
+		if (t2 == E_OR)
+			return 1;
+	case E_OR:
+		if (t2 == E_LIST)
+			return 1;
+	case E_LIST:
+		if (t2 == 0)
+			return 1;
+	default:
+		return -1;
+	}
+	printf("[%dgt%d?]", t1, t2);
+	return 0;
+#endif
+}
+
+void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken)
+{
+	if (!e) {
+		fn(data, NULL, "y");
+		return;
+	}
+
+	if (expr_compare_type(prevtoken, e->type) > 0)
+		fn(data, NULL, "(");
+	switch (e->type) {
+	case E_SYMBOL:
+		if (e->left.sym->name)
+			fn(data, e->left.sym, e->left.sym->name);
+		else
+			fn(data, NULL, "<choice>");
+		break;
+	case E_NOT:
+		fn(data, NULL, "!");
+		expr_print(e->left.expr, fn, data, E_NOT);
+		break;
+	case E_EQUAL:
+		if (e->left.sym->name)
+			fn(data, e->left.sym, e->left.sym->name);
+		else
+			fn(data, NULL, "<choice>");
+		fn(data, NULL, "=");
+		fn(data, e->right.sym, e->right.sym->name);
+		break;
+	case E_UNEQUAL:
+		if (e->left.sym->name)
+			fn(data, e->left.sym, e->left.sym->name);
+		else
+			fn(data, NULL, "<choice>");
+		fn(data, NULL, "!=");
+		fn(data, e->right.sym, e->right.sym->name);
+		break;
+	case E_OR:
+		expr_print(e->left.expr, fn, data, E_OR);
+		fn(data, NULL, " || ");
+		expr_print(e->right.expr, fn, data, E_OR);
+		break;
+	case E_AND:
+		expr_print(e->left.expr, fn, data, E_AND);
+		fn(data, NULL, " && ");
+		expr_print(e->right.expr, fn, data, E_AND);
+		break;
+	case E_LIST:
+		fn(data, e->right.sym, e->right.sym->name);
+		if (e->left.expr) {
+			fn(data, NULL, " ^ ");
+			expr_print(e->left.expr, fn, data, E_LIST);
+		}
+		break;
+	case E_RANGE:
+		fn(data, NULL, "[");
+		fn(data, e->left.sym, e->left.sym->name);
+		fn(data, NULL, " ");
+		fn(data, e->right.sym, e->right.sym->name);
+		fn(data, NULL, "]");
+		break;
+	default:
+	  {
+		char buf[32];
+		sprintf(buf, "<unknown type %d>", e->type);
+		fn(data, NULL, buf);
+		break;
+	  }
+	}
+	if (expr_compare_type(prevtoken, e->type) > 0)
+		fn(data, NULL, ")");
+}
+
+static void expr_print_file_helper(void *data, struct symbol *sym, const char *str)
+{
+	fwrite(str, strlen(str), 1, data);
+}
+
+void expr_fprint(struct expr *e, FILE *out)
+{
+	expr_print(e, expr_print_file_helper, out, E_NONE);
+}
+
+static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str)
+{
+	str_append((struct gstr*)data, str);
+}
+
+void expr_gstr_print(struct expr *e, struct gstr *gs)
+{
+	expr_print(e, expr_print_gstr_helper, gs, E_NONE);
+}
diff --git a/ap/build/uClibc/extra/config/expr.h b/ap/build/uClibc/extra/config/expr.h
new file mode 100644
index 0000000..6408fef
--- /dev/null
+++ b/ap/build/uClibc/extra/config/expr.h
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#ifndef EXPR_H
+#define EXPR_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdio.h>
+#ifndef __cplusplus
+#include <stdbool.h>
+#endif
+
+struct file {
+	struct file *next;
+	struct file *parent;
+	char *name;
+	int lineno;
+	int flags;
+};
+
+#define FILE_BUSY		0x0001
+#define FILE_SCANNED		0x0002
+
+typedef enum tristate {
+	no, mod, yes
+} tristate;
+
+enum expr_type {
+	E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_LIST, E_SYMBOL, E_RANGE
+};
+
+union expr_data {
+	struct expr *expr;
+	struct symbol *sym;
+};
+
+struct expr {
+	enum expr_type type;
+	union expr_data left, right;
+};
+
+#define EXPR_OR(dep1, dep2)	(((dep1)>(dep2))?(dep1):(dep2))
+#define EXPR_AND(dep1, dep2)	(((dep1)<(dep2))?(dep1):(dep2))
+#define EXPR_NOT(dep)		(2-(dep))
+
+#define expr_list_for_each_sym(l, e, s) \
+	for (e = (l); e && (s = e->right.sym); e = e->left.expr)
+
+struct expr_value {
+	struct expr *expr;
+	tristate tri;
+};
+
+struct symbol_value {
+	void *val;
+	tristate tri;
+};
+
+enum symbol_type {
+	S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER
+};
+
+/* enum values are used as index to symbol.def[] */
+enum {
+	S_DEF_USER,		/* main user value */
+	S_DEF_AUTO,		/* values read from auto.conf */
+	S_DEF_DEF3,		/* Reserved for UI usage */
+	S_DEF_DEF4,		/* Reserved for UI usage */
+	S_DEF_COUNT
+};
+
+struct symbol {
+	struct symbol *next;
+	char *name;
+	enum symbol_type type;
+	struct symbol_value curr;
+	struct symbol_value def[S_DEF_COUNT];
+	tristate visible;
+	int flags;
+	struct property *prop;
+	struct expr_value rev_dep;
+};
+
+#define for_all_symbols(i, sym) for (i = 0; i < 257; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER)
+
+#define SYMBOL_CONST      0x0001  /* symbol is const */
+#define SYMBOL_CHECK      0x0008  /* used during dependency checking */
+#define SYMBOL_CHOICE     0x0010  /* start of a choice block (null name) */
+#define SYMBOL_CHOICEVAL  0x0020  /* used as a value in a choice block */
+#define SYMBOL_VALID      0x0080  /* set when symbol.curr is calculated */
+#define SYMBOL_OPTIONAL   0x0100  /* choice is optional - values can be 'n' */
+#define SYMBOL_WRITE      0x0200  /* ? */
+#define SYMBOL_CHANGED    0x0400  /* ? */
+#define SYMBOL_AUTO       0x1000  /* value from environment variable */
+#define SYMBOL_CHECKED    0x2000  /* used during dependency checking */
+#define SYMBOL_WARNED     0x8000  /* warning has been issued */
+
+/* Set when symbol.def[] is used */
+#define SYMBOL_DEF        0x10000  /* First bit of SYMBOL_DEF */
+#define SYMBOL_DEF_USER   0x10000  /* symbol.def[S_DEF_USER] is valid */
+#define SYMBOL_DEF_AUTO   0x20000  /* symbol.def[S_DEF_AUTO] is valid */
+#define SYMBOL_DEF3       0x40000  /* symbol.def[S_DEF_3] is valid */
+#define SYMBOL_DEF4       0x80000  /* symbol.def[S_DEF_4] is valid */
+
+#define SYMBOL_MAXLENGTH	256
+#define SYMBOL_HASHSIZE		257
+#define SYMBOL_HASHMASK		0xff
+
+/* A property represent the config options that can be associated
+ * with a config "symbol".
+ * Sample:
+ * config FOO
+ *         default y
+ *         prompt "foo prompt"
+ *         select BAR
+ * config BAZ
+ *         int "BAZ Value"
+ *         range 1..255
+ */
+enum prop_type {
+	P_UNKNOWN,
+	P_PROMPT,   /* prompt "foo prompt" or "BAZ Value" */
+	P_COMMENT,  /* text associated with a comment */
+	P_MENU,     /* prompt associated with a menuconfig option */
+	P_DEFAULT,  /* default y */
+	P_CHOICE,   /* choice value */
+	P_SELECT,   /* select BAR */
+	P_RANGE,    /* range 7..100 (for a symbol) */
+	P_ENV,      /* value from environment variable */
+};
+
+struct property {
+	struct property *next;     /* next property - null if last */
+	struct symbol *sym;        /* the symbol for which the property is associated */
+	enum prop_type type;       /* type of property */
+	const char *text;          /* the prompt value - P_PROMPT, P_MENU, P_COMMENT */
+	struct expr_value visible;
+	struct expr *expr;         /* the optional conditional part of the property */
+	struct menu *menu;         /* the menu the property are associated with
+	                            * valid for: P_SELECT, P_RANGE, P_CHOICE,
+	                            * P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */
+	struct file *file;         /* what file was this property defined */
+	int lineno;                /* what lineno was this property defined */
+};
+
+#define for_all_properties(sym, st, tok) \
+	for (st = sym->prop; st; st = st->next) \
+		if (st->type == (tok))
+#define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT)
+#define for_all_choices(sym, st) for_all_properties(sym, st, P_CHOICE)
+#define for_all_prompts(sym, st) \
+	for (st = sym->prop; st; st = st->next) \
+		if (st->text)
+
+struct menu {
+	struct menu *next;
+	struct menu *parent;
+	struct menu *list;
+	struct symbol *sym;
+	struct property *prompt;
+	struct expr *dep;
+	unsigned int flags;
+	char *help;
+	struct file *file;
+	int lineno;
+	void *data;
+};
+
+#define MENU_CHANGED		0x0001
+#define MENU_ROOT		0x0002
+
+#ifndef SWIG
+
+extern struct file *file_list;
+extern struct file *current_file;
+struct file *lookup_file(const char *name);
+
+extern struct symbol symbol_yes, symbol_no, symbol_mod;
+extern struct symbol *modules_sym;
+extern struct symbol *sym_defconfig_list;
+extern int cdebug;
+struct expr *expr_alloc_symbol(struct symbol *sym);
+struct expr *expr_alloc_one(enum expr_type type, struct expr *ce);
+struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2);
+struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2);
+struct expr *expr_alloc_and(struct expr *e1, struct expr *e2);
+struct expr *expr_alloc_or(struct expr *e1, struct expr *e2);
+struct expr *expr_copy(struct expr *org);
+void expr_free(struct expr *e);
+int expr_eq(struct expr *e1, struct expr *e2);
+void expr_eliminate_eq(struct expr **ep1, struct expr **ep2);
+tristate expr_calc_value(struct expr *e);
+struct expr *expr_eliminate_yn(struct expr *e);
+struct expr *expr_trans_bool(struct expr *e);
+struct expr *expr_eliminate_dups(struct expr *e);
+struct expr *expr_transform(struct expr *e);
+int expr_contains_symbol(struct expr *dep, struct symbol *sym);
+bool expr_depends_symbol(struct expr *dep, struct symbol *sym);
+struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2);
+struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2);
+void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2);
+struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym);
+
+void expr_fprint(struct expr *e, FILE *out);
+struct gstr; /* forward */
+void expr_gstr_print(struct expr *e, struct gstr *gs);
+
+static inline int expr_is_yes(struct expr *e)
+{
+	return !e || (e->type == E_SYMBOL && e->left.sym == &symbol_yes);
+}
+
+static inline int expr_is_no(struct expr *e)
+{
+	return e && (e->type == E_SYMBOL && e->left.sym == &symbol_no);
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* EXPR_H */
diff --git a/ap/build/uClibc/extra/config/gconf.c b/ap/build/uClibc/extra/config/gconf.c
new file mode 100644
index 0000000..540a0ff
--- /dev/null
+++ b/ap/build/uClibc/extra/config/gconf.c
@@ -0,0 +1,1632 @@
+/* Hey EMACS -*- linux-c -*- */
+/*
+ *
+ * Copyright (C) 2002-2003 Romain Lievin <roms@tilp.info>
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "lkc.h"
+#include "images.c"
+
+#include <glade/glade.h>
+#include <gtk/gtk.h>
+#include <glib.h>
+#include <gdk/gdkkeysyms.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <time.h>
+#include <stdlib.h>
+
+//#define DEBUG
+
+enum {
+	SINGLE_VIEW, SPLIT_VIEW, FULL_VIEW
+};
+
+static gint view_mode = FULL_VIEW;
+static gboolean show_name = TRUE;
+static gboolean show_range = TRUE;
+static gboolean show_value = TRUE;
+static gboolean show_all = FALSE;
+static gboolean show_debug = FALSE;
+static gboolean resizeable = FALSE;
+
+GtkWidget *main_wnd = NULL;
+GtkWidget *tree1_w = NULL;	// left  frame
+GtkWidget *tree2_w = NULL;	// right frame
+GtkWidget *text_w = NULL;
+GtkWidget *hpaned = NULL;
+GtkWidget *vpaned = NULL;
+GtkWidget *back_btn = NULL;
+GtkWidget *save_btn = NULL;
+GtkWidget *save_menu_item = NULL;
+
+GtkTextTag *tag1, *tag2;
+GdkColor color;
+
+GtkTreeStore *tree1, *tree2, *tree;
+GtkTreeModel *model1, *model2;
+static GtkTreeIter *parents[256];
+static gint indent;
+
+static struct menu *current; // current node for SINGLE view
+static struct menu *browsed; // browsed node for SPLIT view
+
+enum {
+	COL_OPTION, COL_NAME, COL_NO, COL_MOD, COL_YES, COL_VALUE,
+	COL_MENU, COL_COLOR, COL_EDIT, COL_PIXBUF,
+	COL_PIXVIS, COL_BTNVIS, COL_BTNACT, COL_BTNINC, COL_BTNRAD,
+	COL_NUMBER
+};
+
+static void display_list(void);
+static void display_tree(struct menu *menu);
+static void display_tree_part(void);
+static void update_tree(struct menu *src, GtkTreeIter * dst);
+static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row);
+static gchar **fill_row(struct menu *menu);
+static void conf_changed(void);
+
+/* Helping/Debugging Functions */
+
+
+const char *dbg_print_stype(int val)
+{
+	static char buf[256];
+
+	bzero(buf, 256);
+
+	if (val == S_UNKNOWN)
+		strcpy(buf, "unknown");
+	if (val == S_BOOLEAN)
+		strcpy(buf, "boolean");
+	if (val == S_TRISTATE)
+		strcpy(buf, "tristate");
+	if (val == S_INT)
+		strcpy(buf, "int");
+	if (val == S_HEX)
+		strcpy(buf, "hex");
+	if (val == S_STRING)
+		strcpy(buf, "string");
+	if (val == S_OTHER)
+		strcpy(buf, "other");
+
+#ifdef DEBUG
+	printf("%s", buf);
+#endif
+
+	return buf;
+}
+
+const char *dbg_print_flags(int val)
+{
+	static char buf[256];
+
+	bzero(buf, 256);
+
+	if (val & SYMBOL_CONST)
+		strcat(buf, "const/");
+	if (val & SYMBOL_CHECK)
+		strcat(buf, "check/");
+	if (val & SYMBOL_CHOICE)
+		strcat(buf, "choice/");
+	if (val & SYMBOL_CHOICEVAL)
+		strcat(buf, "choiceval/");
+	if (val & SYMBOL_VALID)
+		strcat(buf, "valid/");
+	if (val & SYMBOL_OPTIONAL)
+		strcat(buf, "optional/");
+	if (val & SYMBOL_WRITE)
+		strcat(buf, "write/");
+	if (val & SYMBOL_CHANGED)
+		strcat(buf, "changed/");
+	if (val & SYMBOL_AUTO)
+		strcat(buf, "auto/");
+
+	buf[strlen(buf) - 1] = '\0';
+#ifdef DEBUG
+	printf("%s", buf);
+#endif
+
+	return buf;
+}
+
+const char *dbg_print_ptype(int val)
+{
+	static char buf[256];
+
+	bzero(buf, 256);
+
+	if (val == P_UNKNOWN)
+		strcpy(buf, "unknown");
+	if (val == P_PROMPT)
+		strcpy(buf, "prompt");
+	if (val == P_COMMENT)
+		strcpy(buf, "comment");
+	if (val == P_MENU)
+		strcpy(buf, "menu");
+	if (val == P_DEFAULT)
+		strcpy(buf, "default");
+	if (val == P_CHOICE)
+		strcpy(buf, "choice");
+
+#ifdef DEBUG
+	printf("%s", buf);
+#endif
+
+	return buf;
+}
+
+
+void replace_button_icon(GladeXML * xml, GdkDrawable * window,
+			 GtkStyle * style, gchar * btn_name, gchar ** xpm)
+{
+	GdkPixmap *pixmap;
+	GdkBitmap *mask;
+	GtkToolButton *button;
+	GtkWidget *image;
+
+	pixmap = gdk_pixmap_create_from_xpm_d(window, &mask,
+					      &style->bg[GTK_STATE_NORMAL],
+					      xpm);
+
+	button = GTK_TOOL_BUTTON(glade_xml_get_widget(xml, btn_name));
+	image = gtk_image_new_from_pixmap(pixmap, mask);
+	gtk_widget_show(image);
+	gtk_tool_button_set_icon_widget(button, image);
+}
+
+/* Main Window Initialization */
+void init_main_window(const gchar * glade_file)
+{
+	GladeXML *xml;
+	GtkWidget *widget;
+	GtkTextBuffer *txtbuf;
+	char title[256];
+	GtkStyle *style;
+
+	xml = glade_xml_new(glade_file, "window1", NULL);
+	if (!xml)
+		g_error(_("GUI loading failed !\n"));
+	glade_xml_signal_autoconnect(xml);
+
+	main_wnd = glade_xml_get_widget(xml, "window1");
+	hpaned = glade_xml_get_widget(xml, "hpaned1");
+	vpaned = glade_xml_get_widget(xml, "vpaned1");
+	tree1_w = glade_xml_get_widget(xml, "treeview1");
+	tree2_w = glade_xml_get_widget(xml, "treeview2");
+	text_w = glade_xml_get_widget(xml, "textview3");
+
+	back_btn = glade_xml_get_widget(xml, "button1");
+	gtk_widget_set_sensitive(back_btn, FALSE);
+
+	widget = glade_xml_get_widget(xml, "show_name1");
+	gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+				       show_name);
+
+	widget = glade_xml_get_widget(xml, "show_range1");
+	gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+				       show_range);
+
+	widget = glade_xml_get_widget(xml, "show_data1");
+	gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+				       show_value);
+
+	save_btn = glade_xml_get_widget(xml, "button3");
+	save_menu_item = glade_xml_get_widget(xml, "save1");
+	conf_set_changed_callback(conf_changed);
+
+	style = gtk_widget_get_style(main_wnd);
+	widget = glade_xml_get_widget(xml, "toolbar1");
+
+#if 0	/* Use stock Gtk icons instead */
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button1", (gchar **) xpm_back);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button2", (gchar **) xpm_load);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button3", (gchar **) xpm_save);
+#endif
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button4", (gchar **) xpm_single_view);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button5", (gchar **) xpm_split_view);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button6", (gchar **) xpm_tree_view);
+
+#if 0
+	switch (view_mode) {
+	case SINGLE_VIEW:
+		widget = glade_xml_get_widget(xml, "button4");
+		g_signal_emit_by_name(widget, "clicked");
+		break;
+	case SPLIT_VIEW:
+		widget = glade_xml_get_widget(xml, "button5");
+		g_signal_emit_by_name(widget, "clicked");
+		break;
+	case FULL_VIEW:
+		widget = glade_xml_get_widget(xml, "button6");
+		g_signal_emit_by_name(widget, "clicked");
+		break;
+	}
+#endif
+	txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+	tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1",
+					  "foreground", "red",
+					  "weight", PANGO_WEIGHT_BOLD,
+					  NULL);
+	tag2 = gtk_text_buffer_create_tag(txtbuf, "mytag2",
+					  /*"style", PANGO_STYLE_OBLIQUE, */
+					  NULL);
+
+	sprintf(title, _("uClibc v%s Configuration"),
+		getenv("VERSION"));
+	gtk_window_set_title(GTK_WINDOW(main_wnd), title);
+
+	gtk_widget_show(main_wnd);
+}
+
+void init_tree_model(void)
+{
+	gint i;
+
+	tree = tree2 = gtk_tree_store_new(COL_NUMBER,
+					  G_TYPE_STRING, G_TYPE_STRING,
+					  G_TYPE_STRING, G_TYPE_STRING,
+					  G_TYPE_STRING, G_TYPE_STRING,
+					  G_TYPE_POINTER, GDK_TYPE_COLOR,
+					  G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
+					  G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+					  G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+					  G_TYPE_BOOLEAN);
+	model2 = GTK_TREE_MODEL(tree2);
+
+	for (parents[0] = NULL, i = 1; i < 256; i++)
+		parents[i] = (GtkTreeIter *) g_malloc(sizeof(GtkTreeIter));
+
+	tree1 = gtk_tree_store_new(COL_NUMBER,
+				   G_TYPE_STRING, G_TYPE_STRING,
+				   G_TYPE_STRING, G_TYPE_STRING,
+				   G_TYPE_STRING, G_TYPE_STRING,
+				   G_TYPE_POINTER, GDK_TYPE_COLOR,
+				   G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
+				   G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+				   G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+				   G_TYPE_BOOLEAN);
+	model1 = GTK_TREE_MODEL(tree1);
+}
+
+void init_left_tree(void)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(tree1_w);
+	GtkCellRenderer *renderer;
+	GtkTreeSelection *sel;
+	GtkTreeViewColumn *column;
+
+	gtk_tree_view_set_model(view, model1);
+	gtk_tree_view_set_headers_visible(view, TRUE);
+	gtk_tree_view_set_rules_hint(view, FALSE);
+
+	column = gtk_tree_view_column_new();
+	gtk_tree_view_append_column(view, column);
+	gtk_tree_view_column_set_title(column, _("Options"));
+
+	renderer = gtk_cell_renderer_toggle_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "active", COL_BTNACT,
+					    "inconsistent", COL_BTNINC,
+					    "visible", COL_BTNVIS,
+					    "radio", COL_BTNRAD, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "text", COL_OPTION,
+					    "foreground-gdk",
+					    COL_COLOR, NULL);
+
+	sel = gtk_tree_view_get_selection(view);
+	gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+	gtk_widget_realize(tree1_w);
+}
+
+static void renderer_edited(GtkCellRendererText * cell,
+			    const gchar * path_string,
+			    const gchar * new_text, gpointer user_data);
+static void renderer_toggled(GtkCellRendererToggle * cellrenderertoggle,
+			     gchar * arg1, gpointer user_data);
+
+void init_right_tree(void)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(tree2_w);
+	GtkCellRenderer *renderer;
+	GtkTreeSelection *sel;
+	GtkTreeViewColumn *column;
+	gint i;
+
+	gtk_tree_view_set_model(view, model2);
+	gtk_tree_view_set_headers_visible(view, TRUE);
+	gtk_tree_view_set_rules_hint(view, FALSE);
+
+	column = gtk_tree_view_column_new();
+	gtk_tree_view_append_column(view, column);
+	gtk_tree_view_column_set_title(column, _("Options"));
+
+	renderer = gtk_cell_renderer_pixbuf_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "pixbuf", COL_PIXBUF,
+					    "visible", COL_PIXVIS, NULL);
+	renderer = gtk_cell_renderer_toggle_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "active", COL_BTNACT,
+					    "inconsistent", COL_BTNINC,
+					    "visible", COL_BTNVIS,
+					    "radio", COL_BTNRAD, NULL);
+	/*g_signal_connect(G_OBJECT(renderer), "toggled",
+	   G_CALLBACK(renderer_toggled), NULL); */
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "text", COL_OPTION,
+					    "foreground-gdk",
+					    COL_COLOR, NULL);
+
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    _("Name"), renderer,
+						    "text", COL_NAME,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    "N", renderer,
+						    "text", COL_NO,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    "M", renderer,
+						    "text", COL_MOD,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    "Y", renderer,
+						    "text", COL_YES,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    _("Value"), renderer,
+						    "text", COL_VALUE,
+						    "editable",
+						    COL_EDIT,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	g_signal_connect(G_OBJECT(renderer), "edited",
+			 G_CALLBACK(renderer_edited), NULL);
+
+	column = gtk_tree_view_get_column(view, COL_NAME);
+	gtk_tree_view_column_set_visible(column, show_name);
+	column = gtk_tree_view_get_column(view, COL_NO);
+	gtk_tree_view_column_set_visible(column, show_range);
+	column = gtk_tree_view_get_column(view, COL_MOD);
+	gtk_tree_view_column_set_visible(column, show_range);
+	column = gtk_tree_view_get_column(view, COL_YES);
+	gtk_tree_view_column_set_visible(column, show_range);
+	column = gtk_tree_view_get_column(view, COL_VALUE);
+	gtk_tree_view_column_set_visible(column, show_value);
+
+	if (resizeable) {
+		for (i = 0; i < COL_VALUE; i++) {
+			column = gtk_tree_view_get_column(view, i);
+			gtk_tree_view_column_set_resizable(column, TRUE);
+		}
+	}
+
+	sel = gtk_tree_view_get_selection(view);
+	gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+}
+
+
+/* Utility Functions */
+
+
+static void text_insert_help(struct menu *menu)
+{
+	GtkTextBuffer *buffer;
+	GtkTextIter start, end;
+	const char *prompt = _(menu_get_prompt(menu));
+	gchar *name;
+	const char *help;
+
+	help = menu_get_help(menu);
+
+	/* Gettextize if the help text not empty */
+	if ((help != 0) && (help[0] != 0))
+		help = _(help);
+
+	if (menu->sym && menu->sym->name)
+		name = g_strdup_printf(menu->sym->name);
+	else
+		name = g_strdup("");
+
+	buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+	gtk_text_buffer_get_bounds(buffer, &start, &end);
+	gtk_text_buffer_delete(buffer, &start, &end);
+	gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
+
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, prompt, -1, tag1,
+					 NULL);
+	gtk_text_buffer_insert_at_cursor(buffer, " ", 1);
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, name, -1, tag1,
+					 NULL);
+	gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, help, -1, tag2,
+					 NULL);
+}
+
+
+static void text_insert_msg(const char *title, const char *message)
+{
+	GtkTextBuffer *buffer;
+	GtkTextIter start, end;
+	const char *msg = message;
+
+	buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+	gtk_text_buffer_get_bounds(buffer, &start, &end);
+	gtk_text_buffer_delete(buffer, &start, &end);
+	gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
+
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, title, -1, tag1,
+					 NULL);
+	gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, msg, -1, tag2,
+					 NULL);
+}
+
+
+/* Main Windows Callbacks */
+
+void on_save_activate(GtkMenuItem * menuitem, gpointer user_data);
+gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
+				 gpointer user_data)
+{
+	GtkWidget *dialog, *label;
+	gint result;
+
+	if (!conf_get_changed())
+		return FALSE;
+
+	dialog = gtk_dialog_new_with_buttons(_("Warning !"),
+					     GTK_WINDOW(main_wnd),
+					     (GtkDialogFlags)
+					     (GTK_DIALOG_MODAL |
+					      GTK_DIALOG_DESTROY_WITH_PARENT),
+					     GTK_STOCK_OK,
+					     GTK_RESPONSE_YES,
+					     GTK_STOCK_NO,
+					     GTK_RESPONSE_NO,
+					     GTK_STOCK_CANCEL,
+					     GTK_RESPONSE_CANCEL, NULL);
+	gtk_dialog_set_default_response(GTK_DIALOG(dialog),
+					GTK_RESPONSE_CANCEL);
+
+	label = gtk_label_new(_("\nSave configuration ?\n"));
+	gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label);
+	gtk_widget_show(label);
+
+	result = gtk_dialog_run(GTK_DIALOG(dialog));
+	switch (result) {
+	case GTK_RESPONSE_YES:
+		on_save_activate(NULL, NULL);
+		return FALSE;
+	case GTK_RESPONSE_NO:
+		return FALSE;
+	case GTK_RESPONSE_CANCEL:
+	case GTK_RESPONSE_DELETE_EVENT:
+	default:
+		gtk_widget_destroy(dialog);
+		return TRUE;
+	}
+
+	return FALSE;
+}
+
+
+void on_window1_destroy(GtkObject * object, gpointer user_data)
+{
+	gtk_main_quit();
+}
+
+
+void
+on_window1_size_request(GtkWidget * widget,
+			GtkRequisition * requisition, gpointer user_data)
+{
+	static gint old_h;
+	gint w, h;
+
+	if (widget->window == NULL)
+		gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
+	else
+		gdk_window_get_size(widget->window, &w, &h);
+
+	if (h == old_h)
+		return;
+	old_h = h;
+
+	gtk_paned_set_position(GTK_PANED(vpaned), 2 * h / 3);
+}
+
+
+/* Menu & Toolbar Callbacks */
+
+
+static void
+load_filename(GtkFileSelection * file_selector, gpointer user_data)
+{
+	const gchar *fn;
+
+	fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+					     (user_data));
+
+	if (conf_read(fn))
+		text_insert_msg(_("Error"), _("Unable to load configuration !"));
+	else
+		display_tree(&rootmenu);
+}
+
+void on_load1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *fs;
+
+	fs = gtk_file_selection_new(_("Load file..."));
+	g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
+			 "clicked",
+			 G_CALLBACK(load_filename), (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->ok_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->cancel_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	gtk_widget_show(fs);
+}
+
+
+void on_save_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	if (conf_write(NULL))
+		text_insert_msg(_("Error"), _("Unable to save configuration !"));
+}
+
+
+static void
+store_filename(GtkFileSelection * file_selector, gpointer user_data)
+{
+	const gchar *fn;
+
+	fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+					     (user_data));
+
+	if (conf_write(fn))
+		text_insert_msg(_("Error"), _("Unable to save configuration !"));
+
+	gtk_widget_destroy(GTK_WIDGET(user_data));
+}
+
+void on_save_as1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *fs;
+
+	fs = gtk_file_selection_new(_("Save file as..."));
+	g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
+			 "clicked",
+			 G_CALLBACK(store_filename), (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->ok_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->cancel_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	gtk_widget_show(fs);
+}
+
+
+void on_quit1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	if (!on_window1_delete_event(NULL, NULL, NULL))
+		gtk_widget_destroy(GTK_WIDGET(main_wnd));
+}
+
+
+void on_show_name1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkTreeViewColumn *col;
+
+	show_name = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NAME);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_name);
+}
+
+
+void on_show_range1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkTreeViewColumn *col;
+
+	show_range = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NO);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_range);
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_MOD);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_range);
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_YES);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_range);
+
+}
+
+
+void on_show_data1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkTreeViewColumn *col;
+
+	show_value = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_VALUE);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_value);
+}
+
+
+void
+on_show_all_options1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	show_all = GTK_CHECK_MENU_ITEM(menuitem)->active;
+
+	gtk_tree_store_clear(tree2);
+	display_tree(&rootmenu);	// instead of update_tree to speed-up
+}
+
+
+void
+on_show_debug_info1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	show_debug = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	update_tree(&rootmenu, NULL);
+}
+
+
+void on_introduction1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *dialog;
+	const gchar *intro_text = _(
+	    "Welcome to gkc, the GTK+ graphical configuration tool\n"
+	    "for uClibc.\n"
+	    "For each option, a blank box indicates the feature is disabled, a\n"
+	    "check indicates it is enabled, and a dot indicates that it is to\n"
+	    "be compiled as a module.  Clicking on the box will cycle through the three states.\n"
+	    "\n"
+	    "If you do not see an option (e.g., a device driver) that you\n"
+	    "believe should be present, try turning on Show All Options\n"
+	    "under the Options menu.\n"
+	    "Although there is no cross reference yet to help you figure out\n"
+	    "what other options must be enabled to support the option you\n"
+	    "are interested in, you can still view the help of a grayed-out\n"
+	    "option.\n"
+	    "\n"
+	    "Toggling Show Debug Info under the Options menu will show \n"
+	    "the dependencies, which you can then match by examining other options.");
+
+	dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+					GTK_DIALOG_DESTROY_WITH_PARENT,
+					GTK_MESSAGE_INFO,
+					GTK_BUTTONS_CLOSE, intro_text);
+	g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+				 G_CALLBACK(gtk_widget_destroy),
+				 GTK_OBJECT(dialog));
+	gtk_widget_show_all(dialog);
+}
+
+
+void on_about1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *dialog;
+	const gchar *about_text =
+	    _("gkc is copyright (c) 2002 Romain Lievin <roms@lpg.ticalc.org>.\n"
+	      "Based on the source code from Roman Zippel.\n");
+
+	dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+					GTK_DIALOG_DESTROY_WITH_PARENT,
+					GTK_MESSAGE_INFO,
+					GTK_BUTTONS_CLOSE, about_text);
+	g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+				 G_CALLBACK(gtk_widget_destroy),
+				 GTK_OBJECT(dialog));
+	gtk_widget_show_all(dialog);
+}
+
+
+void on_license1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *dialog;
+	const gchar *license_text =
+	    _("gkc is released under the terms of the GNU GPL v2.\n"
+	      "For more information, please see the source code or\n"
+	      "visit http://www.fsf.org/licenses/licenses.html\n");
+
+	dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+					GTK_DIALOG_DESTROY_WITH_PARENT,
+					GTK_MESSAGE_INFO,
+					GTK_BUTTONS_CLOSE, license_text);
+	g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+				 G_CALLBACK(gtk_widget_destroy),
+				 GTK_OBJECT(dialog));
+	gtk_widget_show_all(dialog);
+}
+
+
+void on_back_clicked(GtkButton * button, gpointer user_data)
+{
+	enum prop_type ptype;
+
+	current = current->parent;
+	ptype = current->prompt ? current->prompt->type : P_UNKNOWN;
+	if (ptype != P_MENU)
+		current = current->parent;
+	display_tree_part();
+
+	if (current == &rootmenu)
+		gtk_widget_set_sensitive(back_btn, FALSE);
+}
+
+
+void on_load_clicked(GtkButton * button, gpointer user_data)
+{
+	on_load1_activate(NULL, user_data);
+}
+
+
+void on_single_clicked(GtkButton * button, gpointer user_data)
+{
+	view_mode = SINGLE_VIEW;
+	gtk_paned_set_position(GTK_PANED(hpaned), 0);
+	gtk_widget_hide(tree1_w);
+	current = &rootmenu;
+	display_tree_part();
+}
+
+
+void on_split_clicked(GtkButton * button, gpointer user_data)
+{
+	gint w, h;
+	view_mode = SPLIT_VIEW;
+	gtk_widget_show(tree1_w);
+	gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
+	gtk_paned_set_position(GTK_PANED(hpaned), w / 2);
+	if (tree2)
+		gtk_tree_store_clear(tree2);
+	display_list();
+
+	/* Disable back btn, like in full mode. */
+	gtk_widget_set_sensitive(back_btn, FALSE);
+}
+
+
+void on_full_clicked(GtkButton * button, gpointer user_data)
+{
+	view_mode = FULL_VIEW;
+	gtk_paned_set_position(GTK_PANED(hpaned), 0);
+	gtk_widget_hide(tree1_w);
+	if (tree2)
+		gtk_tree_store_clear(tree2);
+	display_tree(&rootmenu);
+	gtk_widget_set_sensitive(back_btn, FALSE);
+}
+
+
+void on_collapse_clicked(GtkButton * button, gpointer user_data)
+{
+	gtk_tree_view_collapse_all(GTK_TREE_VIEW(tree2_w));
+}
+
+
+void on_expand_clicked(GtkButton * button, gpointer user_data)
+{
+	gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
+}
+
+
+/* CTree Callbacks */
+
+/* Change hex/int/string value in the cell */
+static void renderer_edited(GtkCellRendererText * cell,
+			    const gchar * path_string,
+			    const gchar * new_text, gpointer user_data)
+{
+	GtkTreePath *path = gtk_tree_path_new_from_string(path_string);
+	GtkTreeIter iter;
+	const char *old_def, *new_def;
+	struct menu *menu;
+	struct symbol *sym;
+
+	if (!gtk_tree_model_get_iter(model2, &iter, path))
+		return;
+
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+	sym = menu->sym;
+
+	gtk_tree_model_get(model2, &iter, COL_VALUE, &old_def, -1);
+	new_def = new_text;
+
+	sym_set_string_value(sym, new_def);
+
+	update_tree(&rootmenu, NULL);
+
+	gtk_tree_path_free(path);
+}
+
+/* Change the value of a symbol and update the tree */
+static void change_sym_value(struct menu *menu, gint col)
+{
+	struct symbol *sym = menu->sym;
+	tristate oldval, newval;
+
+	if (!sym)
+		return;
+
+	if (col == COL_NO)
+		newval = no;
+	else if (col == COL_MOD)
+		newval = mod;
+	else if (col == COL_YES)
+		newval = yes;
+	else
+		return;
+
+	switch (sym_get_type(sym)) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		oldval = sym_get_tristate_value(sym);
+		if (!sym_tristate_within_range(sym, newval))
+			newval = yes;
+		sym_set_tristate_value(sym, newval);
+		if (view_mode == FULL_VIEW)
+			update_tree(&rootmenu, NULL);
+		else if (view_mode == SPLIT_VIEW) {
+			update_tree(browsed, NULL);
+			display_list();
+		}
+		else if (view_mode == SINGLE_VIEW)
+			display_tree_part();	//fixme: keep exp/coll
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+	default:
+		break;
+	}
+}
+
+static void toggle_sym_value(struct menu *menu)
+{
+	if (!menu->sym)
+		return;
+
+	sym_toggle_tristate_value(menu->sym);
+	if (view_mode == FULL_VIEW)
+		update_tree(&rootmenu, NULL);
+	else if (view_mode == SPLIT_VIEW) {
+		update_tree(browsed, NULL);
+		display_list();
+	}
+	else if (view_mode == SINGLE_VIEW)
+		display_tree_part();	//fixme: keep exp/coll
+}
+
+static void renderer_toggled(GtkCellRendererToggle * cell,
+			     gchar * path_string, gpointer user_data)
+{
+	GtkTreePath *path, *sel_path = NULL;
+	GtkTreeIter iter, sel_iter;
+	GtkTreeSelection *sel;
+	struct menu *menu;
+
+	path = gtk_tree_path_new_from_string(path_string);
+	if (!gtk_tree_model_get_iter(model2, &iter, path))
+		return;
+
+	sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree2_w));
+	if (gtk_tree_selection_get_selected(sel, NULL, &sel_iter))
+		sel_path = gtk_tree_model_get_path(model2, &sel_iter);
+	if (!sel_path)
+		goto out1;
+	if (gtk_tree_path_compare(path, sel_path))
+		goto out2;
+
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+	toggle_sym_value(menu);
+
+      out2:
+	gtk_tree_path_free(sel_path);
+      out1:
+	gtk_tree_path_free(path);
+}
+
+static gint column2index(GtkTreeViewColumn * column)
+{
+	gint i;
+
+	for (i = 0; i < COL_NUMBER; i++) {
+		GtkTreeViewColumn *col;
+
+		col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), i);
+		if (col == column)
+			return i;
+	}
+
+	return -1;
+}
+
+
+/* User click: update choice (full) or goes down (single) */
+gboolean
+on_treeview2_button_press_event(GtkWidget * widget,
+				GdkEventButton * event, gpointer user_data)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(widget);
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+	GtkTreeIter iter;
+	struct menu *menu;
+	gint col;
+
+#if GTK_CHECK_VERSION(2,1,4) // bug in ctree with earlier version of GTK
+	gint tx = (gint) event->x;
+	gint ty = (gint) event->y;
+	gint cx, cy;
+
+	gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
+				      &cy);
+#else
+	gtk_tree_view_get_cursor(view, &path, &column);
+#endif
+	if (path == NULL)
+		return FALSE;
+
+	if (!gtk_tree_model_get_iter(model2, &iter, path))
+		return FALSE;
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+
+	col = column2index(column);
+	if (event->type == GDK_2BUTTON_PRESS) {
+		enum prop_type ptype;
+		ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+
+		if (ptype == P_MENU && view_mode != FULL_VIEW && col == COL_OPTION) {
+			// goes down into menu
+			current = menu;
+			display_tree_part();
+			gtk_widget_set_sensitive(back_btn, TRUE);
+		} else if ((col == COL_OPTION)) {
+			toggle_sym_value(menu);
+			gtk_tree_view_expand_row(view, path, TRUE);
+		}
+	} else {
+		if (col == COL_VALUE) {
+			toggle_sym_value(menu);
+			gtk_tree_view_expand_row(view, path, TRUE);
+		} else if (col == COL_NO || col == COL_MOD
+			   || col == COL_YES) {
+			change_sym_value(menu, col);
+			gtk_tree_view_expand_row(view, path, TRUE);
+		}
+	}
+
+	return FALSE;
+}
+
+/* Key pressed: update choice */
+gboolean
+on_treeview2_key_press_event(GtkWidget * widget,
+			     GdkEventKey * event, gpointer user_data)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(widget);
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+	GtkTreeIter iter;
+	struct menu *menu;
+	gint col;
+
+	gtk_tree_view_get_cursor(view, &path, &column);
+	if (path == NULL)
+		return FALSE;
+
+	if (event->keyval == GDK_space) {
+		if (gtk_tree_view_row_expanded(view, path))
+			gtk_tree_view_collapse_row(view, path);
+		else
+			gtk_tree_view_expand_row(view, path, FALSE);
+		return TRUE;
+	}
+	if (event->keyval == GDK_KP_Enter) {
+	}
+	if (widget == tree1_w)
+		return FALSE;
+
+	gtk_tree_model_get_iter(model2, &iter, path);
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+
+	if (!strcasecmp(event->string, "n"))
+		col = COL_NO;
+	else if (!strcasecmp(event->string, "m"))
+		col = COL_MOD;
+	else if (!strcasecmp(event->string, "y"))
+		col = COL_YES;
+	else
+		col = -1;
+	change_sym_value(menu, col);
+
+	return FALSE;
+}
+
+
+/* Row selection changed: update help */
+void
+on_treeview2_cursor_changed(GtkTreeView * treeview, gpointer user_data)
+{
+	GtkTreeSelection *selection;
+	GtkTreeIter iter;
+	struct menu *menu;
+
+	selection = gtk_tree_view_get_selection(treeview);
+	if (gtk_tree_selection_get_selected(selection, &model2, &iter)) {
+		gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+		text_insert_help(menu);
+	}
+}
+
+
+/* User click: display sub-tree in the right frame. */
+gboolean
+on_treeview1_button_press_event(GtkWidget * widget,
+				GdkEventButton * event, gpointer user_data)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(widget);
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+	GtkTreeIter iter;
+	struct menu *menu;
+
+	gint tx = (gint) event->x;
+	gint ty = (gint) event->y;
+	gint cx, cy;
+
+	gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
+				      &cy);
+	if (path == NULL)
+		return FALSE;
+
+	gtk_tree_model_get_iter(model1, &iter, path);
+	gtk_tree_model_get(model1, &iter, COL_MENU, &menu, -1);
+
+	if (event->type == GDK_2BUTTON_PRESS) {
+		toggle_sym_value(menu);
+		current = menu;
+		display_tree_part();
+	} else {
+		browsed = menu;
+		display_tree_part();
+	}
+
+	gtk_widget_realize(tree2_w);
+	gtk_tree_view_set_cursor(view, path, NULL, FALSE);
+	gtk_widget_grab_focus(tree2_w);
+
+	return FALSE;
+}
+
+
+/* Fill a row of strings */
+static gchar **fill_row(struct menu *menu)
+{
+	static gchar *row[COL_NUMBER];
+	struct symbol *sym = menu->sym;
+	const char *def;
+	int stype;
+	tristate val;
+	enum prop_type ptype;
+	int i;
+
+	for (i = COL_OPTION; i <= COL_COLOR; i++)
+		g_free(row[i]);
+	bzero(row, sizeof(row));
+
+	row[COL_OPTION] =
+	    g_strdup_printf("%s %s", _(menu_get_prompt(menu)),
+			    sym && sym_has_value(sym) ? "(NEW)" : "");
+
+	if (show_all && !menu_is_visible(menu))
+		row[COL_COLOR] = g_strdup("DarkGray");
+	else
+		row[COL_COLOR] = g_strdup("Black");
+
+	ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	switch (ptype) {
+	case P_MENU:
+		row[COL_PIXBUF] = (gchar *) xpm_menu;
+		if (view_mode == SINGLE_VIEW)
+			row[COL_PIXVIS] = GINT_TO_POINTER(TRUE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+		break;
+	case P_COMMENT:
+		row[COL_PIXBUF] = (gchar *) xpm_void;
+		row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+		break;
+	default:
+		row[COL_PIXBUF] = (gchar *) xpm_void;
+		row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
+		break;
+	}
+
+	if (!sym)
+		return row;
+	row[COL_NAME] = g_strdup(sym->name);
+
+	sym_calc_value(sym);
+	sym->flags &= ~SYMBOL_CHANGED;
+
+	if (sym_is_choice(sym)) {	// parse childs for getting final value
+		struct menu *child;
+		struct symbol *def_sym = sym_get_choice_value(sym);
+		struct menu *def_menu = NULL;
+
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+
+		for (child = menu->list; child; child = child->next) {
+			if (menu_is_visible(child)
+			    && child->sym == def_sym)
+				def_menu = child;
+		}
+
+		if (def_menu)
+			row[COL_VALUE] =
+			    g_strdup(_(menu_get_prompt(def_menu)));
+	}
+	if (sym->flags & SYMBOL_CHOICEVAL)
+		row[COL_BTNRAD] = GINT_TO_POINTER(TRUE);
+
+	stype = sym_get_type(sym);
+	switch (stype) {
+	case S_BOOLEAN:
+		if (GPOINTER_TO_INT(row[COL_PIXVIS]) == FALSE)
+			row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
+		if (sym_is_choice(sym))
+			break;
+	case S_TRISTATE:
+		val = sym_get_tristate_value(sym);
+		switch (val) {
+		case no:
+			row[COL_NO] = g_strdup("N");
+			row[COL_VALUE] = g_strdup("N");
+			row[COL_BTNACT] = GINT_TO_POINTER(FALSE);
+			row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
+			break;
+		case mod:
+			row[COL_MOD] = g_strdup("M");
+			row[COL_VALUE] = g_strdup("M");
+			row[COL_BTNINC] = GINT_TO_POINTER(TRUE);
+			break;
+		case yes:
+			row[COL_YES] = g_strdup("Y");
+			row[COL_VALUE] = g_strdup("Y");
+			row[COL_BTNACT] = GINT_TO_POINTER(TRUE);
+			row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
+			break;
+		}
+
+		if (val != no && sym_tristate_within_range(sym, no))
+			row[COL_NO] = g_strdup("_");
+		if (val != mod && sym_tristate_within_range(sym, mod))
+			row[COL_MOD] = g_strdup("_");
+		if (val != yes && sym_tristate_within_range(sym, yes))
+			row[COL_YES] = g_strdup("_");
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		def = sym_get_string_value(sym);
+		row[COL_VALUE] = g_strdup(def);
+		row[COL_EDIT] = GINT_TO_POINTER(TRUE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+		break;
+	}
+
+	return row;
+}
+
+
+/* Set the node content with a row of strings */
+static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row)
+{
+	GdkColor color;
+	gboolean success;
+	GdkPixbuf *pix;
+
+	pix = gdk_pixbuf_new_from_xpm_data((const char **)
+					   row[COL_PIXBUF]);
+
+	gdk_color_parse(row[COL_COLOR], &color);
+	gdk_colormap_alloc_colors(gdk_colormap_get_system(), &color, 1,
+				  FALSE, FALSE, &success);
+
+	gtk_tree_store_set(tree, node,
+			   COL_OPTION, row[COL_OPTION],
+			   COL_NAME, row[COL_NAME],
+			   COL_NO, row[COL_NO],
+			   COL_MOD, row[COL_MOD],
+			   COL_YES, row[COL_YES],
+			   COL_VALUE, row[COL_VALUE],
+			   COL_MENU, (gpointer) menu,
+			   COL_COLOR, &color,
+			   COL_EDIT, GPOINTER_TO_INT(row[COL_EDIT]),
+			   COL_PIXBUF, pix,
+			   COL_PIXVIS, GPOINTER_TO_INT(row[COL_PIXVIS]),
+			   COL_BTNVIS, GPOINTER_TO_INT(row[COL_BTNVIS]),
+			   COL_BTNACT, GPOINTER_TO_INT(row[COL_BTNACT]),
+			   COL_BTNINC, GPOINTER_TO_INT(row[COL_BTNINC]),
+			   COL_BTNRAD, GPOINTER_TO_INT(row[COL_BTNRAD]),
+			   -1);
+
+	g_object_unref(pix);
+}
+
+
+/* Add a node to the tree */
+static void place_node(struct menu *menu, char **row)
+{
+	GtkTreeIter *parent = parents[indent - 1];
+	GtkTreeIter *node = parents[indent];
+
+	gtk_tree_store_append(tree, node, parent);
+	set_node(node, menu, row);
+}
+
+
+/* Find a node in the GTK+ tree */
+static GtkTreeIter found;
+
+/*
+ * Find a menu in the GtkTree starting at parent.
+ */
+GtkTreeIter *gtktree_iter_find_node(GtkTreeIter * parent,
+				    struct menu *tofind)
+{
+	GtkTreeIter iter;
+	GtkTreeIter *child = &iter;
+	gboolean valid;
+	GtkTreeIter *ret;
+
+	valid = gtk_tree_model_iter_children(model2, child, parent);
+	while (valid) {
+		struct menu *menu;
+
+		gtk_tree_model_get(model2, child, 6, &menu, -1);
+
+		if (menu == tofind) {
+			memcpy(&found, child, sizeof(GtkTreeIter));
+			return &found;
+		}
+
+		ret = gtktree_iter_find_node(child, tofind);
+		if (ret)
+			return ret;
+
+		valid = gtk_tree_model_iter_next(model2, child);
+	}
+
+	return NULL;
+}
+
+
+/*
+ * Update the tree by adding/removing entries
+ * Does not change other nodes
+ */
+static void update_tree(struct menu *src, GtkTreeIter * dst)
+{
+	struct menu *child1;
+	GtkTreeIter iter, tmp;
+	GtkTreeIter *child2 = &iter;
+	gboolean valid;
+	GtkTreeIter *sibling;
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *menu1, *menu2;
+
+	if (src == &rootmenu)
+		indent = 1;
+
+	valid = gtk_tree_model_iter_children(model2, child2, dst);
+	for (child1 = src->list; child1; child1 = child1->next) {
+
+		prop = child1->prompt;
+		sym = child1->sym;
+
+	      reparse:
+		menu1 = child1;
+		if (valid)
+			gtk_tree_model_get(model2, child2, COL_MENU,
+					   &menu2, -1);
+		else
+			menu2 = NULL;	// force adding of a first child
+
+#ifdef DEBUG
+		printf("%*c%s | %s\n", indent, ' ',
+		       menu1 ? menu_get_prompt(menu1) : "nil",
+		       menu2 ? menu_get_prompt(menu2) : "nil");
+#endif
+
+		if (!menu_is_visible(child1) && !show_all) {	// remove node
+			if (gtktree_iter_find_node(dst, menu1) != NULL) {
+				memcpy(&tmp, child2, sizeof(GtkTreeIter));
+				valid = gtk_tree_model_iter_next(model2,
+								 child2);
+				gtk_tree_store_remove(tree2, &tmp);
+				if (!valid)
+					return;	// next parent
+				else
+					goto reparse;	// next child
+			} else
+				continue;
+		}
+
+		if (menu1 != menu2) {
+			if (gtktree_iter_find_node(dst, menu1) == NULL) {	// add node
+				if (!valid && !menu2)
+					sibling = NULL;
+				else
+					sibling = child2;
+				gtk_tree_store_insert_before(tree2,
+							     child2,
+							     dst, sibling);
+				set_node(child2, menu1, fill_row(menu1));
+				if (menu2 == NULL)
+					valid = TRUE;
+			} else {	// remove node
+				memcpy(&tmp, child2, sizeof(GtkTreeIter));
+				valid = gtk_tree_model_iter_next(model2,
+								 child2);
+				gtk_tree_store_remove(tree2, &tmp);
+				if (!valid)
+					return;	// next parent
+				else
+					goto reparse;	// next child
+			}
+		} else if (sym && (sym->flags & SYMBOL_CHANGED)) {
+			set_node(child2, menu1, fill_row(menu1));
+		}
+
+		indent++;
+		update_tree(child1, child2);
+		indent--;
+
+		valid = gtk_tree_model_iter_next(model2, child2);
+	}
+}
+
+
+/* Display the whole tree (single/split/full view) */
+static void display_tree(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+	enum prop_type ptype;
+
+	if (menu == &rootmenu) {
+		indent = 1;
+		current = &rootmenu;
+	}
+
+	for (child = menu->list; child; child = child->next) {
+		prop = child->prompt;
+		sym = child->sym;
+		ptype = prop ? prop->type : P_UNKNOWN;
+
+		if (sym)
+			sym->flags &= ~SYMBOL_CHANGED;
+
+		if ((view_mode == SPLIT_VIEW)
+		    && !(child->flags & MENU_ROOT) && (tree == tree1))
+			continue;
+
+		if ((view_mode == SPLIT_VIEW) && (child->flags & MENU_ROOT)
+		    && (tree == tree2))
+			continue;
+
+		if (menu_is_visible(child) || show_all)
+			place_node(child, fill_row(child));
+#ifdef DEBUG
+		printf("%*c%s: ", indent, ' ', menu_get_prompt(child));
+		printf("%s", child->flags & MENU_ROOT ? "rootmenu | " : "");
+		dbg_print_ptype(ptype);
+		printf(" | ");
+		if (sym) {
+			dbg_print_stype(sym->type);
+			printf(" | ");
+			dbg_print_flags(sym->flags);
+			printf("\n");
+		} else
+			printf("\n");
+#endif
+		if ((view_mode != FULL_VIEW) && (ptype == P_MENU)
+		    && (tree == tree2))
+			continue;
+/*
+                if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT))
+		    || (view_mode == FULL_VIEW)
+		    || (view_mode == SPLIT_VIEW))*/
+		if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT))
+		    || (view_mode == FULL_VIEW)
+		    || (view_mode == SPLIT_VIEW)) {
+			indent++;
+			display_tree(child);
+			indent--;
+		}
+	}
+}
+
+/* Display a part of the tree starting at current node (single/split view) */
+static void display_tree_part(void)
+{
+	if (tree2)
+		gtk_tree_store_clear(tree2);
+	if (view_mode == SINGLE_VIEW)
+		display_tree(current);
+	else if (view_mode == SPLIT_VIEW)
+		display_tree(browsed);
+	gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
+}
+
+/* Display the list in the left frame (split view) */
+static void display_list(void)
+{
+	if (tree1)
+		gtk_tree_store_clear(tree1);
+
+	tree = tree1;
+	display_tree(&rootmenu);
+	gtk_tree_view_expand_all(GTK_TREE_VIEW(tree1_w));
+	tree = tree2;
+}
+
+void fixup_rootmenu(struct menu *menu)
+{
+	struct menu *child;
+	static int menu_cnt = 0;
+
+	menu->flags |= MENU_ROOT;
+	for (child = menu->list; child; child = child->next) {
+		if (child->prompt && child->prompt->type == P_MENU) {
+			menu_cnt++;
+			fixup_rootmenu(child);
+			menu_cnt--;
+		} else if (!menu_cnt)
+			fixup_rootmenu(child);
+	}
+}
+
+
+/* Main */
+int main(int ac, char *av[])
+{
+	const char *name;
+	char *env;
+	gchar *glade_file;
+
+#ifndef LKC_DIRECT_LINK
+	kconfig_load();
+#endif
+
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	bind_textdomain_codeset(PACKAGE, "UTF-8");
+	textdomain(PACKAGE);
+
+	/* GTK stuffs */
+	gtk_set_locale();
+	gtk_init(&ac, &av);
+	glade_init();
+
+	//add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
+	//add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps");
+
+	/* Determine GUI path */
+	env = getenv(SRCTREE);
+	if (env)
+		glade_file = g_strconcat(env, "/scripts/kconfig/gconf.glade", NULL);
+	else if (av[0][0] == '/')
+		glade_file = g_strconcat(av[0], ".glade", NULL);
+	else
+		glade_file = g_strconcat(g_get_current_dir(), "/", av[0], ".glade", NULL);
+
+	/* Load the interface and connect signals */
+	init_main_window(glade_file);
+	init_tree_model();
+	init_left_tree();
+	init_right_tree();
+
+	/* Conf stuffs */
+	if (ac > 1 && av[1][0] == '-') {
+		switch (av[1][1]) {
+		case 'a':
+			//showAll = 1;
+			break;
+		case 'h':
+		case '?':
+			printf("%s <config>\n", av[0]);
+			exit(0);
+		}
+		name = av[2];
+	} else
+		name = av[1];
+
+	conf_parse(name);
+	fixup_rootmenu(&rootmenu);
+	conf_read(NULL);
+
+	switch (view_mode) {
+	case SINGLE_VIEW:
+		display_tree_part();
+		break;
+	case SPLIT_VIEW:
+		display_list();
+		break;
+	case FULL_VIEW:
+		display_tree(&rootmenu);
+		break;
+	}
+
+	gtk_main();
+
+	return 0;
+}
+
+static void conf_changed(void)
+{
+	bool changed = conf_get_changed();
+	gtk_widget_set_sensitive(save_btn, changed);
+	gtk_widget_set_sensitive(save_menu_item, changed);
+}
diff --git a/ap/build/uClibc/extra/config/gconf.glade b/ap/build/uClibc/extra/config/gconf.glade
new file mode 100644
index 0000000..2e2e2f9
--- /dev/null
+++ b/ap/build/uClibc/extra/config/gconf.glade
@@ -0,0 +1,648 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkWindow" id="window1">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Gtk uClibc Configurator</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="default_width">640</property>
+  <property name="default_height">480</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <signal name="destroy" handler="on_window1_destroy" object="window1"/>
+  <signal name="size_request" handler="on_window1_size_request" object="vpaned1" last_modification_time="Fri, 11 Jan 2002 16:17:11 GMT"/>
+  <signal name="delete_event" handler="on_window1_delete_event" object="window1" last_modification_time="Sun, 09 Mar 2003 19:42:46 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+	<widget class="GtkMenuBar" id="menubar1">
+	  <property name="visible">True</property>
+
+	  <child>
+	    <widget class="GtkMenuItem" id="file1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_File</property>
+	      <property name="use_underline">True</property>
+
+	      <child>
+		<widget class="GtkMenu" id="file1_menu">
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="load1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Load a config file</property>
+		      <property name="label" translatable="yes">_Load</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_load1_activate"/>
+		      <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image39">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-open</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="save1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Save the config in .config</property>
+		      <property name="label" translatable="yes">_Save</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_save_activate"/>
+		      <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image40">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-save</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="save_as1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Save the config in a file</property>
+		      <property name="label" translatable="yes">Save _as</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_save_as1_activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image41">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-save-as</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="separator1">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="quit1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Quit</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_quit1_activate"/>
+		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image42">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-quit</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkMenuItem" id="options1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_Options</property>
+	      <property name="use_underline">True</property>
+
+	      <child>
+		<widget class="GtkMenu" id="options1_menu">
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_name1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show name</property>
+		      <property name="label" translatable="yes">Show _name</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_name1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_range1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show range (Y/M/N)</property>
+		      <property name="label" translatable="yes">Show _range</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_range1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_data1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show value of the option</property>
+		      <property name="label" translatable="yes">Show _data</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_data1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="separator2">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_all_options1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show all options</property>
+		      <property name="label" translatable="yes">Show all _options</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_all_options1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_debug_info1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show masked options</property>
+		      <property name="label" translatable="yes">Show _debug info</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_debug_info1_activate"/>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkMenuItem" id="help1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_Help</property>
+	      <property name="use_underline">True</property>
+
+	      <child>
+		<widget class="GtkMenu" id="help1_menu">
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="introduction1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Introduction</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_introduction1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
+		      <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image43">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-dialog-question</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="about1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_About</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_about1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
+		      <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image44">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-properties</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="license1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_License</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_license1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image45">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-justify-fill</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHandleBox" id="handlebox1">
+	  <property name="visible">True</property>
+	  <property name="shadow_type">GTK_SHADOW_OUT</property>
+	  <property name="handle_position">GTK_POS_LEFT</property>
+	  <property name="snap_edge">GTK_POS_TOP</property>
+
+	  <child>
+	    <widget class="GtkToolbar" id="toolbar1">
+	      <property name="visible">True</property>
+	      <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+	      <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
+	      <property name="tooltips">True</property>
+	      <property name="show_arrow">True</property>
+
+	      <child>
+		<widget class="GtkToolButton" id="button1">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Goes up of one level (single view)</property>
+		  <property name="label" translatable="yes">Back</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-undo</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_back_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolItem" id="toolitem1">
+		  <property name="visible">True</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+
+		  <child>
+		    <widget class="GtkVSeparator" id="vseparator1">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button2">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Load a config file</property>
+		  <property name="label" translatable="yes">Load</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-open</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_load_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button3">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Save a config file</property>
+		  <property name="label" translatable="yes">Save</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-save</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_save_activate"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolItem" id="toolitem2">
+		  <property name="visible">True</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+
+		  <child>
+		    <widget class="GtkVSeparator" id="vseparator2">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button4">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Single view</property>
+		  <property name="label" translatable="yes">Single</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-missing-image</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_single_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:39 GMT"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button5">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Split view</property>
+		  <property name="label" translatable="yes">Split</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-missing-image</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_split_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:45 GMT"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button6">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Full view</property>
+		  <property name="label" translatable="yes">Full</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-missing-image</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_full_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:50 GMT"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolItem" id="toolitem3">
+		  <property name="visible">True</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+
+		  <child>
+		    <widget class="GtkVSeparator" id="vseparator3">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button7">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Collapse the whole tree in the right frame</property>
+		  <property name="label" translatable="yes">Collapse</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-remove</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_collapse_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button8">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Expand the whole tree in the right frame</property>
+		  <property name="label" translatable="yes">Expand</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-add</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_expand_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHPaned" id="hpaned1">
+	  <property name="width_request">1</property>
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="position">0</property>
+
+	  <child>
+	    <widget class="GtkScrolledWindow" id="scrolledwindow1">
+	      <property name="visible">True</property>
+	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="shadow_type">GTK_SHADOW_IN</property>
+	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	      <child>
+		<widget class="GtkTreeView" id="treeview1">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="headers_visible">True</property>
+		  <property name="rules_hint">False</property>
+		  <property name="reorderable">False</property>
+		  <property name="enable_search">True</property>
+		  <signal name="cursor_changed" handler="on_treeview2_cursor_changed" last_modification_time="Sun, 12 Jan 2003 15:58:22 GMT"/>
+		  <signal name="button_press_event" handler="on_treeview1_button_press_event" last_modification_time="Sun, 12 Jan 2003 16:03:52 GMT"/>
+		  <signal name="key_press_event" handler="on_treeview2_key_press_event" last_modification_time="Sun, 12 Jan 2003 16:11:44 GMT"/>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="shrink">True</property>
+	      <property name="resize">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkVPaned" id="vpaned1">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="position">0</property>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow2">
+		  <property name="visible">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="shadow_type">GTK_SHADOW_IN</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		  <child>
+		    <widget class="GtkTreeView" id="treeview2">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="has_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">True</property>
+		      <signal name="cursor_changed" handler="on_treeview2_cursor_changed" last_modification_time="Sun, 12 Jan 2003 15:57:55 GMT"/>
+		      <signal name="button_press_event" handler="on_treeview2_button_press_event" last_modification_time="Sun, 12 Jan 2003 15:57:58 GMT"/>
+		      <signal name="key_press_event" handler="on_treeview2_key_press_event" last_modification_time="Sun, 12 Jan 2003 15:58:01 GMT"/>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="shrink">True</property>
+		  <property name="resize">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow3">
+		  <property name="visible">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="shadow_type">GTK_SHADOW_IN</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		  <child>
+		    <widget class="GtkTextView" id="textview3">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">False</property>
+		      <property name="overwrite">False</property>
+		      <property name="accepts_tab">True</property>
+		      <property name="justification">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap_mode">GTK_WRAP_WORD</property>
+		      <property name="cursor_visible">True</property>
+		      <property name="pixels_above_lines">0</property>
+		      <property name="pixels_below_lines">0</property>
+		      <property name="pixels_inside_wrap">0</property>
+		      <property name="left_margin">0</property>
+		      <property name="right_margin">0</property>
+		      <property name="indent">0</property>
+		      <property name="text" translatable="yes">Sorry, no help available for this option yet.</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="shrink">True</property>
+		  <property name="resize">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="shrink">True</property>
+	      <property name="resize">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
diff --git a/ap/build/uClibc/extra/config/images.c b/ap/build/uClibc/extra/config/images.c
new file mode 100644
index 0000000..d4f84bd
--- /dev/null
+++ b/ap/build/uClibc/extra/config/images.c
@@ -0,0 +1,326 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+static const char *xpm_load[] = {
+"22 22 5 1",
+". c None",
+"# c #000000",
+"c c #838100",
+"a c #ffff00",
+"b c #ffffff",
+"......................",
+"......................",
+"......................",
+"............####....#.",
+"...........#....##.##.",
+"..................###.",
+".................####.",
+".####...........#####.",
+"#abab##########.......",
+"#babababababab#.......",
+"#ababababababa#.......",
+"#babababababab#.......",
+"#ababab###############",
+"#babab##cccccccccccc##",
+"#abab##cccccccccccc##.",
+"#bab##cccccccccccc##..",
+"#ab##cccccccccccc##...",
+"#b##cccccccccccc##....",
+"###cccccccccccc##.....",
+"##cccccccccccc##......",
+"###############.......",
+"......................"};
+
+static const char *xpm_save[] = {
+"22 22 5 1",
+". c None",
+"# c #000000",
+"a c #838100",
+"b c #c5c2c5",
+"c c #cdb6d5",
+"......................",
+".####################.",
+".#aa#bbbbbbbbbbbb#bb#.",
+".#aa#bbbbbbbbbbbb#bb#.",
+".#aa#bbbbbbbbbcbb####.",
+".#aa#bbbccbbbbbbb#aa#.",
+".#aa#bbbccbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aaa############aaa#.",
+".#aaaaaaaaaaaaaaaaaa#.",
+".#aaaaaaaaaaaaaaaaaa#.",
+".#aaa#############aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+"..##################..",
+"......................"};
+
+static const char *xpm_back[] = {
+"22 22 3 1",
+". c None",
+"# c #000083",
+"a c #838183",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"...........######a....",
+"..#......##########...",
+"..##...####......##a..",
+"..###.###.........##..",
+"..######..........##..",
+"..#####...........##..",
+"..######..........##..",
+"..#######.........##..",
+"..########.......##a..",
+"...............a###...",
+"...............###....",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................"};
+
+static const char *xpm_tree_view[] = {
+"22 22 2 1",
+". c None",
+"# c #000000",
+"......................",
+"......................",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......########........",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......########........",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......########........",
+"......................",
+"......................"};
+
+static const char *xpm_single_view[] = {
+"22 22 2 1",
+". c None",
+"# c #000000",
+"......................",
+"......................",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"......................",
+"......................"};
+
+static const char *xpm_split_view[] = {
+"22 22 2 1",
+". c None",
+"# c #000000",
+"......................",
+"......................",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......................",
+"......................"};
+
+static const char *xpm_symbol_no[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_symbol_mod[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .        . ",
+" .   ..   . ",
+" .  ....  . ",
+" .  ....  . ",
+" .   ..   . ",
+" .        . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_symbol_yes[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .        . ",
+" .      . . ",
+" .     .. . ",
+" . .  ..  . ",
+" . ....   . ",
+" .  ..    . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_choice_no[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"    ....    ",
+"  ..    ..  ",
+"  .      .  ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+"  .      .  ",
+"  ..    ..  ",
+"    ....    ",
+"            "};
+
+static const char *xpm_choice_yes[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"    ....    ",
+"  ..    ..  ",
+"  .      .  ",
+" .   ..   . ",
+" .  ....  . ",
+" .  ....  . ",
+" .   ..   . ",
+"  .      .  ",
+"  ..    ..  ",
+"    ....    ",
+"            "};
+
+static const char *xpm_menu[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" . ..     . ",
+" . ....   . ",
+" . ...... . ",
+" . ...... . ",
+" . ....   . ",
+" . ..     . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_menu_inv[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .......... ",
+" ..  ...... ",
+" ..    .... ",
+" ..      .. ",
+" ..      .. ",
+" ..    .... ",
+" ..  ...... ",
+" .......... ",
+" .......... ",
+"            "};
+
+static const char *xpm_menuback[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .     .. . ",
+" .   .... . ",
+" . ...... . ",
+" . ...... . ",
+" .   .... . ",
+" .     .. . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_void[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            "};
diff --git a/ap/build/uClibc/extra/config/kconfig-language.txt b/ap/build/uClibc/extra/config/kconfig-language.txt
new file mode 100644
index 0000000..c412c24
--- /dev/null
+++ b/ap/build/uClibc/extra/config/kconfig-language.txt
@@ -0,0 +1,379 @@
+Introduction
+------------
+
+The configuration database is a collection of configuration options
+organized in a tree structure:
+
+	+- Code maturity level options
+	|  +- Prompt for development and/or incomplete code/drivers
+	+- General setup
+	|  +- Networking support
+	|  +- System V IPC
+	|  +- BSD Process Accounting
+	|  +- Sysctl support
+	+- Loadable module support
+	|  +- Enable loadable module support
+	|     +- Set version information on all module symbols
+	|     +- Kernel module loader
+	+- ...
+
+Every entry has its own dependencies. These dependencies are used
+to determine the visibility of an entry. Any child entry is only
+visible if its parent entry is also visible.
+
+Menu entries
+------------
+
+Most entries define a config option; all other entries help to organize
+them. A single configuration option is defined like this:
+
+config MODVERSIONS
+	bool "Set version information on all module symbols"
+	depends on MODULES
+	help
+	  Usually, modules have to be recompiled whenever you switch to a new
+	  kernel.  ...
+
+Every line starts with a key word and can be followed by multiple
+arguments.  "config" starts a new config entry. The following lines
+define attributes for this config option. Attributes can be the type of
+the config option, input prompt, dependencies, help text and default
+values. A config option can be defined multiple times with the same
+name, but every definition can have only a single input prompt and the
+type must not conflict.
+
+Menu attributes
+---------------
+
+A menu entry can have a number of attributes. Not all of them are
+applicable everywhere (see syntax).
+
+- type definition: "bool"/"tristate"/"string"/"hex"/"int"
+  Every config option must have a type. There are only two basic types:
+  tristate and string; the other types are based on these two. The type
+  definition optionally accepts an input prompt, so these two examples
+  are equivalent:
+
+	bool "Networking support"
+  and
+	bool
+	prompt "Networking support"
+
+- input prompt: "prompt" <prompt> ["if" <expr>]
+  Every menu entry can have at most one prompt, which is used to display
+  to the user. Optionally dependencies only for this prompt can be added
+  with "if".
+
+- default value: "default" <expr> ["if" <expr>]
+  A config option can have any number of default values. If multiple
+  default values are visible, only the first defined one is active.
+  Default values are not limited to the menu entry where they are
+  defined. This means the default can be defined somewhere else or be
+  overridden by an earlier definition.
+  The default value is only assigned to the config symbol if no other
+  value was set by the user (via the input prompt above). If an input
+  prompt is visible the default value is presented to the user and can
+  be overridden by him.
+  Optionally, dependencies only for this default value can be added with
+  "if".
+
+- type definition + default value:
+	"def_bool"/"def_tristate" <expr> ["if" <expr>]
+  This is a shorthand notation for a type definition plus a value.
+  Optionally dependencies for this default value can be added with "if".
+
+- dependencies: "depends on" <expr>
+  This defines a dependency for this menu entry. If multiple
+  dependencies are defined, they are connected with '&&'. Dependencies
+  are applied to all other options within this menu entry (which also
+  accept an "if" expression), so these two examples are equivalent:
+
+	bool "foo" if BAR
+	default y if BAR
+  and
+	depends on BAR
+	bool "foo"
+	default y
+
+- reverse dependencies: "select" <symbol> ["if" <expr>]
+  While normal dependencies reduce the upper limit of a symbol (see
+  below), reverse dependencies can be used to force a lower limit of
+  another symbol. The value of the current menu symbol is used as the
+  minimal value <symbol> can be set to. If <symbol> is selected multiple
+  times, the limit is set to the largest selection.
+  Reverse dependencies can only be used with boolean or tristate
+  symbols.
+  Note:
+	select should be used with care. select will force
+	a symbol to a value without visiting the dependencies.
+	By abusing select you are able to select a symbol FOO even
+	if FOO depends on BAR that is not set.
+	In general use select only for non-visible symbols
+	(no prompts anywhere) and for symbols with no dependencies.
+	That will limit the usefulness but on the other hand avoid
+	the illegal configurations all over.
+	kconfig should one day warn about such things.
+
+- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
+  This allows to limit the range of possible input values for int
+  and hex symbols. The user can only input a value which is larger than
+  or equal to the first symbol and smaller than or equal to the second
+  symbol.
+
+- help text: "help" or "---help---"
+  This defines a help text. The end of the help text is determined by
+  the indentation level, this means it ends at the first line which has
+  a smaller indentation than the first line of the help text.
+  "---help---" and "help" do not differ in behaviour, "---help---" is
+  used to help visually separate configuration logic from help within
+  the file as an aid to developers.
+
+- misc options: "option" <symbol>[=<value>]
+  Various less common options can be defined via this option syntax,
+  which can modify the behaviour of the menu entry and its config
+  symbol. These options are currently possible:
+
+  - "defconfig_list"
+    This declares a list of default entries which can be used when
+    looking for the default configuration (which is used when the main
+    .config doesn't exists yet.)
+
+  - "modules"
+    This declares the symbol to be used as the MODULES symbol, which
+    enables the third modular state for all config symbols.
+
+  - "env"=<value>
+    This imports the environment variable into Kconfig. It behaves like
+    a default, except that the value comes from the environment, this
+    also means that the behaviour when mixing it with normal defaults is
+    undefined at this point. The symbol is currently not exported back
+    to the build environment (if this is desired, it can be done via
+    another symbol).
+
+Menu dependencies
+-----------------
+
+Dependencies define the visibility of a menu entry and can also reduce
+the input range of tristate symbols. The tristate logic used in the
+expressions uses one more state than normal boolean logic to express the
+module state. Dependency expressions have the following syntax:
+
+<expr> ::= <symbol>                             (1)
+           <symbol> '=' <symbol>                (2)
+           <symbol> '!=' <symbol>               (3)
+           '(' <expr> ')'                       (4)
+           '!' <expr>                           (5)
+           <expr> '&&' <expr>                   (6)
+           <expr> '||' <expr>                   (7)
+
+Expressions are listed in decreasing order of precedence. 
+
+(1) Convert the symbol into an expression. Boolean and tristate symbols
+    are simply converted into the respective expression values. All
+    other symbol types result in 'n'.
+(2) If the values of both symbols are equal, it returns 'y',
+    otherwise 'n'.
+(3) If the values of both symbols are equal, it returns 'n',
+    otherwise 'y'.
+(4) Returns the value of the expression. Used to override precedence.
+(5) Returns the result of (2-/expr/).
+(6) Returns the result of min(/expr/, /expr/).
+(7) Returns the result of max(/expr/, /expr/).
+
+An expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2
+respectively for calculations). A menu entry becomes visible when it's
+expression evaluates to 'm' or 'y'.
+
+There are two types of symbols: constant and non-constant symbols.
+Non-constant symbols are the most common ones and are defined with the
+'config' statement. Non-constant symbols consist entirely of alphanumeric
+characters or underscores.
+Constant symbols are only part of expressions. Constant symbols are
+always surrounded by single or double quotes. Within the quote, any
+other character is allowed and the quotes can be escaped using '\'.
+
+Menu structure
+--------------
+
+The position of a menu entry in the tree is determined in two ways. First
+it can be specified explicitly:
+
+menu "Network device support"
+	depends on NET
+
+config NETDEVICES
+	...
+
+endmenu
+
+All entries within the "menu" ... "endmenu" block become a submenu of
+"Network device support". All subentries inherit the dependencies from
+the menu entry, e.g. this means the dependency "NET" is added to the
+dependency list of the config option NETDEVICES.
+
+The other way to generate the menu structure is done by analyzing the
+dependencies. If a menu entry somehow depends on the previous entry, it
+can be made a submenu of it. First, the previous (parent) symbol must
+be part of the dependency list and then one of these two conditions
+must be true:
+- the child entry must become invisible, if the parent is set to 'n'
+- the child entry must only be visible, if the parent is visible
+
+config MODULES
+	bool "Enable loadable module support"
+
+config MODVERSIONS
+	bool "Set version information on all module symbols"
+	depends on MODULES
+
+comment "module support disabled"
+	depends on !MODULES
+
+MODVERSIONS directly depends on MODULES, this means it's only visible if
+MODULES is different from 'n'. The comment on the other hand is always
+visible when MODULES is visible (the (empty) dependency of MODULES is
+also part of the comment dependencies).
+
+
+Kconfig syntax
+--------------
+
+The configuration file describes a series of menu entries, where every
+line starts with a keyword (except help texts). The following keywords
+end a menu entry:
+- config
+- menuconfig
+- choice/endchoice
+- comment
+- menu/endmenu
+- if/endif
+- source
+The first five also start the definition of a menu entry.
+
+config:
+
+	"config" <symbol>
+	<config options>
+
+This defines a config symbol <symbol> and accepts any of above
+attributes as options.
+
+menuconfig:
+	"menuconfig" <symbol>
+	<config options>
+
+This is similar to the simple config entry above, but it also gives a
+hint to front ends, that all suboptions should be displayed as a
+separate list of options.
+
+choices:
+
+	"choice"
+	<choice options>
+	<choice block>
+	"endchoice"
+
+This defines a choice group and accepts any of the above attributes as
+options. A choice can only be of type bool or tristate, while a boolean
+choice only allows a single config entry to be selected, a tristate
+choice also allows any number of config entries to be set to 'm'. This
+can be used if multiple drivers for a single hardware exists and only a
+single driver can be compiled/loaded into the kernel, but all drivers
+can be compiled as modules.
+A choice accepts another option "optional", which allows to set the
+choice to 'n' and no entry needs to be selected.
+
+comment:
+
+	"comment" <prompt>
+	<comment options>
+
+This defines a comment which is displayed to the user during the
+configuration process and is also echoed to the output files. The only
+possible options are dependencies.
+
+menu:
+
+	"menu" <prompt>
+	<menu options>
+	<menu block>
+	"endmenu"
+
+This defines a menu block, see "Menu structure" above for more
+information. The only possible options are dependencies.
+
+if:
+
+	"if" <expr>
+	<if block>
+	"endif"
+
+This defines an if block. The dependency expression <expr> is appended
+to all enclosed menu entries.
+
+source:
+
+	"source" <prompt>
+
+This reads the specified configuration file. This file is always parsed.
+
+mainmenu:
+
+	"mainmenu" <prompt>
+
+This sets the config program's title bar if the config program chooses
+to use it.
+
+
+Kconfig hints
+-------------
+This is a collection of Kconfig tips, most of which aren't obvious at
+first glance and most of which have become idioms in several Kconfig
+files.
+
+Adding common features and make the usage configurable
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+It is a common idiom to implement a feature/functionality that are
+relevant for some architectures but not all.
+The recommended way to do so is to use a config variable named HAVE_*
+that is defined in a common Kconfig file and selected by the relevant
+architectures.
+An example is the generic IOMAP functionality.
+
+We would in lib/Kconfig see:
+
+# Generic IOMAP is used to ...
+config HAVE_GENERIC_IOMAP
+
+config GENERIC_IOMAP
+	depends on HAVE_GENERIC_IOMAP && FOO
+
+And in lib/Makefile we would see:
+obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
+
+For each architecture using the generic IOMAP functionality we would see:
+
+config X86
+	select ...
+	select HAVE_GENERIC_IOMAP
+	select ...
+
+Note: we use the existing config option and avoid creating a new
+config variable to select HAVE_GENERIC_IOMAP.
+
+Note: the use of the internal config variable HAVE_GENERIC_IOMAP, it is
+introduced to overcome the limitation of select which will force a
+config option to 'y' no matter the dependencies.
+The dependencies are moved to the symbol GENERIC_IOMAP and we avoid the
+situation where select forces a symbol equals to 'y'.
+
+Build as module only
+~~~~~~~~~~~~~~~~~~~~
+To restrict a component build to module-only, qualify its config symbol
+with "depends on m".  E.g.:
+
+config FOO
+	depends on BAR && m
+
+limits FOO to module (=m) or disabled (=n).
+
diff --git a/ap/build/uClibc/extra/config/kconfig-to-uclibc.patch.gz b/ap/build/uClibc/extra/config/kconfig-to-uclibc.patch.gz
new file mode 100644
index 0000000..58c4173
--- /dev/null
+++ b/ap/build/uClibc/extra/config/kconfig-to-uclibc.patch.gz
Binary files differ
diff --git a/ap/build/uClibc/extra/config/kconfig_load.c b/ap/build/uClibc/extra/config/kconfig_load.c
new file mode 100644
index 0000000..dbdcaad
--- /dev/null
+++ b/ap/build/uClibc/extra/config/kconfig_load.c
@@ -0,0 +1,35 @@
+#include <dlfcn.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "lkc.h"
+
+#define P(name,type,arg)	type (*name ## _p) arg
+#include "lkc_proto.h"
+#undef P
+
+void kconfig_load(void)
+{
+	void *handle;
+	char *error;
+
+	handle = dlopen("./libkconfig.so", RTLD_LAZY);
+	if (!handle) {
+		handle = dlopen("./scripts/kconfig/libkconfig.so", RTLD_LAZY);
+		if (!handle) {
+			fprintf(stderr, "%s\n", dlerror());
+			exit(1);
+		}
+	}
+
+#define P(name,type,arg)			\
+{						\
+	name ## _p = dlsym(handle, #name);	\
+        if ((error = dlerror()))  {		\
+                fprintf(stderr, "%s\n", error);	\
+		exit(1);			\
+	}					\
+}
+#include "lkc_proto.h"
+#undef P
+}
diff --git a/ap/build/uClibc/extra/config/kxgettext.c b/ap/build/uClibc/extra/config/kxgettext.c
new file mode 100644
index 0000000..6eb72a7
--- /dev/null
+++ b/ap/build/uClibc/extra/config/kxgettext.c
@@ -0,0 +1,229 @@
+/*
+ * Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2005
+ *
+ * Released under the terms of the GNU GPL v2.0
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+static char *escape(const char* text, char *bf, int len)
+{
+	char *bfp = bf;
+	int multiline = strchr(text, '\n') != NULL;
+	int eol = 0;
+	int textlen = strlen(text);
+
+	if ((textlen > 0) && (text[textlen-1] == '\n'))
+		eol = 1;
+
+	*bfp++ = '"';
+	--len;
+
+	if (multiline) {
+		*bfp++ = '"';
+		*bfp++ = '\n';
+		*bfp++ = '"';
+		len -= 3;
+	}
+
+	while (*text != '\0' && len > 1) {
+		if (*text == '"')
+			*bfp++ = '\\';
+		else if (*text == '\n') {
+			*bfp++ = '\\';
+			*bfp++ = 'n';
+			*bfp++ = '"';
+			*bfp++ = '\n';
+			*bfp++ = '"';
+			len -= 5;
+			++text;
+			goto next;
+		}
+		*bfp++ = *text++;
+next:
+		--len;
+	}
+
+	if (multiline && eol)
+		bfp -= 3;
+
+	*bfp++ = '"';
+	*bfp = '\0';
+
+	return bf;
+}
+
+struct file_line {
+	struct file_line *next;
+	char*		 file;
+	int		 lineno;
+};
+
+static struct file_line *file_line__new(char *file, int lineno)
+{
+	struct file_line *self = malloc(sizeof(*self));
+
+	if (self == NULL)
+		goto out;
+
+	self->file   = file;
+	self->lineno = lineno;
+	self->next   = NULL;
+out:
+	return self;
+}
+
+struct message {
+	const char	 *msg;
+	const char	 *option;
+	struct message	 *next;
+	struct file_line *files;
+};
+
+static struct message *message__list;
+
+static struct message *message__new(const char *msg, char *option, char *file, int lineno)
+{
+	struct message *self = malloc(sizeof(*self));
+
+	if (self == NULL)
+		goto out;
+
+	self->files = file_line__new(file, lineno);
+	if (self->files == NULL)
+		goto out_fail;
+
+	self->msg = strdup(msg);
+	if (self->msg == NULL)
+		goto out_fail_msg;
+
+	self->option = option;
+	self->next = NULL;
+out:
+	return self;
+out_fail_msg:
+	free(self->files);
+out_fail:
+	free(self);
+	self = NULL;
+	goto out;
+}
+
+static struct message *mesage__find(const char *msg)
+{
+	struct message *m = message__list;
+
+	while (m != NULL) {
+		if (strcmp(m->msg, msg) == 0)
+			break;
+		m = m->next;
+	}
+
+	return m;
+}
+
+static int message__add_file_line(struct message *self, char *file, int lineno)
+{
+	int rc = -1;
+	struct file_line *fl = file_line__new(file, lineno);
+
+	if (fl == NULL)
+		goto out;
+
+	fl->next    = self->files;
+	self->files = fl;
+	rc = 0;
+out:
+	return rc;
+}
+
+static int message__add(const char *msg, char *option, char *file, int lineno)
+{
+	int rc = 0;
+	char bf[16384];
+	char *escaped = escape(msg, bf, sizeof(bf));
+	struct message *m = mesage__find(escaped);
+
+	if (m != NULL)
+		rc = message__add_file_line(m, file, lineno);
+	else {
+		m = message__new(escaped, option, file, lineno);
+
+		if (m != NULL) {
+			m->next	      = message__list;
+			message__list = m;
+		} else
+			rc = -1;
+	}
+	return rc;
+}
+
+void menu_build_message_list(struct menu *menu)
+{
+	struct menu *child;
+
+	message__add(menu_get_prompt(menu), NULL,
+		     menu->file == NULL ? "Root Menu" : menu->file->name,
+		     menu->lineno);
+
+	if (menu->sym != NULL && menu_has_help(menu))
+		message__add(menu_get_help(menu), menu->sym->name,
+			     menu->file == NULL ? "Root Menu" : menu->file->name,
+			     menu->lineno);
+
+	for (child = menu->list; child != NULL; child = child->next)
+		if (child->prompt != NULL)
+			menu_build_message_list(child);
+}
+
+static void message__print_file_lineno(struct message *self)
+{
+	struct file_line *fl = self->files;
+
+	putchar('\n');
+	if (self->option != NULL)
+		printf("# %s:00000\n", self->option);
+
+	printf("#: %s:%d", fl->file, fl->lineno);
+	fl = fl->next;
+
+	while (fl != NULL) {
+		printf(", %s:%d", fl->file, fl->lineno);
+		fl = fl->next;
+	}
+
+	putchar('\n');
+}
+
+static void message__print_gettext_msgid_msgstr(struct message *self)
+{
+	message__print_file_lineno(self);
+
+	printf("msgid %s\n"
+	       "msgstr \"\"\n", self->msg);
+}
+
+void menu__xgettext(void)
+{
+	struct message *m = message__list;
+
+	while (m != NULL) {
+		/* skip empty lines ("") */
+		if (strlen(m->msg) > sizeof("\"\""))
+			message__print_gettext_msgid_msgstr(m);
+		m = m->next;
+	}
+}
+
+int main(int ac, char **av)
+{
+	conf_parse(av[1]);
+
+	menu_build_message_list(menu_get_root_menu(NULL));
+	menu__xgettext();
+	return 0;
+}
diff --git a/ap/build/uClibc/extra/config/lex.zconf.c b/ap/build/uClibc/extra/config/lex.zconf.c
new file mode 100644
index 0000000..f6e38b6
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lex.zconf.c
@@ -0,0 +1,2416 @@
+
+#line 3 "scripts/kconfig/lex.zconf.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define yy_create_buffer zconf_create_buffer
+#define yy_delete_buffer zconf_delete_buffer
+#define yy_flex_debug zconf_flex_debug
+#define yy_init_buffer zconf_init_buffer
+#define yy_flush_buffer zconf_flush_buffer
+#define yy_load_buffer_state zconf_load_buffer_state
+#define yy_switch_to_buffer zconf_switch_to_buffer
+#define yyin zconfin
+#define yyleng zconfleng
+#define yylex zconflex
+#define yylineno zconflineno
+#define yyout zconfout
+#define yyrestart zconfrestart
+#define yytext zconftext
+#define yywrap zconfwrap
+#define yyalloc zconfalloc
+#define yyrealloc zconfrealloc
+#define yyfree zconffree
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif	/* defined (__STDC__) */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE zconfrestart(zconfin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int zconfleng;
+
+extern FILE *zconfin, *zconfout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up zconftext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via zconfrestart()), so that the user can continue scanning by
+	 * just pointing zconfin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when zconftext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int zconfleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow zconfwrap()'s to do buffer switches
+ * instead of setting up a fresh zconfin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void zconfrestart (FILE *input_file  );
+void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size  );
+void zconf_delete_buffer (YY_BUFFER_STATE b  );
+void zconf_flush_buffer (YY_BUFFER_STATE b  );
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void zconfpop_buffer_state (void );
+
+static void zconfensure_buffer_stack (void );
+static void zconf_load_buffer_state (void );
+static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len  );
+
+void *zconfalloc (yy_size_t  );
+void *zconfrealloc (void *,yy_size_t  );
+void zconffree (void *  );
+
+#define yy_new_buffer zconf_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+#define zconfwrap(n) 1
+#define YY_SKIP_YYWRAP
+
+typedef unsigned char YY_CHAR;
+
+FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int zconflineno;
+
+int zconflineno = 1;
+
+extern char *zconftext;
+#define yytext_ptr zconftext
+static yyconst flex_int16_t yy_nxt[][17] =
+    {
+    {
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+    },
+
+    {
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11
+    },
+
+    {
+       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+      -12,  -12,  -12,  -12,  -12,  -12,  -12
+    },
+
+    {
+       11,  -13,   39,   40,  -13,  -13,   41,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13
+    },
+
+    {
+       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14
+
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16
+    },
+
+    {
+       11,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+      -17,  -17,  -17,  -17,  -17,  -17,  -17
+    },
+
+    {
+       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
+      -18,  -18,  -18,   44,  -18,  -18,  -18
+    },
+
+    {
+       11,   45,   45,  -19,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+
+    },
+
+    {
+       11,  -20,   46,   47,  -20,  -20,  -20,  -20,  -20,  -20,
+      -20,  -20,  -20,  -20,  -20,  -20,  -20
+    },
+
+    {
+       11,   48,  -21,  -21,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -22,   49,   49,  -22,   49,
+       49,   49,   49,   49,   49,  -22,   49
+    },
+
+    {
+       11,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
+      -23,  -23,  -23,  -23,  -23,  -23,  -23
+    },
+
+    {
+       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
+      -24,  -24,  -24,  -24,  -24,  -24,  -24
+
+    },
+
+    {
+       11,   51,   51,   52,   51,   51,   51,   51,   51,   51,
+       51,   51,   51,   51,   51,   51,   51
+    },
+
+    {
+       11,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
+      -26,  -26,  -26,  -26,  -26,  -26,  -26
+    },
+
+    {
+       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
+      -27,  -27,  -27,  -27,  -27,  -27,  -27
+    },
+
+    {
+       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
+      -28,  -28,  -28,  -28,   53,  -28,  -28
+    },
+
+    {
+       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
+      -29,  -29,  -29,  -29,  -29,  -29,  -29
+
+    },
+
+    {
+       11,   54,   54,  -30,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+    },
+
+    {
+       11,  -31,  -31,  -31,  -31,  -31,  -31,   55,  -31,  -31,
+      -31,  -31,  -31,  -31,  -31,  -31,  -31
+    },
+
+    {
+       11,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,  -32,  -32
+    },
+
+    {
+       11,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33
+    },
+
+    {
+       11,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
+      -34,   56,   57,   57,  -34,  -34,  -34
+
+    },
+
+    {
+       11,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,   57,   57,   57,  -35,  -35,  -35
+    },
+
+    {
+       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36
+    },
+
+    {
+       11,  -37,  -37,   58,  -37,  -37,  -37,  -37,  -37,  -37,
+      -37,  -37,  -37,  -37,  -37,  -37,  -37
+    },
+
+    {
+       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,   59
+    },
+
+    {
+       11,  -39,   39,   40,  -39,  -39,   41,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39
+
+    },
+
+    {
+       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,  -40,  -40,  -40
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43
+    },
+
+    {
+       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,   44,  -44,  -44,  -44
+
+    },
+
+    {
+       11,   45,   45,  -45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+    },
+
+    {
+       11,  -46,   46,   47,  -46,  -46,  -46,  -46,  -46,  -46,
+      -46,  -46,  -46,  -46,  -46,  -46,  -46
+    },
+
+    {
+       11,   48,  -47,  -47,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -49,   49,   49,  -49,   49,
+       49,   49,   49,   49,   49,  -49,   49
+
+    },
+
+    {
+       11,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
+      -50,  -50,  -50,  -50,  -50,  -50,  -50
+    },
+
+    {
+       11,  -51,  -51,   52,  -51,  -51,  -51,  -51,  -51,  -51,
+      -51,  -51,  -51,  -51,  -51,  -51,  -51
+    },
+
+    {
+       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+      -52,  -52,  -52,  -52,  -52,  -52,  -52
+    },
+
+    {
+       11,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53
+    },
+
+    {
+       11,   54,   54,  -54,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+
+    },
+
+    {
+       11,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
+      -55,  -55,  -55,  -55,  -55,  -55,  -55
+    },
+
+    {
+       11,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
+      -56,   60,   57,   57,  -56,  -56,  -56
+    },
+
+    {
+       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+      -57,   57,   57,   57,  -57,  -57,  -57
+    },
+
+    {
+       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
+      -58,  -58,  -58,  -58,  -58,  -58,  -58
+    },
+
+    {
+       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
+      -59,  -59,  -59,  -59,  -59,  -59,  -59
+
+    },
+
+    {
+       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
+      -60,   57,   57,   57,  -60,  -60,  -60
+    },
+
+    } ;
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up zconftext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	zconfleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 33
+#define YY_END_OF_BUFFER 34
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[61] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       34,    5,    4,    2,    3,    7,    8,    6,   32,   29,
+       31,   24,   28,   27,   26,   22,   17,   13,   16,   20,
+       22,   11,   12,   19,   19,   14,   22,   22,    4,    2,
+        3,    3,    1,    6,   32,   29,   31,   30,   24,   23,
+       26,   25,   15,   20,    9,   19,   19,   21,   10,   18
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    4,    5,    6,    1,    1,    7,    8,    9,
+       10,    1,    1,    1,   11,   12,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,    1,    1,    1,
+       14,    1,    1,    1,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+        1,   15,    1,    1,   13,    1,   13,   13,   13,   13,
+
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,    1,   16,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+extern int zconf_flex_debug;
+int zconf_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *zconftext;
+#define YY_NO_INPUT 1
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+static struct {
+	struct file *file;
+	int lineno;
+} current_pos;
+
+static char *text;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static void zconf_endfile(void);
+
+void new_string(void)
+{
+	text = malloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_size = 0;
+	*text = 0;
+}
+
+void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		new_size += START_STRSIZE - 1;
+		new_size &= -START_STRSIZE;
+		text = realloc(text, new_size);
+		text_asize = new_size;
+	}
+	memcpy(text + text_size, str, size);
+	text_size += size;
+	text[text_size] = 0;
+}
+
+void alloc_string(const char *str, int size)
+{
+	text = malloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+
+#define INITIAL 0
+#define COMMAND 1
+#define HELP 2
+#define STRING 3
+#define PARAM 4
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int zconflex_destroy (void );
+
+int zconfget_debug (void );
+
+void zconfset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE zconfget_extra (void );
+
+void zconfset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *zconfget_in (void );
+
+void zconfset_in  (FILE * in_str  );
+
+FILE *zconfget_out (void );
+
+void zconfset_out  (FILE * out_str  );
+
+int zconfget_leng (void );
+
+char *zconfget_text (void );
+
+int zconfget_lineno (void );
+
+void zconfset_lineno (int line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int zconfwrap (void );
+#else
+extern int zconfwrap (void );
+#endif
+#endif
+
+    static void yyunput (int c,char *buf_ptr  );
+    
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	errno=0; \
+	while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \
+	{ \
+		if( errno != EINTR) \
+		{ \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+			break; \
+		} \
+		errno=0; \
+		clearerr(zconfin); \
+	}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int zconflex (void);
+
+#define YY_DECL int zconflex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after zconftext and zconfleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+	int str = 0;
+	int ts, i;
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! zconfin )
+			zconfin = stdin;
+
+		if ( ! zconfout )
+			zconfout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			zconfensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				zconf_create_buffer(zconfin,YY_BUF_SIZE );
+		}
+
+		zconf_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of zconftext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
+			++yy_cp;
+
+		yy_current_state = -yy_current_state;
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+case 1:
+/* rule 1 can match eol */
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+{
+	current_file->lineno++;
+	return T_EOL;
+}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+{
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+{
+	unput(zconftext[0]);
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+
+case 6:
+YY_RULE_SETUP
+{
+		struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		BEGIN(PARAM);
+		current_pos.file = current_file;
+		current_pos.lineno = current_file->lineno;
+		if (id && id->flags & TF_COMMAND) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 8:
+/* rule 8 can match eol */
+YY_RULE_SETUP
+{
+		BEGIN(INITIAL);
+		current_file->lineno++;
+		return T_EOL;
+	}
+	YY_BREAK
+
+case 9:
+YY_RULE_SETUP
+return T_AND;
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+return T_OR;
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+return T_OPEN_PAREN;
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+return T_CLOSE_PAREN;
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+return T_NOT;
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+return T_EQUAL;
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+return T_UNEQUAL;
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+{
+		str = zconftext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	YY_BREAK
+case 17:
+/* rule 17 can match eol */
+YY_RULE_SETUP
+BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+/* ignore */
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+{
+		struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		if (id && id->flags & TF_PARAM) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+/* comment */
+	YY_BREAK
+case 21:
+/* rule 21 can match eol */
+YY_RULE_SETUP
+current_file->lineno++;
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+
+	YY_BREAK
+case YY_STATE_EOF(PARAM):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 23:
+/* rule 23 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+	}
+	YY_BREAK
+case 25:
+/* rule 25 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+	}
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+{
+		if (str == zconftext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(zconftext, 1);
+	}
+	YY_BREAK
+case 28:
+/* rule 28 can match eol */
+YY_RULE_SETUP
+{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	YY_BREAK
+case YY_STATE_EOF(STRING):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 29:
+YY_RULE_SETUP
+{
+		ts = 0;
+		for (i = 0; i < zconfleng; i++) {
+			if (zconftext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	YY_BREAK
+case 30:
+/* rule 30 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+case 31:
+/* rule 31 can match eol */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+{
+		while (zconfleng) {
+			if ((zconftext[zconfleng-1] != ' ') && (zconftext[zconfleng-1] != '\t'))
+				break;
+			zconfleng--;
+		}
+		append_string(zconftext, zconfleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	YY_BREAK
+case YY_STATE_EOF(HELP):
+{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(COMMAND):
+{
+	if (current_file) {
+		zconf_endfile();
+		return T_EOL;
+	}
+	fclose(zconfin);
+	yyterminate();
+}
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+YY_FATAL_ERROR( "flex scanner jammed" );
+	YY_BREAK
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed zconfin at a new source and called
+			 * zconflex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( zconfwrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * zconftext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of zconflex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), (size_t) num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			zconfrestart(zconfin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) zconfrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    
+	yy_current_state = yy_nxt[yy_current_state][1];
+	yy_is_jam = (yy_current_state <= 0);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up zconftext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register int number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		register char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					zconfrestart(zconfin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( zconfwrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve zconftext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void zconfrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        zconfensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            zconf_create_buffer(zconfin,YY_BUF_SIZE );
+	}
+
+	zconf_init_buffer(YY_CURRENT_BUFFER,input_file );
+	zconf_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void zconf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		zconfpop_buffer_state();
+	 *		zconfpush_buffer_state(new_buffer);
+     */
+	zconfensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	zconf_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (zconfwrap()) processing, but the only time this flag
+	 * is looked at is after zconfwrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void zconf_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE zconf_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	zconf_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with zconf_create_buffer()
+ * 
+ */
+    void zconf_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		zconffree((void *) b->yy_ch_buf  );
+
+	zconffree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a zconfrestart() or at EOF.
+ */
+    static void zconf_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	zconf_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then zconf_init_buffer was _probably_
+     * called from zconfrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void zconf_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		zconf_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	zconfensure_buffer_stack();
+
+	/* This block is copied from zconf_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from zconf_switch_to_buffer. */
+	zconf_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void zconfpop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	zconf_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		zconf_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void zconfensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	zconf_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to zconflex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       zconf_scan_bytes() instead.
+ */
+YY_BUFFER_STATE zconf_scan_string (yyconst char * yystr )
+{
+    
+	return zconf_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) zconfalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = zconf_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		zconftext[zconfleng] = (yy_hold_char); \
+		(yy_c_buf_p) = zconftext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		zconfleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int zconfget_lineno  (void)
+{
+        
+    return zconflineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *zconfget_in  (void)
+{
+        return zconfin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *zconfget_out  (void)
+{
+        return zconfout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int zconfget_leng  (void)
+{
+        return zconfleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *zconfget_text  (void)
+{
+        return zconftext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void zconfset_lineno (int  line_number )
+{
+    
+    zconflineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see zconf_switch_to_buffer
+ */
+void zconfset_in (FILE *  in_str )
+{
+        zconfin = in_str ;
+}
+
+void zconfset_out (FILE *  out_str )
+{
+        zconfout = out_str ;
+}
+
+int zconfget_debug  (void)
+{
+        return zconf_flex_debug;
+}
+
+void zconfset_debug (int  bdebug )
+{
+        zconf_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from zconflex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    zconfin = stdin;
+    zconfout = stdout;
+#else
+    zconfin = (FILE *) 0;
+    zconfout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * zconflex_init()
+     */
+    return 0;
+}
+
+/* zconflex_destroy is for both reentrant and non-reentrant scanners. */
+int zconflex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		zconf_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		zconfpop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	zconffree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * zconflex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *zconfalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *zconfrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void zconffree (void * ptr )
+{
+	free( (char *) ptr );	/* see zconfrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name != NULL && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = malloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+	current_file->flags = FILE_BUSY;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *file = file_lookup(name);
+	struct buffer *buf = malloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	if (file->flags & FILE_BUSY) {
+		printf("%s:%d: do not source '%s' from itself\n",
+		       zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	if (file->flags & FILE_SCANNED) {
+		printf("%s:%d: file '%s' is already sourced from '%s'\n",
+		       zconf_curname(), zconf_lineno(), name,
+		       file->parent->name);
+		exit(1);
+	}
+	file->flags |= FILE_BUSY;
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static void zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file->flags |= FILE_SCANNED;
+	current_file->flags &= ~FILE_BUSY;
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(zconfin);
+		zconf_delete_buffer(YY_CURRENT_BUFFER);
+		zconf_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+}
+
+int zconf_lineno(void)
+{
+	return current_pos.lineno;
+}
+
+char *zconf_curname(void)
+{
+	return current_pos.file ? current_pos.file->name : "<none>";
+}
+
diff --git a/ap/build/uClibc/extra/config/lex.zconf.c_shipped b/ap/build/uClibc/extra/config/lex.zconf.c_shipped
new file mode 100644
index 0000000..f6e38b6
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lex.zconf.c_shipped
@@ -0,0 +1,2416 @@
+
+#line 3 "scripts/kconfig/lex.zconf.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define yy_create_buffer zconf_create_buffer
+#define yy_delete_buffer zconf_delete_buffer
+#define yy_flex_debug zconf_flex_debug
+#define yy_init_buffer zconf_init_buffer
+#define yy_flush_buffer zconf_flush_buffer
+#define yy_load_buffer_state zconf_load_buffer_state
+#define yy_switch_to_buffer zconf_switch_to_buffer
+#define yyin zconfin
+#define yyleng zconfleng
+#define yylex zconflex
+#define yylineno zconflineno
+#define yyout zconfout
+#define yyrestart zconfrestart
+#define yytext zconftext
+#define yywrap zconfwrap
+#define yyalloc zconfalloc
+#define yyrealloc zconfrealloc
+#define yyfree zconffree
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif	/* defined (__STDC__) */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE zconfrestart(zconfin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int zconfleng;
+
+extern FILE *zconfin, *zconfout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up zconftext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via zconfrestart()), so that the user can continue scanning by
+	 * just pointing zconfin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when zconftext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int zconfleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow zconfwrap()'s to do buffer switches
+ * instead of setting up a fresh zconfin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void zconfrestart (FILE *input_file  );
+void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size  );
+void zconf_delete_buffer (YY_BUFFER_STATE b  );
+void zconf_flush_buffer (YY_BUFFER_STATE b  );
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void zconfpop_buffer_state (void );
+
+static void zconfensure_buffer_stack (void );
+static void zconf_load_buffer_state (void );
+static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len  );
+
+void *zconfalloc (yy_size_t  );
+void *zconfrealloc (void *,yy_size_t  );
+void zconffree (void *  );
+
+#define yy_new_buffer zconf_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+#define zconfwrap(n) 1
+#define YY_SKIP_YYWRAP
+
+typedef unsigned char YY_CHAR;
+
+FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int zconflineno;
+
+int zconflineno = 1;
+
+extern char *zconftext;
+#define yytext_ptr zconftext
+static yyconst flex_int16_t yy_nxt[][17] =
+    {
+    {
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+    },
+
+    {
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11
+    },
+
+    {
+       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+      -12,  -12,  -12,  -12,  -12,  -12,  -12
+    },
+
+    {
+       11,  -13,   39,   40,  -13,  -13,   41,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13
+    },
+
+    {
+       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14
+
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16
+    },
+
+    {
+       11,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+      -17,  -17,  -17,  -17,  -17,  -17,  -17
+    },
+
+    {
+       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
+      -18,  -18,  -18,   44,  -18,  -18,  -18
+    },
+
+    {
+       11,   45,   45,  -19,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+
+    },
+
+    {
+       11,  -20,   46,   47,  -20,  -20,  -20,  -20,  -20,  -20,
+      -20,  -20,  -20,  -20,  -20,  -20,  -20
+    },
+
+    {
+       11,   48,  -21,  -21,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -22,   49,   49,  -22,   49,
+       49,   49,   49,   49,   49,  -22,   49
+    },
+
+    {
+       11,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
+      -23,  -23,  -23,  -23,  -23,  -23,  -23
+    },
+
+    {
+       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
+      -24,  -24,  -24,  -24,  -24,  -24,  -24
+
+    },
+
+    {
+       11,   51,   51,   52,   51,   51,   51,   51,   51,   51,
+       51,   51,   51,   51,   51,   51,   51
+    },
+
+    {
+       11,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
+      -26,  -26,  -26,  -26,  -26,  -26,  -26
+    },
+
+    {
+       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
+      -27,  -27,  -27,  -27,  -27,  -27,  -27
+    },
+
+    {
+       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
+      -28,  -28,  -28,  -28,   53,  -28,  -28
+    },
+
+    {
+       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
+      -29,  -29,  -29,  -29,  -29,  -29,  -29
+
+    },
+
+    {
+       11,   54,   54,  -30,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+    },
+
+    {
+       11,  -31,  -31,  -31,  -31,  -31,  -31,   55,  -31,  -31,
+      -31,  -31,  -31,  -31,  -31,  -31,  -31
+    },
+
+    {
+       11,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,  -32,  -32
+    },
+
+    {
+       11,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33
+    },
+
+    {
+       11,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
+      -34,   56,   57,   57,  -34,  -34,  -34
+
+    },
+
+    {
+       11,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,   57,   57,   57,  -35,  -35,  -35
+    },
+
+    {
+       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36
+    },
+
+    {
+       11,  -37,  -37,   58,  -37,  -37,  -37,  -37,  -37,  -37,
+      -37,  -37,  -37,  -37,  -37,  -37,  -37
+    },
+
+    {
+       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,   59
+    },
+
+    {
+       11,  -39,   39,   40,  -39,  -39,   41,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39
+
+    },
+
+    {
+       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,  -40,  -40,  -40
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43
+    },
+
+    {
+       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,   44,  -44,  -44,  -44
+
+    },
+
+    {
+       11,   45,   45,  -45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+    },
+
+    {
+       11,  -46,   46,   47,  -46,  -46,  -46,  -46,  -46,  -46,
+      -46,  -46,  -46,  -46,  -46,  -46,  -46
+    },
+
+    {
+       11,   48,  -47,  -47,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -49,   49,   49,  -49,   49,
+       49,   49,   49,   49,   49,  -49,   49
+
+    },
+
+    {
+       11,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
+      -50,  -50,  -50,  -50,  -50,  -50,  -50
+    },
+
+    {
+       11,  -51,  -51,   52,  -51,  -51,  -51,  -51,  -51,  -51,
+      -51,  -51,  -51,  -51,  -51,  -51,  -51
+    },
+
+    {
+       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+      -52,  -52,  -52,  -52,  -52,  -52,  -52
+    },
+
+    {
+       11,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53
+    },
+
+    {
+       11,   54,   54,  -54,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+
+    },
+
+    {
+       11,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
+      -55,  -55,  -55,  -55,  -55,  -55,  -55
+    },
+
+    {
+       11,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
+      -56,   60,   57,   57,  -56,  -56,  -56
+    },
+
+    {
+       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+      -57,   57,   57,   57,  -57,  -57,  -57
+    },
+
+    {
+       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
+      -58,  -58,  -58,  -58,  -58,  -58,  -58
+    },
+
+    {
+       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
+      -59,  -59,  -59,  -59,  -59,  -59,  -59
+
+    },
+
+    {
+       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
+      -60,   57,   57,   57,  -60,  -60,  -60
+    },
+
+    } ;
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up zconftext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	zconfleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 33
+#define YY_END_OF_BUFFER 34
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[61] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       34,    5,    4,    2,    3,    7,    8,    6,   32,   29,
+       31,   24,   28,   27,   26,   22,   17,   13,   16,   20,
+       22,   11,   12,   19,   19,   14,   22,   22,    4,    2,
+        3,    3,    1,    6,   32,   29,   31,   30,   24,   23,
+       26,   25,   15,   20,    9,   19,   19,   21,   10,   18
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    4,    5,    6,    1,    1,    7,    8,    9,
+       10,    1,    1,    1,   11,   12,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,    1,    1,    1,
+       14,    1,    1,    1,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+        1,   15,    1,    1,   13,    1,   13,   13,   13,   13,
+
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,    1,   16,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+extern int zconf_flex_debug;
+int zconf_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *zconftext;
+#define YY_NO_INPUT 1
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+static struct {
+	struct file *file;
+	int lineno;
+} current_pos;
+
+static char *text;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static void zconf_endfile(void);
+
+void new_string(void)
+{
+	text = malloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_size = 0;
+	*text = 0;
+}
+
+void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		new_size += START_STRSIZE - 1;
+		new_size &= -START_STRSIZE;
+		text = realloc(text, new_size);
+		text_asize = new_size;
+	}
+	memcpy(text + text_size, str, size);
+	text_size += size;
+	text[text_size] = 0;
+}
+
+void alloc_string(const char *str, int size)
+{
+	text = malloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+
+#define INITIAL 0
+#define COMMAND 1
+#define HELP 2
+#define STRING 3
+#define PARAM 4
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int zconflex_destroy (void );
+
+int zconfget_debug (void );
+
+void zconfset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE zconfget_extra (void );
+
+void zconfset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *zconfget_in (void );
+
+void zconfset_in  (FILE * in_str  );
+
+FILE *zconfget_out (void );
+
+void zconfset_out  (FILE * out_str  );
+
+int zconfget_leng (void );
+
+char *zconfget_text (void );
+
+int zconfget_lineno (void );
+
+void zconfset_lineno (int line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int zconfwrap (void );
+#else
+extern int zconfwrap (void );
+#endif
+#endif
+
+    static void yyunput (int c,char *buf_ptr  );
+    
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	errno=0; \
+	while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \
+	{ \
+		if( errno != EINTR) \
+		{ \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+			break; \
+		} \
+		errno=0; \
+		clearerr(zconfin); \
+	}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int zconflex (void);
+
+#define YY_DECL int zconflex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after zconftext and zconfleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+	int str = 0;
+	int ts, i;
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! zconfin )
+			zconfin = stdin;
+
+		if ( ! zconfout )
+			zconfout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			zconfensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				zconf_create_buffer(zconfin,YY_BUF_SIZE );
+		}
+
+		zconf_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of zconftext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
+			++yy_cp;
+
+		yy_current_state = -yy_current_state;
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+case 1:
+/* rule 1 can match eol */
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+{
+	current_file->lineno++;
+	return T_EOL;
+}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+{
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+{
+	unput(zconftext[0]);
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+
+case 6:
+YY_RULE_SETUP
+{
+		struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		BEGIN(PARAM);
+		current_pos.file = current_file;
+		current_pos.lineno = current_file->lineno;
+		if (id && id->flags & TF_COMMAND) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 8:
+/* rule 8 can match eol */
+YY_RULE_SETUP
+{
+		BEGIN(INITIAL);
+		current_file->lineno++;
+		return T_EOL;
+	}
+	YY_BREAK
+
+case 9:
+YY_RULE_SETUP
+return T_AND;
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+return T_OR;
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+return T_OPEN_PAREN;
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+return T_CLOSE_PAREN;
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+return T_NOT;
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+return T_EQUAL;
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+return T_UNEQUAL;
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+{
+		str = zconftext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	YY_BREAK
+case 17:
+/* rule 17 can match eol */
+YY_RULE_SETUP
+BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+/* ignore */
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+{
+		struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		if (id && id->flags & TF_PARAM) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+/* comment */
+	YY_BREAK
+case 21:
+/* rule 21 can match eol */
+YY_RULE_SETUP
+current_file->lineno++;
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+
+	YY_BREAK
+case YY_STATE_EOF(PARAM):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 23:
+/* rule 23 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+	}
+	YY_BREAK
+case 25:
+/* rule 25 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+	}
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+{
+		if (str == zconftext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(zconftext, 1);
+	}
+	YY_BREAK
+case 28:
+/* rule 28 can match eol */
+YY_RULE_SETUP
+{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	YY_BREAK
+case YY_STATE_EOF(STRING):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 29:
+YY_RULE_SETUP
+{
+		ts = 0;
+		for (i = 0; i < zconfleng; i++) {
+			if (zconftext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	YY_BREAK
+case 30:
+/* rule 30 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+case 31:
+/* rule 31 can match eol */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+{
+		while (zconfleng) {
+			if ((zconftext[zconfleng-1] != ' ') && (zconftext[zconfleng-1] != '\t'))
+				break;
+			zconfleng--;
+		}
+		append_string(zconftext, zconfleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	YY_BREAK
+case YY_STATE_EOF(HELP):
+{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(COMMAND):
+{
+	if (current_file) {
+		zconf_endfile();
+		return T_EOL;
+	}
+	fclose(zconfin);
+	yyterminate();
+}
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+YY_FATAL_ERROR( "flex scanner jammed" );
+	YY_BREAK
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed zconfin at a new source and called
+			 * zconflex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( zconfwrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * zconftext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of zconflex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), (size_t) num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			zconfrestart(zconfin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) zconfrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    
+	yy_current_state = yy_nxt[yy_current_state][1];
+	yy_is_jam = (yy_current_state <= 0);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up zconftext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register int number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		register char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					zconfrestart(zconfin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( zconfwrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve zconftext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void zconfrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        zconfensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            zconf_create_buffer(zconfin,YY_BUF_SIZE );
+	}
+
+	zconf_init_buffer(YY_CURRENT_BUFFER,input_file );
+	zconf_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void zconf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		zconfpop_buffer_state();
+	 *		zconfpush_buffer_state(new_buffer);
+     */
+	zconfensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	zconf_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (zconfwrap()) processing, but the only time this flag
+	 * is looked at is after zconfwrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void zconf_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE zconf_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	zconf_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with zconf_create_buffer()
+ * 
+ */
+    void zconf_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		zconffree((void *) b->yy_ch_buf  );
+
+	zconffree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a zconfrestart() or at EOF.
+ */
+    static void zconf_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	zconf_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then zconf_init_buffer was _probably_
+     * called from zconfrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void zconf_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		zconf_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	zconfensure_buffer_stack();
+
+	/* This block is copied from zconf_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from zconf_switch_to_buffer. */
+	zconf_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void zconfpop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	zconf_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		zconf_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void zconfensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	zconf_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to zconflex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       zconf_scan_bytes() instead.
+ */
+YY_BUFFER_STATE zconf_scan_string (yyconst char * yystr )
+{
+    
+	return zconf_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) zconfalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = zconf_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		zconftext[zconfleng] = (yy_hold_char); \
+		(yy_c_buf_p) = zconftext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		zconfleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int zconfget_lineno  (void)
+{
+        
+    return zconflineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *zconfget_in  (void)
+{
+        return zconfin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *zconfget_out  (void)
+{
+        return zconfout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int zconfget_leng  (void)
+{
+        return zconfleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *zconfget_text  (void)
+{
+        return zconftext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void zconfset_lineno (int  line_number )
+{
+    
+    zconflineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see zconf_switch_to_buffer
+ */
+void zconfset_in (FILE *  in_str )
+{
+        zconfin = in_str ;
+}
+
+void zconfset_out (FILE *  out_str )
+{
+        zconfout = out_str ;
+}
+
+int zconfget_debug  (void)
+{
+        return zconf_flex_debug;
+}
+
+void zconfset_debug (int  bdebug )
+{
+        zconf_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from zconflex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    zconfin = stdin;
+    zconfout = stdout;
+#else
+    zconfin = (FILE *) 0;
+    zconfout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * zconflex_init()
+     */
+    return 0;
+}
+
+/* zconflex_destroy is for both reentrant and non-reentrant scanners. */
+int zconflex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		zconf_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		zconfpop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	zconffree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * zconflex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *zconfalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *zconfrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void zconffree (void * ptr )
+{
+	free( (char *) ptr );	/* see zconfrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name != NULL && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = malloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+	current_file->flags = FILE_BUSY;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *file = file_lookup(name);
+	struct buffer *buf = malloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	if (file->flags & FILE_BUSY) {
+		printf("%s:%d: do not source '%s' from itself\n",
+		       zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	if (file->flags & FILE_SCANNED) {
+		printf("%s:%d: file '%s' is already sourced from '%s'\n",
+		       zconf_curname(), zconf_lineno(), name,
+		       file->parent->name);
+		exit(1);
+	}
+	file->flags |= FILE_BUSY;
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static void zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file->flags |= FILE_SCANNED;
+	current_file->flags &= ~FILE_BUSY;
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(zconfin);
+		zconf_delete_buffer(YY_CURRENT_BUFFER);
+		zconf_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+}
+
+int zconf_lineno(void)
+{
+	return current_pos.lineno;
+}
+
+char *zconf_curname(void)
+{
+	return current_pos.file ? current_pos.file->name : "<none>";
+}
+
diff --git a/ap/build/uClibc/extra/config/lkc.h b/ap/build/uClibc/extra/config/lkc.h
new file mode 100644
index 0000000..4a9af6f
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lkc.h
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#ifndef LKC_H
+#define LKC_H
+
+#include "expr.h"
+
+#ifndef KBUILD_NO_NLS
+# include <libintl.h>
+#else
+static inline const char *gettext(const char *txt) { return txt; }
+static inline void textdomain(const char *domainname) {}
+static inline void bindtextdomain(const char *name, const char *dir) {}
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LKC_DIRECT_LINK
+#define P(name,type,arg)	extern type name arg
+#else
+#include "lkc_defs.h"
+#define P(name,type,arg)	extern type (*name ## _p) arg
+#endif
+#include "lkc_proto.h"
+#undef P
+
+#define SRCTREE "srctree"
+
+#define PACKAGE "linux"
+#define LOCALEDIR "/usr/share/locale"
+
+#define _(text) gettext(text)
+#define N_(text) (text)
+
+
+#define TF_COMMAND	0x0001
+#define TF_PARAM	0x0002
+#define TF_OPTION	0x0004
+
+enum conf_def_mode {
+	def_default,
+	def_yes,
+	def_mod,
+	def_no,
+	def_random
+};
+
+#define T_OPT_MODULES		1
+#define T_OPT_DEFCONFIG_LIST	2
+#define T_OPT_ENV		3
+
+struct kconf_id {
+	int name;
+	int token;
+	unsigned int flags;
+	enum symbol_type stype;
+};
+
+int zconfparse(void);
+void zconfdump(FILE *out);
+
+extern int zconfdebug;
+void zconf_starthelp(void);
+FILE *zconf_fopen(const char *name);
+void zconf_initscan(const char *name);
+void zconf_nextfile(const char *name);
+int zconf_lineno(void);
+char *zconf_curname(void);
+
+/* confdata.c */
+const char *conf_get_configname(void);
+char *conf_get_default_confname(void);
+void sym_set_change_count(int count);
+void sym_add_change_count(int count);
+void conf_set_all_new_symbols(enum conf_def_mode mode);
+
+/* kconfig_load.c */
+void kconfig_load(void);
+
+/* menu.c */
+void menu_init(void);
+void menu_warn(struct menu *menu, const char *fmt, ...);
+struct menu *menu_add_menu(void);
+void menu_end_menu(void);
+void menu_add_entry(struct symbol *sym);
+void menu_end_entry(void);
+void menu_add_dep(struct expr *dep);
+struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
+struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
+void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
+void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
+void menu_add_option(int token, char *arg);
+void menu_finalize(struct menu *parent);
+void menu_set_type(int type);
+
+/* util.c */
+struct file *file_lookup(const char *name);
+int file_write_dep(const char *name);
+
+struct gstr {
+	size_t len;
+	char  *s;
+};
+struct gstr str_new(void);
+struct gstr str_assign(const char *s);
+void str_free(struct gstr *gs);
+void str_append(struct gstr *gs, const char *s);
+void str_printf(struct gstr *gs, const char *fmt, ...);
+const char *str_get(struct gstr *gs);
+
+/* symbol.c */
+extern struct expr *sym_env_list;
+
+void sym_init(void);
+void sym_clear_all_valid(void);
+void sym_set_all_changed(void);
+void sym_set_changed(struct symbol *sym);
+struct symbol *sym_check_deps(struct symbol *sym);
+struct property *prop_alloc(enum prop_type type, struct symbol *sym);
+struct symbol *prop_get_symbol(struct property *prop);
+struct property *sym_get_env_prop(struct symbol *sym);
+
+static inline tristate sym_get_tristate_value(struct symbol *sym)
+{
+	return sym->curr.tri;
+}
+
+
+static inline struct symbol *sym_get_choice_value(struct symbol *sym)
+{
+	return (struct symbol *)sym->curr.val;
+}
+
+static inline bool sym_set_choice_value(struct symbol *ch, struct symbol *chval)
+{
+	return sym_set_tristate_value(chval, yes);
+}
+
+static inline bool sym_is_choice(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_CHOICE ? true : false;
+}
+
+static inline bool sym_is_choice_value(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_CHOICEVAL ? true : false;
+}
+
+static inline bool sym_is_optional(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_OPTIONAL ? true : false;
+}
+
+static inline bool sym_has_value(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_DEF_USER ? true : false;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* LKC_H */
diff --git a/ap/build/uClibc/extra/config/lkc_proto.h b/ap/build/uClibc/extra/config/lkc_proto.h
new file mode 100644
index 0000000..8e69461
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lkc_proto.h
@@ -0,0 +1,45 @@
+
+/* confdata.c */
+P(conf_parse,void,(const char *name));
+P(conf_read,int,(const char *name));
+P(conf_read_simple,int,(const char *name, int));
+P(conf_write,int,(const char *name));
+P(conf_write_autoconf,int,(void));
+P(conf_get_changed,bool,(void));
+P(conf_set_changed_callback, void,(void (*fn)(void)));
+
+/* menu.c */
+P(rootmenu,struct menu,);
+
+P(menu_is_visible,bool,(struct menu *menu));
+P(menu_get_prompt,const char *,(struct menu *menu));
+P(menu_get_root_menu,struct menu *,(struct menu *menu));
+P(menu_get_parent_menu,struct menu *,(struct menu *menu));
+P(menu_has_help,bool,(struct menu *menu));
+P(menu_get_help,const char *,(struct menu *menu));
+
+/* symbol.c */
+P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
+
+P(sym_lookup,struct symbol *,(const char *name, int flags));
+P(sym_find,struct symbol *,(const char *name));
+P(sym_re_search,struct symbol **,(const char *pattern));
+P(sym_type_name,const char *,(enum symbol_type type));
+P(sym_calc_value,void,(struct symbol *sym));
+P(sym_get_type,enum symbol_type,(struct symbol *sym));
+P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
+P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
+P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
+P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
+P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
+P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
+P(sym_is_changable,bool,(struct symbol *sym));
+P(sym_get_choice_prop,struct property *,(struct symbol *sym));
+P(sym_get_default_prop,struct property *,(struct symbol *sym));
+P(sym_get_string_value,const char *,(struct symbol *sym));
+
+P(prop_get_type_name,const char *,(enum prop_type type));
+
+/* expr.c */
+P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
+P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));
diff --git a/ap/build/uClibc/extra/config/lxdialog/BIG.FAT.WARNING b/ap/build/uClibc/extra/config/lxdialog/BIG.FAT.WARNING
new file mode 100644
index 0000000..a8999d8
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/BIG.FAT.WARNING
@@ -0,0 +1,4 @@
+This is NOT the official version of dialog.  This version has been
+significantly modified from the original.  It is for use by the Linux
+kernel configuration script.  Please do not bother Savio Lam with 
+questions about this program.
diff --git a/ap/build/uClibc/extra/config/lxdialog/check-lxdialog.sh b/ap/build/uClibc/extra/config/lxdialog/check-lxdialog.sh
new file mode 100644
index 0000000..d34dfd4
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/check-lxdialog.sh
@@ -0,0 +1,86 @@
+#!/bin/sh
+# Check ncurses compatibility
+
+# What library to link
+ldflags()
+{
+	for ext in so a dylib ; do
+		for lib in ncursesw ncurses curses ; do
+			$cc -print-file-name=lib${lib}.${ext} | grep -q /
+			if [ $? -eq 0 ]; then
+				echo "-l${lib}"
+				exit
+			fi
+		done
+	done
+	exit 1
+}
+
+# Where is ncurses.h?
+ccflags()
+{
+	if [ -f /usr/include/ncursesw/ncurses.h ]; then
+		echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncurses.h>"'
+	elif [ -f /usr/include/ncursesw/curses.h ]; then
+		echo '-I/usr/include/ncursesw -DCURSES_LOC="<ncursesw/curses.h>"'
+	elif [ -f /usr/include/ncurses/ncurses.h ]; then
+		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
+	elif [ -f /usr/include/ncurses/curses.h ]; then
+		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses/curses.h>"'
+	elif [ -f /usr/include/ncurses.h ]; then
+		echo '-DCURSES_LOC="<ncurses.h>"'
+	else
+		echo '-DCURSES_LOC="<curses.h>"'
+	fi
+}
+
+# Temp file, try to clean up after us
+tmp=.lxdialog.tmp
+trap "rm -f $tmp" 0 1 2 3 15
+
+# Check if we can link to ncurses
+check() {
+        $cc -xc - -o $tmp 2>/dev/null <<'EOF'
+#include CURSES_LOC
+main() {}
+EOF
+	if [ $? != 0 ]; then
+	    echo " *** Unable to find the ncurses libraries or the"       1>&2
+	    echo " *** required header files."                            1>&2
+	    echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
+	    echo " *** "                                                  1>&2
+	    echo " *** Install ncurses (ncurses-devel) and try again."    1>&2
+	    echo " *** "                                                  1>&2
+	    exit 1
+	fi
+}
+
+usage() {
+	printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n"
+}
+
+if [ $# -eq 0 ]; then
+	usage
+	exit 1
+fi
+
+cc=""
+case "$1" in
+	"-check")
+		shift
+		cc="$@"
+		check
+		;;
+	"-ccflags")
+		ccflags
+		;;
+	"-ldflags")
+		shift
+		cc="$@"
+		ldflags
+		;;
+	"*")
+		usage
+		exit 1
+		;;
+esac
diff --git a/ap/build/uClibc/extra/config/lxdialog/checklist.c b/ap/build/uClibc/extra/config/lxdialog/checklist.c
new file mode 100644
index 0000000..b2a878c
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/checklist.c
@@ -0,0 +1,325 @@
+/*
+ *  checklist.c -- implements the checklist box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *     Stuart Herbert - S.Herbert@sheffield.ac.uk: radiolist extension
+ *     Alessandro Rubini - rubini@ipvvis.unipv.it: merged the two
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+static int list_width, check_x, item_x;
+
+/*
+ * Print list item
+ */
+static void print_item(WINDOW * win, int choice, int selected)
+{
+	int i;
+
+	/* Clear 'residue' of last item */
+	wattrset(win, dlg.menubox.atr);
+	wmove(win, choice, 0);
+	for (i = 0; i < list_width; i++)
+		waddch(win, ' ');
+
+	wmove(win, choice, check_x);
+	wattrset(win, selected ? dlg.check_selected.atr
+		 : dlg.check.atr);
+	wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
+
+	wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr);
+	mvwaddch(win, choice, item_x, item_str()[0]);
+	wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr);
+	waddstr(win, (char *)item_str() + 1);
+	if (selected) {
+		wmove(win, choice, check_x + 1);
+		wrefresh(win);
+	}
+}
+
+/*
+ * Print the scroll indicators.
+ */
+static void print_arrows(WINDOW * win, int choice, int item_no, int scroll,
+	     int y, int x, int height)
+{
+	wmove(win, y, x);
+
+	if (scroll > 0) {
+		wattrset(win, dlg.uarrow.atr);
+		waddch(win, ACS_UARROW);
+		waddstr(win, "(-)");
+	} else {
+		wattrset(win, dlg.menubox.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+
+	y = y + height + 1;
+	wmove(win, y, x);
+
+	if ((height < item_no) && (scroll + choice < item_no - 1)) {
+		wattrset(win, dlg.darrow.atr);
+		waddch(win, ACS_DARROW);
+		waddstr(win, "(+)");
+	} else {
+		wattrset(win, dlg.menubox_border.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+}
+
+/*
+ *  Display the termination buttons
+ */
+static void print_buttons(WINDOW * dialog, int height, int width, int selected)
+{
+	int x = width / 2 - 11;
+	int y = height - 2;
+
+	print_button(dialog, gettext("Select"), y, x, selected == 0);
+	print_button(dialog, gettext(" Help "), y, x + 14, selected == 1);
+
+	wmove(dialog, y, x + 1 + 14 * selected);
+	wrefresh(dialog);
+}
+
+/*
+ * Display a dialog box with a list of options that can be turned on or off
+ * in the style of radiolist (only one option turned on at a time).
+ */
+int dialog_checklist(const char *title, const char *prompt, int height,
+		     int width, int list_height)
+{
+	int i, x, y, box_x, box_y;
+	int key = 0, button = 0, choice = 0, scroll = 0, max_choice;
+	WINDOW *dialog, *list;
+
+	/* which item to highlight */
+	item_foreach() {
+		if (item_is_tag('X'))
+			choice = item_n();
+		if (item_is_selected()) {
+			choice = item_n();
+			break;
+		}
+	}
+
+do_resize:
+	if (getmaxy(stdscr) < (height + 6))
+		return -ERRDISPLAYTOOSMALL;
+	if (getmaxx(stdscr) < (width + 6))
+		return -ERRDISPLAYTOOSMALL;
+
+	max_choice = MIN(list_height, item_count());
+
+	/* center dialog box on screen */
+	x = (COLS - width) / 2;
+	y = (LINES - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	list_width = width - 6;
+	box_y = height - list_height - 5;
+	box_x = (width - list_width) / 2 - 1;
+
+	/* create new window for the list */
+	list = subwin(dialog, list_height, list_width, y + box_y + 1,
+	              x + box_x + 1);
+
+	keypad(list, TRUE);
+
+	/* draw a box around the list items */
+	draw_box(dialog, box_y, box_x, list_height + 2, list_width + 2,
+	         dlg.menubox_border.atr, dlg.menubox.atr);
+
+	/* Find length of longest item in order to center checklist */
+	check_x = 0;
+	item_foreach()
+		check_x = MAX(check_x, strlen(item_str()) + 4);
+
+	check_x = (list_width - check_x) / 2;
+	item_x = check_x + 4;
+
+	if (choice >= list_height) {
+		scroll = choice - list_height + 1;
+		choice -= scroll;
+	}
+
+	/* Print the list */
+	for (i = 0; i < max_choice; i++) {
+		item_set(scroll + i);
+		print_item(list, i, i == choice);
+	}
+
+	print_arrows(dialog, choice, item_count(), scroll,
+		     box_y, box_x + check_x + 5, list_height);
+
+	print_buttons(dialog, height, width, 0);
+
+	wnoutrefresh(dialog);
+	wnoutrefresh(list);
+	doupdate();
+
+	while (key != KEY_ESC) {
+		key = wgetch(dialog);
+
+		for (i = 0; i < max_choice; i++) {
+			item_set(i + scroll);
+			if (toupper(key) == toupper(item_str()[0]))
+				break;
+		}
+
+		if (i < max_choice || key == KEY_UP || key == KEY_DOWN ||
+		    key == '+' || key == '-') {
+			if (key == KEY_UP || key == '-') {
+				if (!choice) {
+					if (!scroll)
+						continue;
+					/* Scroll list down */
+					if (list_height > 1) {
+						/* De-highlight current first item */
+						item_set(scroll);
+						print_item(list, 0, FALSE);
+						scrollok(list, TRUE);
+						wscrl(list, -1);
+						scrollok(list, FALSE);
+					}
+					scroll--;
+					item_set(scroll);
+					print_item(list, 0, TRUE);
+					print_arrows(dialog, choice, item_count(),
+						     scroll, box_y, box_x + check_x + 5, list_height);
+
+					wnoutrefresh(dialog);
+					wrefresh(list);
+
+					continue;	/* wait for another key press */
+				} else
+					i = choice - 1;
+			} else if (key == KEY_DOWN || key == '+') {
+				if (choice == max_choice - 1) {
+					if (scroll + choice >= item_count() - 1)
+						continue;
+					/* Scroll list up */
+					if (list_height > 1) {
+						/* De-highlight current last item before scrolling up */
+						item_set(scroll + max_choice - 1);
+						print_item(list,
+							    max_choice - 1,
+							    FALSE);
+						scrollok(list, TRUE);
+						wscrl(list, 1);
+						scrollok(list, FALSE);
+					}
+					scroll++;
+					item_set(scroll + max_choice - 1);
+					print_item(list, max_choice - 1, TRUE);
+
+					print_arrows(dialog, choice, item_count(),
+						     scroll, box_y, box_x + check_x + 5, list_height);
+
+					wnoutrefresh(dialog);
+					wrefresh(list);
+
+					continue;	/* wait for another key press */
+				} else
+					i = choice + 1;
+			}
+			if (i != choice) {
+				/* De-highlight current item */
+				item_set(scroll + choice);
+				print_item(list, choice, FALSE);
+				/* Highlight new item */
+				choice = i;
+				item_set(scroll + choice);
+				print_item(list, choice, TRUE);
+				wnoutrefresh(dialog);
+				wrefresh(list);
+			}
+			continue;	/* wait for another key press */
+		}
+		switch (key) {
+		case 'H':
+		case 'h':
+		case '?':
+			button = 1;
+			/* fall-through */
+		case 'S':
+		case 's':
+		case ' ':
+		case '\n':
+			item_foreach()
+				item_set_selected(0);
+			item_set(scroll + choice);
+			item_set_selected(1);
+			delwin(list);
+			delwin(dialog);
+			return button;
+		case TAB:
+		case KEY_LEFT:
+		case KEY_RIGHT:
+			button = ((key == KEY_LEFT ? --button : ++button) < 0)
+			    ? 1 : (button > 1 ? 0 : button);
+
+			print_buttons(dialog, height, width, button);
+			wrefresh(dialog);
+			break;
+		case 'X':
+		case 'x':
+			key = KEY_ESC;
+			break;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			delwin(list);
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+
+		/* Now, update everything... */
+		doupdate();
+	}
+	delwin(list);
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
diff --git a/ap/build/uClibc/extra/config/lxdialog/dialog.h b/ap/build/uClibc/extra/config/lxdialog/dialog.h
new file mode 100644
index 0000000..b5211fc
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/dialog.h
@@ -0,0 +1,230 @@
+/*
+ *  dialog.h -- common declarations for all dialog modules
+ *
+ *  AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#ifndef KBUILD_NO_NLS
+# include <libintl.h>
+#else
+# define gettext(Msgid) ((const char *) (Msgid))
+#endif
+
+#ifdef __sun__
+#define CURS_MACROS
+#endif
+#include CURSES_LOC
+
+/*
+ * Colors in ncurses 1.9.9e do not work properly since foreground and
+ * background colors are OR'd rather than separately masked.  This version
+ * of dialog was hacked to work with ncurses 1.9.9e, making it incompatible
+ * with standard curses.  The simplest fix (to make this work with standard
+ * curses) uses the wbkgdset() function, not used in the original hack.
+ * Turn it off if we're building with 1.9.9e, since it just confuses things.
+ */
+#if defined(NCURSES_VERSION) && defined(_NEED_WRAP) && !defined(GCC_PRINTFLIKE)
+#define OLD_NCURSES 1
+#undef  wbkgdset
+#define wbkgdset(w,p)		/*nothing */
+#else
+#define OLD_NCURSES 0
+#endif
+
+#define TR(params) _tracef params
+
+#define KEY_ESC 27
+#define TAB 9
+#define MAX_LEN 2048
+#define BUF_SIZE (10*1024)
+#define MIN(x,y) (x < y ? x : y)
+#define MAX(x,y) (x > y ? x : y)
+
+#ifndef ACS_ULCORNER
+#define ACS_ULCORNER '+'
+#endif
+#ifndef ACS_LLCORNER
+#define ACS_LLCORNER '+'
+#endif
+#ifndef ACS_URCORNER
+#define ACS_URCORNER '+'
+#endif
+#ifndef ACS_LRCORNER
+#define ACS_LRCORNER '+'
+#endif
+#ifndef ACS_HLINE
+#define ACS_HLINE '-'
+#endif
+#ifndef ACS_VLINE
+#define ACS_VLINE '|'
+#endif
+#ifndef ACS_LTEE
+#define ACS_LTEE '+'
+#endif
+#ifndef ACS_RTEE
+#define ACS_RTEE '+'
+#endif
+#ifndef ACS_UARROW
+#define ACS_UARROW '^'
+#endif
+#ifndef ACS_DARROW
+#define ACS_DARROW 'v'
+#endif
+
+/* error return codes */
+#define ERRDISPLAYTOOSMALL (KEY_MAX + 1)
+
+/*
+ *   Color definitions
+ */
+struct dialog_color {
+	chtype atr;	/* Color attribute */
+	int fg;		/* foreground */
+	int bg;		/* background */
+	int hl;		/* highlight this item */
+};
+
+struct dialog_info {
+	const char *backtitle;
+	struct dialog_color screen;
+	struct dialog_color shadow;
+	struct dialog_color dialog;
+	struct dialog_color title;
+	struct dialog_color border;
+	struct dialog_color button_active;
+	struct dialog_color button_inactive;
+	struct dialog_color button_key_active;
+	struct dialog_color button_key_inactive;
+	struct dialog_color button_label_active;
+	struct dialog_color button_label_inactive;
+	struct dialog_color inputbox;
+	struct dialog_color inputbox_border;
+	struct dialog_color searchbox;
+	struct dialog_color searchbox_title;
+	struct dialog_color searchbox_border;
+	struct dialog_color position_indicator;
+	struct dialog_color menubox;
+	struct dialog_color menubox_border;
+	struct dialog_color item;
+	struct dialog_color item_selected;
+	struct dialog_color tag;
+	struct dialog_color tag_selected;
+	struct dialog_color tag_key;
+	struct dialog_color tag_key_selected;
+	struct dialog_color check;
+	struct dialog_color check_selected;
+	struct dialog_color uarrow;
+	struct dialog_color darrow;
+};
+
+/*
+ * Global variables
+ */
+extern struct dialog_info dlg;
+extern char dialog_input_result[];
+
+/*
+ * Function prototypes
+ */
+
+/* item list as used by checklist and menubox */
+void item_reset(void);
+void item_make(const char *fmt, ...);
+void item_add_str(const char *fmt, ...);
+void item_set_tag(char tag);
+void item_set_data(void *p);
+void item_set_selected(int val);
+int item_activate_selected(void);
+void *item_data(void);
+char item_tag(void);
+
+/* item list manipulation for lxdialog use */
+#define MAXITEMSTR 200
+struct dialog_item {
+	char str[MAXITEMSTR];	/* promtp displayed */
+	char tag;
+	void *data;	/* pointer to menu item - used by menubox+checklist */
+	int selected;	/* Set to 1 by dialog_*() function if selected. */
+};
+
+/* list of lialog_items */
+struct dialog_list {
+	struct dialog_item node;
+	struct dialog_list *next;
+};
+
+extern struct dialog_list *item_cur;
+extern struct dialog_list item_nil;
+extern struct dialog_list *item_head;
+
+int item_count(void);
+void item_set(int n);
+int item_n(void);
+const char *item_str(void);
+int item_is_selected(void);
+int item_is_tag(char tag);
+#define item_foreach() \
+	for (item_cur = item_head ? item_head: item_cur; \
+	     item_cur && (item_cur != &item_nil); item_cur = item_cur->next)
+
+/* generic key handlers */
+int on_key_esc(WINDOW *win);
+int on_key_resize(void);
+
+int init_dialog(const char *backtitle);
+void set_dialog_backtitle(const char *backtitle);
+void end_dialog(int x, int y);
+void attr_clear(WINDOW * win, int height, int width, chtype attr);
+void dialog_clear(void);
+void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x);
+void print_button(WINDOW * win, const char *label, int y, int x, int selected);
+void print_title(WINDOW *dialog, const char *title, int width);
+void draw_box(WINDOW * win, int y, int x, int height, int width, chtype box,
+	      chtype border);
+void draw_shadow(WINDOW * win, int y, int x, int height, int width);
+
+int first_alpha(const char *string, const char *exempt);
+int dialog_yesno(const char *title, const char *prompt, int height, int width);
+int dialog_msgbox(const char *title, const char *prompt, int height,
+		  int width, int pause);
+int dialog_textbox(const char *title, const char *file, int height, int width);
+int dialog_menu(const char *title, const char *prompt,
+		const void *selected, int *s_scroll);
+int dialog_checklist(const char *title, const char *prompt, int height,
+		     int width, int list_height);
+extern char dialog_input_result[];
+int dialog_inputbox(const char *title, const char *prompt, int height,
+		    int width, const char *init);
+
+/*
+ * This is the base for fictitious keys, which activate
+ * the buttons.
+ *
+ * Mouse-generated keys are the following:
+ *   -- the first 32 are used as numbers, in addition to '0'-'9'
+ *   -- the lowercase are used to signal mouse-enter events (M_EVENT + 'o')
+ *   -- uppercase chars are used to invoke the button (M_EVENT + 'O')
+ */
+#define M_EVENT (KEY_MAX+1)
diff --git a/ap/build/uClibc/extra/config/lxdialog/inputbox.c b/ap/build/uClibc/extra/config/lxdialog/inputbox.c
new file mode 100644
index 0000000..616c601
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/inputbox.c
@@ -0,0 +1,238 @@
+/*
+ *  inputbox.c -- implements the input box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+char dialog_input_result[MAX_LEN + 1];
+
+/*
+ *  Print the termination buttons
+ */
+static void print_buttons(WINDOW * dialog, int height, int width, int selected)
+{
+	int x = width / 2 - 11;
+	int y = height - 2;
+
+	print_button(dialog, gettext("  Ok  "), y, x, selected == 0);
+	print_button(dialog, gettext(" Help "), y, x + 14, selected == 1);
+
+	wmove(dialog, y, x + 1 + 14 * selected);
+	wrefresh(dialog);
+}
+
+/*
+ * Display a dialog box for inputing a string
+ */
+int dialog_inputbox(const char *title, const char *prompt, int height, int width,
+                    const char *init)
+{
+	int i, x, y, box_y, box_x, box_width;
+	int input_x = 0, scroll = 0, key = 0, button = -1;
+	char *instr = dialog_input_result;
+	WINDOW *dialog;
+
+	if (!init)
+		instr[0] = '\0';
+	else
+		strcpy(instr, init);
+
+do_resize:
+	if (getmaxy(stdscr) <= (height - 2))
+		return -ERRDISPLAYTOOSMALL;
+	if (getmaxx(stdscr) <= (width - 2))
+		return -ERRDISPLAYTOOSMALL;
+
+	/* center dialog box on screen */
+	x = (COLS - width) / 2;
+	y = (LINES - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	/* Draw the input field box */
+	box_width = width - 6;
+	getyx(dialog, y, x);
+	box_y = y + 2;
+	box_x = (width - box_width) / 2;
+	draw_box(dialog, y + 1, box_x - 1, 3, box_width + 2,
+		 dlg.dialog.atr, dlg.border.atr);
+
+	print_buttons(dialog, height, width, 0);
+
+	/* Set up the initial value */
+	wmove(dialog, box_y, box_x);
+	wattrset(dialog, dlg.inputbox.atr);
+
+	input_x = strlen(instr);
+
+	if (input_x >= box_width) {
+		scroll = input_x - box_width + 1;
+		input_x = box_width - 1;
+		for (i = 0; i < box_width - 1; i++)
+			waddch(dialog, instr[scroll + i]);
+	} else {
+		waddstr(dialog, instr);
+	}
+
+	wmove(dialog, box_y, box_x + input_x);
+
+	wrefresh(dialog);
+
+	while (key != KEY_ESC) {
+		key = wgetch(dialog);
+
+		if (button == -1) {	/* Input box selected */
+			switch (key) {
+			case TAB:
+			case KEY_UP:
+			case KEY_DOWN:
+				break;
+			case KEY_LEFT:
+				continue;
+			case KEY_RIGHT:
+				continue;
+			case KEY_BACKSPACE:
+			case 127:
+				if (input_x || scroll) {
+					wattrset(dialog, dlg.inputbox.atr);
+					if (!input_x) {
+						scroll = scroll < box_width - 1 ? 0 : scroll - (box_width - 1);
+						wmove(dialog, box_y, box_x);
+						for (i = 0; i < box_width; i++)
+							waddch(dialog,
+							       instr[scroll + input_x + i] ?
+							       instr[scroll + input_x + i] : ' ');
+						input_x = strlen(instr) - scroll;
+					} else
+						input_x--;
+					instr[scroll + input_x] = '\0';
+					mvwaddch(dialog, box_y, input_x + box_x, ' ');
+					wmove(dialog, box_y, input_x + box_x);
+					wrefresh(dialog);
+				}
+				continue;
+			default:
+				if (key < 0x100 && isprint(key)) {
+					if (scroll + input_x < MAX_LEN) {
+						wattrset(dialog, dlg.inputbox.atr);
+						instr[scroll + input_x] = key;
+						instr[scroll + input_x + 1] = '\0';
+						if (input_x == box_width - 1) {
+							scroll++;
+							wmove(dialog, box_y, box_x);
+							for (i = 0; i < box_width - 1; i++)
+								waddch(dialog, instr [scroll + i]);
+						} else {
+							wmove(dialog, box_y, input_x++ + box_x);
+							waddch(dialog, key);
+						}
+						wrefresh(dialog);
+					} else
+						flash();	/* Alarm user about overflow */
+					continue;
+				}
+			}
+		}
+		switch (key) {
+		case 'O':
+		case 'o':
+			delwin(dialog);
+			return 0;
+		case 'H':
+		case 'h':
+			delwin(dialog);
+			return 1;
+		case KEY_UP:
+		case KEY_LEFT:
+			switch (button) {
+			case -1:
+				button = 1;	/* Indicates "Cancel" button is selected */
+				print_buttons(dialog, height, width, 1);
+				break;
+			case 0:
+				button = -1;	/* Indicates input box is selected */
+				print_buttons(dialog, height, width, 0);
+				wmove(dialog, box_y, box_x + input_x);
+				wrefresh(dialog);
+				break;
+			case 1:
+				button = 0;	/* Indicates "OK" button is selected */
+				print_buttons(dialog, height, width, 0);
+				break;
+			}
+			break;
+		case TAB:
+		case KEY_DOWN:
+		case KEY_RIGHT:
+			switch (button) {
+			case -1:
+				button = 0;	/* Indicates "OK" button is selected */
+				print_buttons(dialog, height, width, 0);
+				break;
+			case 0:
+				button = 1;	/* Indicates "Cancel" button is selected */
+				print_buttons(dialog, height, width, 1);
+				break;
+			case 1:
+				button = -1;	/* Indicates input box is selected */
+				print_buttons(dialog, height, width, 0);
+				wmove(dialog, box_y, box_x + input_x);
+				wrefresh(dialog);
+				break;
+			}
+			break;
+		case ' ':
+		case '\n':
+			delwin(dialog);
+			return (button == -1 ? 0 : button);
+		case 'X':
+		case 'x':
+			key = KEY_ESC;
+			break;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+	}
+
+	delwin(dialog);
+	return KEY_ESC;		/* ESC pressed */
+}
diff --git a/ap/build/uClibc/extra/config/lxdialog/menubox.c b/ap/build/uClibc/extra/config/lxdialog/menubox.c
new file mode 100644
index 0000000..c689fc0
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/menubox.c
@@ -0,0 +1,434 @@
+/*
+ *  menubox.c -- implements the menu box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcapw@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*
+ *  Changes by Clifford Wolf (god@clifford.at)
+ *
+ *  [ 1998-06-13 ]
+ *
+ *    *)  A bugfix for the Page-Down problem
+ *
+ *    *)  Formerly when I used Page Down and Page Up, the cursor would be set
+ *        to the first position in the menu box.  Now lxdialog is a bit
+ *        smarter and works more like other menu systems (just have a look at
+ *        it).
+ *
+ *    *)  Formerly if I selected something my scrolling would be broken because
+ *        lxdialog is re-invoked by the Menuconfig shell script, can't
+ *        remember the last scrolling position, and just sets it so that the
+ *        cursor is at the bottom of the box.  Now it writes the temporary file
+ *        lxdialog.scrltmp which contains this information. The file is
+ *        deleted by lxdialog if the user leaves a submenu or enters a new
+ *        one, but it would be nice if Menuconfig could make another "rm -f"
+ *        just to be sure.  Just try it out - you will recognise a difference!
+ *
+ *  [ 1998-06-14 ]
+ *
+ *    *)  Now lxdialog is crash-safe against broken "lxdialog.scrltmp" files
+ *        and menus change their size on the fly.
+ *
+ *    *)  If for some reason the last scrolling position is not saved by
+ *        lxdialog, it sets the scrolling so that the selected item is in the
+ *        middle of the menu box, not at the bottom.
+ *
+ * 02 January 1999, Michael Elizabeth Chastain (mec@shout.net)
+ * Reset 'scroll' to 0 if the value from lxdialog.scrltmp is bogus.
+ * This fixes a bug in Menuconfig where using ' ' to descend into menus
+ * would leave mis-synchronized lxdialog.scrltmp files lying around,
+ * fscanf would read in 'scroll', and eventually that value would get used.
+ */
+
+#include "dialog.h"
+
+static int menu_width, item_x;
+
+/*
+ * Print menu item
+ */
+static void do_print_item(WINDOW * win, const char *item, int line_y,
+                          int selected, int hotkey)
+{
+	int j;
+	char *menu_item = malloc(menu_width + 1);
+
+	strncpy(menu_item, item, menu_width - item_x);
+	menu_item[menu_width - item_x] = '\0';
+	j = first_alpha(menu_item, "YyNnMmHh");
+
+	/* Clear 'residue' of last item */
+	wattrset(win, dlg.menubox.atr);
+	wmove(win, line_y, 0);
+#if OLD_NCURSES
+	{
+		int i;
+		for (i = 0; i < menu_width; i++)
+			waddch(win, ' ');
+	}
+#else
+	wclrtoeol(win);
+#endif
+	wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr);
+	mvwaddstr(win, line_y, item_x, menu_item);
+	if (hotkey) {
+		wattrset(win, selected ? dlg.tag_key_selected.atr
+			 : dlg.tag_key.atr);
+		mvwaddch(win, line_y, item_x + j, menu_item[j]);
+	}
+	if (selected) {
+		wmove(win, line_y, item_x + 1);
+	}
+	free(menu_item);
+	wrefresh(win);
+}
+
+#define print_item(index, choice, selected)				\
+do {									\
+	item_set(index);						\
+	do_print_item(menu, item_str(), choice, selected, !item_is_tag(':')); \
+} while (0)
+
+/*
+ * Print the scroll indicators.
+ */
+static void print_arrows(WINDOW * win, int item_no, int scroll, int y, int x,
+			 int height)
+{
+	int cur_y, cur_x;
+
+	getyx(win, cur_y, cur_x);
+
+	wmove(win, y, x);
+
+	if (scroll > 0) {
+		wattrset(win, dlg.uarrow.atr);
+		waddch(win, ACS_UARROW);
+		waddstr(win, "(-)");
+	} else {
+		wattrset(win, dlg.menubox.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+
+	y = y + height + 1;
+	wmove(win, y, x);
+	wrefresh(win);
+
+	if ((height < item_no) && (scroll + height < item_no)) {
+		wattrset(win, dlg.darrow.atr);
+		waddch(win, ACS_DARROW);
+		waddstr(win, "(+)");
+	} else {
+		wattrset(win, dlg.menubox_border.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+
+	wmove(win, cur_y, cur_x);
+	wrefresh(win);
+}
+
+/*
+ * Display the termination buttons.
+ */
+static void print_buttons(WINDOW * win, int height, int width, int selected)
+{
+	int x = width / 2 - 16;
+	int y = height - 2;
+
+	print_button(win, gettext("Select"), y, x, selected == 0);
+	print_button(win, gettext(" Exit "), y, x + 12, selected == 1);
+	print_button(win, gettext(" Help "), y, x + 24, selected == 2);
+
+	wmove(win, y, x + 1 + 12 * selected);
+	wrefresh(win);
+}
+
+/* scroll up n lines (n may be negative) */
+static void do_scroll(WINDOW *win, int *scroll, int n)
+{
+	/* Scroll menu up */
+	scrollok(win, TRUE);
+	wscrl(win, n);
+	scrollok(win, FALSE);
+	*scroll = *scroll + n;
+	wrefresh(win);
+}
+
+/*
+ * Display a menu for choosing among a number of options
+ */
+int dialog_menu(const char *title, const char *prompt,
+                const void *selected, int *s_scroll)
+{
+	int i, j, x, y, box_x, box_y;
+	int height, width, menu_height;
+	int key = 0, button = 0, scroll = 0, choice = 0;
+	int first_item =  0, max_choice;
+	WINDOW *dialog, *menu;
+
+do_resize:
+	height = getmaxy(stdscr);
+	width = getmaxx(stdscr);
+	if (height < 15 || width < 65)
+		return -ERRDISPLAYTOOSMALL;
+
+	height -= 4;
+	width  -= 5;
+	menu_height = height - 10;
+
+	max_choice = MIN(menu_height, item_count());
+
+	/* center dialog box on screen */
+	x = (COLS - width) / 2;
+	y = (LINES - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	wbkgdset(dialog, dlg.dialog.atr & A_COLOR);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	menu_width = width - 6;
+	box_y = height - menu_height - 5;
+	box_x = (width - menu_width) / 2 - 1;
+
+	/* create new window for the menu */
+	menu = subwin(dialog, menu_height, menu_width,
+		      y + box_y + 1, x + box_x + 1);
+	keypad(menu, TRUE);
+
+	/* draw a box around the menu items */
+	draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2,
+		 dlg.menubox_border.atr, dlg.menubox.atr);
+
+	if (menu_width >= 80)
+		item_x = (menu_width - 70) / 2;
+	else
+		item_x = 4;
+
+	/* Set choice to default item */
+	item_foreach()
+		if (selected && (selected == item_data()))
+			choice = item_n();
+	/* get the saved scroll info */
+	scroll = *s_scroll;
+	if ((scroll <= choice) && (scroll + max_choice > choice) &&
+	   (scroll >= 0) && (scroll + max_choice <= item_count())) {
+		first_item = scroll;
+		choice = choice - scroll;
+	} else {
+		scroll = 0;
+	}
+	if ((choice >= max_choice)) {
+		if (choice >= item_count() - max_choice / 2)
+			scroll = first_item = item_count() - max_choice;
+		else
+			scroll = first_item = choice - max_choice / 2;
+		choice = choice - scroll;
+	}
+
+	/* Print the menu */
+	for (i = 0; i < max_choice; i++) {
+		print_item(first_item + i, i, i == choice);
+	}
+
+	wnoutrefresh(menu);
+
+	print_arrows(dialog, item_count(), scroll,
+		     box_y, box_x + item_x + 1, menu_height);
+
+	print_buttons(dialog, height, width, 0);
+	wmove(menu, choice, item_x + 1);
+	wrefresh(menu);
+
+	while (key != KEY_ESC) {
+		key = wgetch(menu);
+
+		if (key < 256 && isalpha(key))
+			key = tolower(key);
+
+		if (strchr("ynmh", key))
+			i = max_choice;
+		else {
+			for (i = choice + 1; i < max_choice; i++) {
+				item_set(scroll + i);
+				j = first_alpha(item_str(), "YyNnMmHh");
+				if (key == tolower(item_str()[j]))
+					break;
+			}
+			if (i == max_choice)
+				for (i = 0; i < max_choice; i++) {
+					item_set(scroll + i);
+					j = first_alpha(item_str(), "YyNnMmHh");
+					if (key == tolower(item_str()[j]))
+						break;
+				}
+		}
+
+		if (i < max_choice ||
+		    key == KEY_UP || key == KEY_DOWN ||
+		    key == '-' || key == '+' ||
+		    key == KEY_PPAGE || key == KEY_NPAGE) {
+			/* Remove highligt of current item */
+			print_item(scroll + choice, choice, FALSE);
+
+			if (key == KEY_UP || key == '-') {
+				if (choice < 2 && scroll) {
+					/* Scroll menu down */
+					do_scroll(menu, &scroll, -1);
+
+					print_item(scroll, 0, FALSE);
+				} else
+					choice = MAX(choice - 1, 0);
+
+			} else if (key == KEY_DOWN || key == '+') {
+				print_item(scroll+choice, choice, FALSE);
+
+				if ((choice > max_choice - 3) &&
+				    (scroll + max_choice < item_count())) {
+					/* Scroll menu up */
+					do_scroll(menu, &scroll, 1);
+
+					print_item(scroll+max_choice - 1,
+						   max_choice - 1, FALSE);
+				} else
+					choice = MIN(choice + 1, max_choice - 1);
+
+			} else if (key == KEY_PPAGE) {
+				scrollok(menu, TRUE);
+				for (i = 0; (i < max_choice); i++) {
+					if (scroll > 0) {
+						do_scroll(menu, &scroll, -1);
+						print_item(scroll, 0, FALSE);
+					} else {
+						if (choice > 0)
+							choice--;
+					}
+				}
+
+			} else if (key == KEY_NPAGE) {
+				for (i = 0; (i < max_choice); i++) {
+					if (scroll + max_choice < item_count()) {
+						do_scroll(menu, &scroll, 1);
+						print_item(scroll+max_choice-1,
+							   max_choice - 1, FALSE);
+					} else {
+						if (choice + 1 < max_choice)
+							choice++;
+					}
+				}
+			} else
+				choice = i;
+
+			print_item(scroll + choice, choice, TRUE);
+
+			print_arrows(dialog, item_count(), scroll,
+				     box_y, box_x + item_x + 1, menu_height);
+
+			wnoutrefresh(dialog);
+			wrefresh(menu);
+
+			continue;	/* wait for another key press */
+		}
+
+		switch (key) {
+		case KEY_LEFT:
+		case TAB:
+		case KEY_RIGHT:
+			button = ((key == KEY_LEFT ? --button : ++button) < 0)
+			    ? 2 : (button > 2 ? 0 : button);
+
+			print_buttons(dialog, height, width, button);
+			wrefresh(menu);
+			break;
+		case ' ':
+		case 's':
+		case 'y':
+		case 'n':
+		case 'm':
+		case '/':
+			/* save scroll info */
+			*s_scroll = scroll;
+			delwin(menu);
+			delwin(dialog);
+			item_set(scroll + choice);
+			item_set_selected(1);
+			switch (key) {
+			case 's':
+				return 3;
+			case 'y':
+				return 3;
+			case 'n':
+				return 4;
+			case 'm':
+				return 5;
+			case ' ':
+				return 6;
+			case '/':
+				return 7;
+			}
+			return 0;
+		case 'h':
+		case '?':
+			button = 2;
+		case '\n':
+			*s_scroll = scroll;
+			delwin(menu);
+			delwin(dialog);
+			item_set(scroll + choice);
+			item_set_selected(1);
+			return button;
+		case 'e':
+		case 'x':
+			key = KEY_ESC;
+			break;
+		case KEY_ESC:
+			key = on_key_esc(menu);
+			break;
+		case KEY_RESIZE:
+			on_key_resize();
+			delwin(menu);
+			delwin(dialog);
+			goto do_resize;
+		}
+	}
+	delwin(menu);
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
diff --git a/ap/build/uClibc/extra/config/lxdialog/textbox.c b/ap/build/uClibc/extra/config/lxdialog/textbox.c
new file mode 100644
index 0000000..c704712
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/textbox.c
@@ -0,0 +1,391 @@
+/*
+ *  textbox.c -- implements the text box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+static void back_lines(int n);
+static void print_page(WINDOW * win, int height, int width);
+static void print_line(WINDOW * win, int row, int width);
+static char *get_line(void);
+static void print_position(WINDOW * win);
+
+static int hscroll;
+static int begin_reached, end_reached, page_length;
+static const char *buf;
+static const char *page;
+
+/*
+ * refresh window content
+ */
+static void refresh_text_box(WINDOW *dialog, WINDOW *box, int boxh, int boxw,
+							  int cur_y, int cur_x)
+{
+	print_page(box, boxh, boxw);
+	print_position(dialog);
+	wmove(dialog, cur_y, cur_x);	/* Restore cursor position */
+	wrefresh(dialog);
+}
+
+
+/*
+ * Display text from a file in a dialog box.
+ */
+int dialog_textbox(const char *title, const char *tbuf,
+		   int initial_height, int initial_width)
+{
+	int i, x, y, cur_x, cur_y, key = 0;
+	int height, width, boxh, boxw;
+	int passed_end;
+	WINDOW *dialog, *box;
+
+	begin_reached = 1;
+	end_reached = 0;
+	page_length = 0;
+	hscroll = 0;
+	buf = tbuf;
+	page = buf;	/* page is pointer to start of page to be displayed */
+
+do_resize:
+	getmaxyx(stdscr, height, width);
+	if (height < 8 || width < 8)
+		return -ERRDISPLAYTOOSMALL;
+	if (initial_height != 0)
+		height = initial_height;
+	else
+		if (height > 4)
+			height -= 4;
+		else
+			height = 0;
+	if (initial_width != 0)
+		width = initial_width;
+	else
+		if (width > 5)
+			width -= 5;
+		else
+			width = 0;
+
+	/* center dialog box on screen */
+	x = (COLS - width) / 2;
+	y = (LINES - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	/* Create window for box region, used for scrolling text */
+	boxh = height - 4;
+	boxw = width - 2;
+	box = subwin(dialog, boxh, boxw, y + 1, x + 1);
+	wattrset(box, dlg.dialog.atr);
+	wbkgdset(box, dlg.dialog.atr & A_COLOR);
+
+	keypad(box, TRUE);
+
+	/* register the new window, along with its borders */
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	wbkgdset(dialog, dlg.dialog.atr & A_COLOR);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	print_button(dialog, gettext(" Exit "), height - 2, width / 2 - 4, TRUE);
+	wnoutrefresh(dialog);
+	getyx(dialog, cur_y, cur_x);	/* Save cursor position */
+
+	/* Print first page of text */
+	attr_clear(box, boxh, boxw, dlg.dialog.atr);
+	refresh_text_box(dialog, box, boxh, boxw, cur_y, cur_x);
+
+	while ((key != KEY_ESC) && (key != '\n')) {
+		key = wgetch(dialog);
+		switch (key) {
+		case 'E':	/* Exit */
+		case 'e':
+		case 'X':
+		case 'x':
+			delwin(box);
+			delwin(dialog);
+			return 0;
+		case 'g':	/* First page */
+		case KEY_HOME:
+			if (!begin_reached) {
+				begin_reached = 1;
+				page = buf;
+				refresh_text_box(dialog, box, boxh, boxw,
+						 cur_y, cur_x);
+			}
+			break;
+		case 'G':	/* Last page */
+		case KEY_END:
+
+			end_reached = 1;
+			/* point to last char in buf */
+			page = buf + strlen(buf);
+			back_lines(boxh);
+			refresh_text_box(dialog, box, boxh, boxw,
+					 cur_y, cur_x);
+			break;
+		case 'K':	/* Previous line */
+		case 'k':
+		case KEY_UP:
+			if (!begin_reached) {
+				back_lines(page_length + 1);
+
+				/* We don't call print_page() here but use
+				 * scrolling to ensure faster screen update.
+				 * However, 'end_reached' and 'page_length'
+				 * should still be updated, and 'page' should
+				 * point to start of next page. This is done
+				 * by calling get_line() in the following
+				 * 'for' loop. */
+				scrollok(box, TRUE);
+				wscrl(box, -1);	/* Scroll box region down one line */
+				scrollok(box, FALSE);
+				page_length = 0;
+				passed_end = 0;
+				for (i = 0; i < boxh; i++) {
+					if (!i) {
+						/* print first line of page */
+						print_line(box, 0, boxw);
+						wnoutrefresh(box);
+					} else
+						/* Called to update 'end_reached' and 'page' */
+						get_line();
+					if (!passed_end)
+						page_length++;
+					if (end_reached && !passed_end)
+						passed_end = 1;
+				}
+
+				print_position(dialog);
+				wmove(dialog, cur_y, cur_x);	/* Restore cursor position */
+				wrefresh(dialog);
+			}
+			break;
+		case 'B':	/* Previous page */
+		case 'b':
+		case KEY_PPAGE:
+			if (begin_reached)
+				break;
+			back_lines(page_length + boxh);
+			refresh_text_box(dialog, box, boxh, boxw,
+					 cur_y, cur_x);
+			break;
+		case 'J':	/* Next line */
+		case 'j':
+		case KEY_DOWN:
+			if (!end_reached) {
+				begin_reached = 0;
+				scrollok(box, TRUE);
+				scroll(box);	/* Scroll box region up one line */
+				scrollok(box, FALSE);
+				print_line(box, boxh - 1, boxw);
+				wnoutrefresh(box);
+				print_position(dialog);
+				wmove(dialog, cur_y, cur_x);	/* Restore cursor position */
+				wrefresh(dialog);
+			}
+			break;
+		case KEY_NPAGE:	/* Next page */
+		case ' ':
+			if (end_reached)
+				break;
+
+			begin_reached = 0;
+			refresh_text_box(dialog, box, boxh, boxw,
+					 cur_y, cur_x);
+			break;
+		case '0':	/* Beginning of line */
+		case 'H':	/* Scroll left */
+		case 'h':
+		case KEY_LEFT:
+			if (hscroll <= 0)
+				break;
+
+			if (key == '0')
+				hscroll = 0;
+			else
+				hscroll--;
+			/* Reprint current page to scroll horizontally */
+			back_lines(page_length);
+			refresh_text_box(dialog, box, boxh, boxw,
+					 cur_y, cur_x);
+			break;
+		case 'L':	/* Scroll right */
+		case 'l':
+		case KEY_RIGHT:
+			if (hscroll >= MAX_LEN)
+				break;
+			hscroll++;
+			/* Reprint current page to scroll horizontally */
+			back_lines(page_length);
+			refresh_text_box(dialog, box, boxh, boxw,
+					 cur_y, cur_x);
+			break;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			back_lines(height);
+			delwin(box);
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+	}
+	delwin(box);
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
+
+/*
+ * Go back 'n' lines in text. Called by dialog_textbox().
+ * 'page' will be updated to point to the desired line in 'buf'.
+ */
+static void back_lines(int n)
+{
+	int i;
+
+	begin_reached = 0;
+	/* Go back 'n' lines */
+	for (i = 0; i < n; i++) {
+		if (*page == '\0') {
+			if (end_reached) {
+				end_reached = 0;
+				continue;
+			}
+		}
+		if (page == buf) {
+			begin_reached = 1;
+			return;
+		}
+		page--;
+		do {
+			if (page == buf) {
+				begin_reached = 1;
+				return;
+			}
+			page--;
+		} while (*page != '\n');
+		page++;
+	}
+}
+
+/*
+ * Print a new page of text. Called by dialog_textbox().
+ */
+static void print_page(WINDOW * win, int height, int width)
+{
+	int i, passed_end = 0;
+
+	page_length = 0;
+	for (i = 0; i < height; i++) {
+		print_line(win, i, width);
+		if (!passed_end)
+			page_length++;
+		if (end_reached && !passed_end)
+			passed_end = 1;
+	}
+	wnoutrefresh(win);
+}
+
+/*
+ * Print a new line of text. Called by dialog_textbox() and print_page().
+ */
+static void print_line(WINDOW * win, int row, int width)
+{
+	int y, x;
+	char *line;
+
+	line = get_line();
+	line += MIN(strlen(line), hscroll);	/* Scroll horizontally */
+	wmove(win, row, 0);	/* move cursor to correct line */
+	waddch(win, ' ');
+	waddnstr(win, line, MIN(strlen(line), width - 2));
+
+	getyx(win, y, x);
+	/* Clear 'residue' of previous line */
+#if OLD_NCURSES
+	{
+		int i;
+		for (i = 0; i < width - x; i++)
+			waddch(win, ' ');
+	}
+#else
+	wclrtoeol(win);
+#endif
+}
+
+/*
+ * Return current line of text. Called by dialog_textbox() and print_line().
+ * 'page' should point to start of current line before calling, and will be
+ * updated to point to start of next line.
+ */
+static char *get_line(void)
+{
+	int i = 0;
+	static char line[MAX_LEN + 1];
+
+	end_reached = 0;
+	while (*page != '\n') {
+		if (*page == '\0') {
+			if (!end_reached) {
+				end_reached = 1;
+				break;
+			}
+		} else if (i < MAX_LEN)
+			line[i++] = *(page++);
+		else {
+			/* Truncate lines longer than MAX_LEN characters */
+			if (i == MAX_LEN)
+				line[i++] = '\0';
+			page++;
+		}
+	}
+	if (i <= MAX_LEN)
+		line[i] = '\0';
+	if (!end_reached)
+		page++;		/* move pass '\n' */
+
+	return line;
+}
+
+/*
+ * Print current position
+ */
+static void print_position(WINDOW * win)
+{
+	int percent;
+
+	wattrset(win, dlg.position_indicator.atr);
+	wbkgdset(win, dlg.position_indicator.atr & A_COLOR);
+	percent = (page - buf) * 100 / strlen(buf);
+	wmove(win, getmaxy(win) - 3, getmaxx(win) - 9);
+	wprintw(win, "(%3d%%)", percent);
+}
diff --git a/ap/build/uClibc/extra/config/lxdialog/util.c b/ap/build/uClibc/extra/config/lxdialog/util.c
new file mode 100644
index 0000000..86d95cc
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/util.c
@@ -0,0 +1,655 @@
+/*
+ *  util.c
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+struct dialog_info dlg;
+
+static void set_mono_theme(void)
+{
+	dlg.screen.atr = A_NORMAL;
+	dlg.shadow.atr = A_NORMAL;
+	dlg.dialog.atr = A_NORMAL;
+	dlg.title.atr = A_BOLD;
+	dlg.border.atr = A_NORMAL;
+	dlg.button_active.atr = A_REVERSE;
+	dlg.button_inactive.atr = A_DIM;
+	dlg.button_key_active.atr = A_REVERSE;
+	dlg.button_key_inactive.atr = A_BOLD;
+	dlg.button_label_active.atr = A_REVERSE;
+	dlg.button_label_inactive.atr = A_NORMAL;
+	dlg.inputbox.atr = A_NORMAL;
+	dlg.inputbox_border.atr = A_NORMAL;
+	dlg.searchbox.atr = A_NORMAL;
+	dlg.searchbox_title.atr = A_BOLD;
+	dlg.searchbox_border.atr = A_NORMAL;
+	dlg.position_indicator.atr = A_BOLD;
+	dlg.menubox.atr = A_NORMAL;
+	dlg.menubox_border.atr = A_NORMAL;
+	dlg.item.atr = A_NORMAL;
+	dlg.item_selected.atr = A_REVERSE;
+	dlg.tag.atr = A_BOLD;
+	dlg.tag_selected.atr = A_REVERSE;
+	dlg.tag_key.atr = A_BOLD;
+	dlg.tag_key_selected.atr = A_REVERSE;
+	dlg.check.atr = A_BOLD;
+	dlg.check_selected.atr = A_REVERSE;
+	dlg.uarrow.atr = A_BOLD;
+	dlg.darrow.atr = A_BOLD;
+}
+
+#define DLG_COLOR(dialog, f, b, h) \
+do {                               \
+	dlg.dialog.fg = (f);       \
+	dlg.dialog.bg = (b);       \
+	dlg.dialog.hl = (h);       \
+} while (0)
+
+static void set_classic_theme(void)
+{
+	DLG_COLOR(screen,                COLOR_CYAN,   COLOR_BLUE,   true);
+	DLG_COLOR(shadow,                COLOR_BLACK,  COLOR_BLACK,  true);
+	DLG_COLOR(dialog,                COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(title,                 COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(border,                COLOR_WHITE,  COLOR_WHITE,  true);
+	DLG_COLOR(button_active,         COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(button_inactive,       COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(button_key_active,     COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(button_key_inactive,   COLOR_RED,    COLOR_WHITE,  false);
+	DLG_COLOR(button_label_active,   COLOR_YELLOW, COLOR_BLUE,   true);
+	DLG_COLOR(button_label_inactive, COLOR_BLACK,  COLOR_WHITE,  true);
+	DLG_COLOR(inputbox,              COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(inputbox_border,       COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(searchbox,             COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(searchbox_title,       COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(searchbox_border,      COLOR_WHITE,  COLOR_WHITE,  true);
+	DLG_COLOR(position_indicator,    COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(menubox,               COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(menubox_border,        COLOR_WHITE,  COLOR_WHITE,  true);
+	DLG_COLOR(item,                  COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(item_selected,         COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(tag,                   COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(tag_selected,          COLOR_YELLOW, COLOR_BLUE,   true);
+	DLG_COLOR(tag_key,               COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(tag_key_selected,      COLOR_YELLOW, COLOR_BLUE,   true);
+	DLG_COLOR(check,                 COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(check_selected,        COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(uarrow,                COLOR_GREEN,  COLOR_WHITE,  true);
+	DLG_COLOR(darrow,                COLOR_GREEN,  COLOR_WHITE,  true);
+}
+
+static void set_blackbg_theme(void)
+{
+	DLG_COLOR(screen, COLOR_RED,   COLOR_BLACK, true);
+	DLG_COLOR(shadow, COLOR_BLACK, COLOR_BLACK, false);
+	DLG_COLOR(dialog, COLOR_WHITE, COLOR_BLACK, false);
+	DLG_COLOR(title,  COLOR_RED,   COLOR_BLACK, false);
+	DLG_COLOR(border, COLOR_BLACK, COLOR_BLACK, true);
+
+	DLG_COLOR(button_active,         COLOR_YELLOW, COLOR_RED,   false);
+	DLG_COLOR(button_inactive,       COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(button_key_active,     COLOR_YELLOW, COLOR_RED,   true);
+	DLG_COLOR(button_key_inactive,   COLOR_RED,    COLOR_BLACK, false);
+	DLG_COLOR(button_label_active,   COLOR_WHITE,  COLOR_RED,   false);
+	DLG_COLOR(button_label_inactive, COLOR_BLACK,  COLOR_BLACK, true);
+
+	DLG_COLOR(inputbox,         COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(inputbox_border,  COLOR_YELLOW, COLOR_BLACK, false);
+
+	DLG_COLOR(searchbox,        COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(searchbox_title,  COLOR_YELLOW, COLOR_BLACK, true);
+	DLG_COLOR(searchbox_border, COLOR_BLACK,  COLOR_BLACK, true);
+
+	DLG_COLOR(position_indicator, COLOR_RED, COLOR_BLACK,  false);
+
+	DLG_COLOR(menubox,          COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(menubox_border,   COLOR_BLACK,  COLOR_BLACK, true);
+
+	DLG_COLOR(item,             COLOR_WHITE, COLOR_BLACK, false);
+	DLG_COLOR(item_selected,    COLOR_WHITE, COLOR_RED,   false);
+
+	DLG_COLOR(tag,              COLOR_RED,    COLOR_BLACK, false);
+	DLG_COLOR(tag_selected,     COLOR_YELLOW, COLOR_RED,   true);
+	DLG_COLOR(tag_key,          COLOR_RED,    COLOR_BLACK, false);
+	DLG_COLOR(tag_key_selected, COLOR_YELLOW, COLOR_RED,   true);
+
+	DLG_COLOR(check,            COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(check_selected,   COLOR_YELLOW, COLOR_RED,   true);
+
+	DLG_COLOR(uarrow, COLOR_RED, COLOR_BLACK, false);
+	DLG_COLOR(darrow, COLOR_RED, COLOR_BLACK, false);
+}
+
+static void set_bluetitle_theme(void)
+{
+	set_classic_theme();
+	DLG_COLOR(title,               COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(button_key_active,   COLOR_YELLOW, COLOR_BLUE,  true);
+	DLG_COLOR(button_label_active, COLOR_WHITE,  COLOR_BLUE,  true);
+	DLG_COLOR(searchbox_title,     COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(position_indicator,  COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(tag,                 COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(tag_key,             COLOR_BLUE,   COLOR_WHITE, true);
+
+}
+
+/*
+ * Select color theme
+ */
+static int set_theme(const char *theme)
+{
+	int use_color = 1;
+	if (!theme)
+		set_bluetitle_theme();
+	else if (strcmp(theme, "classic") == 0)
+		set_classic_theme();
+	else if (strcmp(theme, "bluetitle") == 0)
+		set_bluetitle_theme();
+	else if (strcmp(theme, "blackbg") == 0)
+		set_blackbg_theme();
+	else if (strcmp(theme, "mono") == 0)
+		use_color = 0;
+
+	return use_color;
+}
+
+static void init_one_color(struct dialog_color *color)
+{
+	static int pair = 0;
+
+	pair++;
+	init_pair(pair, color->fg, color->bg);
+	if (color->hl)
+		color->atr = A_BOLD | COLOR_PAIR(pair);
+	else
+		color->atr = COLOR_PAIR(pair);
+}
+
+static void init_dialog_colors(void)
+{
+	init_one_color(&dlg.screen);
+	init_one_color(&dlg.shadow);
+	init_one_color(&dlg.dialog);
+	init_one_color(&dlg.title);
+	init_one_color(&dlg.border);
+	init_one_color(&dlg.button_active);
+	init_one_color(&dlg.button_inactive);
+	init_one_color(&dlg.button_key_active);
+	init_one_color(&dlg.button_key_inactive);
+	init_one_color(&dlg.button_label_active);
+	init_one_color(&dlg.button_label_inactive);
+	init_one_color(&dlg.inputbox);
+	init_one_color(&dlg.inputbox_border);
+	init_one_color(&dlg.searchbox);
+	init_one_color(&dlg.searchbox_title);
+	init_one_color(&dlg.searchbox_border);
+	init_one_color(&dlg.position_indicator);
+	init_one_color(&dlg.menubox);
+	init_one_color(&dlg.menubox_border);
+	init_one_color(&dlg.item);
+	init_one_color(&dlg.item_selected);
+	init_one_color(&dlg.tag);
+	init_one_color(&dlg.tag_selected);
+	init_one_color(&dlg.tag_key);
+	init_one_color(&dlg.tag_key_selected);
+	init_one_color(&dlg.check);
+	init_one_color(&dlg.check_selected);
+	init_one_color(&dlg.uarrow);
+	init_one_color(&dlg.darrow);
+}
+
+/*
+ * Setup for color display
+ */
+static void color_setup(const char *theme)
+{
+	int use_color;
+
+	use_color = set_theme(theme);
+	if (use_color && has_colors()) {
+		start_color();
+		init_dialog_colors();
+	} else
+		set_mono_theme();
+}
+
+/*
+ * Set window to attribute 'attr'
+ */
+void attr_clear(WINDOW * win, int height, int width, chtype attr)
+{
+	int i, j;
+
+	wattrset(win, attr);
+	for (i = 0; i < height; i++) {
+		wmove(win, i, 0);
+		for (j = 0; j < width; j++)
+			waddch(win, ' ');
+	}
+	touchwin(win);
+}
+
+void dialog_clear(void)
+{
+	attr_clear(stdscr, LINES, COLS, dlg.screen.atr);
+	/* Display background title if it exists ... - SLH */
+	if (dlg.backtitle != NULL) {
+		int i;
+
+		wattrset(stdscr, dlg.screen.atr);
+		mvwaddstr(stdscr, 0, 1, (char *)dlg.backtitle);
+		wmove(stdscr, 1, 1);
+		for (i = 1; i < COLS - 1; i++)
+			waddch(stdscr, ACS_HLINE);
+	}
+	wnoutrefresh(stdscr);
+}
+
+/*
+ * Do some initialization for dialog
+ */
+int init_dialog(const char *backtitle)
+{
+	int height, width;
+
+	initscr();		/* Init curses */
+	getmaxyx(stdscr, height, width);
+	if (height < 19 || width < 80) {
+		endwin();
+		return -ERRDISPLAYTOOSMALL;
+	}
+
+	dlg.backtitle = backtitle;
+	color_setup(getenv("MENUCONFIG_COLOR"));
+
+	keypad(stdscr, TRUE);
+	cbreak();
+	noecho();
+	dialog_clear();
+
+	return 0;
+}
+
+void set_dialog_backtitle(const char *backtitle)
+{
+	dlg.backtitle = backtitle;
+}
+
+/*
+ * End using dialog functions.
+ */
+void end_dialog(int x, int y)
+{
+	/* move cursor back to original position */
+	move(y, x);
+	refresh();
+	endwin();
+}
+
+/* Print the title of the dialog. Center the title and truncate
+ * tile if wider than dialog (- 2 chars).
+ **/
+void print_title(WINDOW *dialog, const char *title, int width)
+{
+	if (title) {
+		int tlen = MIN(width - 2, strlen(title));
+		wattrset(dialog, dlg.title.atr);
+		mvwaddch(dialog, 0, (width - tlen) / 2 - 1, ' ');
+		mvwaddnstr(dialog, 0, (width - tlen)/2, title, tlen);
+		waddch(dialog, ' ');
+	}
+}
+
+/*
+ * Print a string of text in a window, automatically wrap around to the
+ * next line if the string is too long to fit on one line. Newline
+ * characters '\n' are replaced by spaces.  We start on a new line
+ * if there is no room for at least 4 nonblanks following a double-space.
+ */
+void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x)
+{
+	int newl, cur_x, cur_y;
+	int i, prompt_len, room, wlen;
+	char tempstr[MAX_LEN + 1], *word, *sp, *sp2;
+
+	strcpy(tempstr, prompt);
+
+	prompt_len = strlen(tempstr);
+
+	/*
+	 * Remove newlines
+	 */
+	for (i = 0; i < prompt_len; i++) {
+		if (tempstr[i] == '\n')
+			tempstr[i] = ' ';
+	}
+
+	if (prompt_len <= width - x * 2) {	/* If prompt is short */
+		wmove(win, y, (width - prompt_len) / 2);
+		waddstr(win, tempstr);
+	} else {
+		cur_x = x;
+		cur_y = y;
+		newl = 1;
+		word = tempstr;
+		while (word && *word) {
+			sp = strchr(word, ' ');
+			if (sp)
+				*sp++ = 0;
+
+			/* Wrap to next line if either the word does not fit,
+			   or it is the first word of a new sentence, and it is
+			   short, and the next word does not fit. */
+			room = width - cur_x;
+			wlen = strlen(word);
+			if (wlen > room ||
+			    (newl && wlen < 4 && sp
+			     && wlen + 1 + strlen(sp) > room
+			     && (!(sp2 = strchr(sp, ' '))
+				 || wlen + 1 + (sp2 - sp) > room))) {
+				cur_y++;
+				cur_x = x;
+			}
+			wmove(win, cur_y, cur_x);
+			waddstr(win, word);
+			getyx(win, cur_y, cur_x);
+			cur_x++;
+			if (sp && *sp == ' ') {
+				cur_x++;	/* double space */
+				while (*++sp == ' ') ;
+				newl = 1;
+			} else
+				newl = 0;
+			word = sp;
+		}
+	}
+}
+
+/*
+ * Print a button
+ */
+void print_button(WINDOW * win, const char *label, int y, int x, int selected)
+{
+	int i, temp;
+
+	wmove(win, y, x);
+	wattrset(win, selected ? dlg.button_active.atr
+		 : dlg.button_inactive.atr);
+	waddstr(win, "<");
+	temp = strspn(label, " ");
+	label += temp;
+	wattrset(win, selected ? dlg.button_label_active.atr
+		 : dlg.button_label_inactive.atr);
+	for (i = 0; i < temp; i++)
+		waddch(win, ' ');
+	wattrset(win, selected ? dlg.button_key_active.atr
+		 : dlg.button_key_inactive.atr);
+	waddch(win, label[0]);
+	wattrset(win, selected ? dlg.button_label_active.atr
+		 : dlg.button_label_inactive.atr);
+	waddstr(win, (char *)label + 1);
+	wattrset(win, selected ? dlg.button_active.atr
+		 : dlg.button_inactive.atr);
+	waddstr(win, ">");
+	wmove(win, y, x + temp + 1);
+}
+
+/*
+ * Draw a rectangular box with line drawing characters
+ */
+void
+draw_box(WINDOW * win, int y, int x, int height, int width,
+	 chtype box, chtype border)
+{
+	int i, j;
+
+	wattrset(win, 0);
+	for (i = 0; i < height; i++) {
+		wmove(win, y + i, x);
+		for (j = 0; j < width; j++)
+			if (!i && !j)
+				waddch(win, border | ACS_ULCORNER);
+			else if (i == height - 1 && !j)
+				waddch(win, border | ACS_LLCORNER);
+			else if (!i && j == width - 1)
+				waddch(win, box | ACS_URCORNER);
+			else if (i == height - 1 && j == width - 1)
+				waddch(win, box | ACS_LRCORNER);
+			else if (!i)
+				waddch(win, border | ACS_HLINE);
+			else if (i == height - 1)
+				waddch(win, box | ACS_HLINE);
+			else if (!j)
+				waddch(win, border | ACS_VLINE);
+			else if (j == width - 1)
+				waddch(win, box | ACS_VLINE);
+			else
+				waddch(win, box | ' ');
+	}
+}
+
+/*
+ * Draw shadows along the right and bottom edge to give a more 3D look
+ * to the boxes
+ */
+void draw_shadow(WINDOW * win, int y, int x, int height, int width)
+{
+	int i;
+
+	if (has_colors()) {	/* Whether terminal supports color? */
+		wattrset(win, dlg.shadow.atr);
+		wmove(win, y + height, x + 2);
+		for (i = 0; i < width; i++)
+			waddch(win, winch(win) & A_CHARTEXT);
+		for (i = y + 1; i < y + height + 1; i++) {
+			wmove(win, i, x + width);
+			waddch(win, winch(win) & A_CHARTEXT);
+			waddch(win, winch(win) & A_CHARTEXT);
+		}
+		wnoutrefresh(win);
+	}
+}
+
+/*
+ *  Return the position of the first alphabetic character in a string.
+ */
+int first_alpha(const char *string, const char *exempt)
+{
+	int i, in_paren = 0, c;
+
+	for (i = 0; i < strlen(string); i++) {
+		c = tolower(string[i]);
+
+		if (strchr("<[(", c))
+			++in_paren;
+		if (strchr(">])", c) && in_paren > 0)
+			--in_paren;
+
+		if ((!in_paren) && isalpha(c) && strchr(exempt, c) == 0)
+			return i;
+	}
+
+	return 0;
+}
+
+/*
+ * ncurses uses ESC to detect escaped char sequences. This resutl in
+ * a small timeout before ESC is actually delivered to the application.
+ * lxdialog suggest <ESC> <ESC> which is correctly translated to two
+ * times esc. But then we need to ignore the second esc to avoid stepping
+ * out one menu too much. Filter away all escaped key sequences since
+ * keypad(FALSE) turn off ncurses support for escape sequences - and thats
+ * needed to make notimeout() do as expected.
+ */
+int on_key_esc(WINDOW *win)
+{
+	int key;
+	int key2;
+	int key3;
+
+	nodelay(win, TRUE);
+	keypad(win, FALSE);
+	key = wgetch(win);
+	key2 = wgetch(win);
+	do {
+		key3 = wgetch(win);
+	} while (key3 != ERR);
+	nodelay(win, FALSE);
+	keypad(win, TRUE);
+	if (key == KEY_ESC && key2 == ERR)
+		return KEY_ESC;
+	else if (key != ERR && key != KEY_ESC && key2 == ERR)
+		ungetch(key);
+
+	return -1;
+}
+
+/* redraw screen in new size */
+int on_key_resize(void)
+{
+	dialog_clear();
+	return KEY_RESIZE;
+}
+
+struct dialog_list *item_cur;
+struct dialog_list item_nil;
+struct dialog_list *item_head;
+
+void item_reset(void)
+{
+	struct dialog_list *p, *next;
+
+	for (p = item_head; p; p = next) {
+		next = p->next;
+		free(p);
+	}
+	item_head = NULL;
+	item_cur = &item_nil;
+}
+
+void item_make(const char *fmt, ...)
+{
+	va_list ap;
+	struct dialog_list *p = malloc(sizeof(*p));
+
+	if (item_head)
+		item_cur->next = p;
+	else
+		item_head = p;
+	item_cur = p;
+	memset(p, 0, sizeof(*p));
+
+	va_start(ap, fmt);
+	vsnprintf(item_cur->node.str, sizeof(item_cur->node.str), fmt, ap);
+	va_end(ap);
+}
+
+void item_add_str(const char *fmt, ...)
+{
+	va_list ap;
+        size_t avail;
+
+	avail = sizeof(item_cur->node.str) - strlen(item_cur->node.str);
+
+	va_start(ap, fmt);
+	vsnprintf(item_cur->node.str + strlen(item_cur->node.str),
+		  avail, fmt, ap);
+	item_cur->node.str[sizeof(item_cur->node.str) - 1] = '\0';
+	va_end(ap);
+}
+
+void item_set_tag(char tag)
+{
+	item_cur->node.tag = tag;
+}
+void item_set_data(void *ptr)
+{
+	item_cur->node.data = ptr;
+}
+
+void item_set_selected(int val)
+{
+	item_cur->node.selected = val;
+}
+
+int item_activate_selected(void)
+{
+	item_foreach()
+		if (item_is_selected())
+			return 1;
+	return 0;
+}
+
+void *item_data(void)
+{
+	return item_cur->node.data;
+}
+
+char item_tag(void)
+{
+	return item_cur->node.tag;
+}
+
+int item_count(void)
+{
+	int n = 0;
+	struct dialog_list *p;
+
+	for (p = item_head; p; p = p->next)
+		n++;
+	return n;
+}
+
+void item_set(int n)
+{
+	int i = 0;
+	item_foreach()
+		if (i++ == n)
+			return;
+}
+
+int item_n(void)
+{
+	int n = 0;
+	struct dialog_list *p;
+
+	for (p = item_head; p; p = p->next) {
+		if (p == item_cur)
+			return n;
+		n++;
+	}
+	return 0;
+}
+
+const char *item_str(void)
+{
+	return item_cur->node.str;
+}
+
+int item_is_selected(void)
+{
+	return (item_cur->node.selected != 0);
+}
+
+int item_is_tag(char tag)
+{
+	return (item_cur->node.tag == tag);
+}
diff --git a/ap/build/uClibc/extra/config/lxdialog/yesno.c b/ap/build/uClibc/extra/config/lxdialog/yesno.c
new file mode 100644
index 0000000..4e6e809
--- /dev/null
+++ b/ap/build/uClibc/extra/config/lxdialog/yesno.c
@@ -0,0 +1,114 @@
+/*
+ *  yesno.c -- implements the yes/no box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+/*
+ * Display termination buttons
+ */
+static void print_buttons(WINDOW * dialog, int height, int width, int selected)
+{
+	int x = width / 2 - 10;
+	int y = height - 2;
+
+	print_button(dialog, gettext(" Yes "), y, x, selected == 0);
+	print_button(dialog, gettext("  No  "), y, x + 13, selected == 1);
+
+	wmove(dialog, y, x + 1 + 13 * selected);
+	wrefresh(dialog);
+}
+
+/*
+ * Display a dialog box with two buttons - Yes and No
+ */
+int dialog_yesno(const char *title, const char *prompt, int height, int width)
+{
+	int i, x, y, key = 0, button = 0;
+	WINDOW *dialog;
+
+do_resize:
+	if (getmaxy(stdscr) < (height + 4))
+		return -ERRDISPLAYTOOSMALL;
+	if (getmaxx(stdscr) < (width + 4))
+		return -ERRDISPLAYTOOSMALL;
+
+	/* center dialog box on screen */
+	x = (COLS - width) / 2;
+	y = (LINES - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	print_buttons(dialog, height, width, 0);
+
+	while (key != KEY_ESC) {
+		key = wgetch(dialog);
+		switch (key) {
+		case 'Y':
+		case 'y':
+			delwin(dialog);
+			return 0;
+		case 'N':
+		case 'n':
+			delwin(dialog);
+			return 1;
+
+		case TAB:
+		case KEY_LEFT:
+		case KEY_RIGHT:
+			button = ((key == KEY_LEFT ? --button : ++button) < 0) ? 1 : (button > 1 ? 0 : button);
+
+			print_buttons(dialog, height, width, button);
+			wrefresh(dialog);
+			break;
+		case ' ':
+		case '\n':
+			delwin(dialog);
+			return button;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+	}
+
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
diff --git a/ap/build/uClibc/extra/config/mconf b/ap/build/uClibc/extra/config/mconf
new file mode 100755
index 0000000..db0a163
--- /dev/null
+++ b/ap/build/uClibc/extra/config/mconf
Binary files differ
diff --git a/ap/build/uClibc/extra/config/mconf.c b/ap/build/uClibc/extra/config/mconf.c
new file mode 100644
index 0000000..18583bd
--- /dev/null
+++ b/ap/build/uClibc/extra/config/mconf.c
@@ -0,0 +1,930 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ * Introduced single menu mode (show all sub-menus in one large tree).
+ * 2002-11-06 Petr Baudis <pasky@ucw.cz>
+ *
+ * i18n, 2005, Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ */
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <locale.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+#include "lxdialog/dialog.h"
+
+static const char mconf_readme[] = N_(
+"Overview\n"
+"--------\n"
+"Some features may be built directly into uClibc.  Some features\n"
+"may be completely removed altogether.  There are also certain\n"
+"parameters which are not really features, but must be\n"
+"entered in as decimal or hexadecimal numbers or possibly text.\n"
+"\n"
+"Menu items beginning with following braces represent features that\n"
+"  [ ] can be built in or removed\n"
+"  < > can be built in, modularized or removed\n"
+"  { } can be built in or modularized (selected by other feature)\n"
+"  - - are selected by other feature,\n"
+"while *, M or whitespace inside braces means to build in, build as\n"
+"a module or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the cursor\n"
+"keys and press <Y> to build it in, <M> to make it a module or\n"
+"<N> to removed it.  You may also press the <Space Bar> to cycle\n"
+"through the available options (ie. Y->N->M->Y).\n"
+"\n"
+"Some additional keyboard hints:\n"
+"\n"
+"Menus\n"
+"----------\n"
+"o  Use the Up/Down arrow keys (cursor keys) to highlight the item\n"
+"   you wish to change or submenu wish to select and press <Enter>.\n"
+"   Submenus are designated by \"--->\".\n"
+"\n"
+"   Shortcut: Press the option's highlighted letter (hotkey).\n"
+"             Pressing a hotkey more than once will sequence\n"
+"             through all visible items which use that hotkey.\n"
+"\n"
+"   You may also use the <PAGE UP> and <PAGE DOWN> keys to scroll\n"
+"   unseen options into view.\n"
+"\n"
+"o  To exit a menu use the cursor keys to highlight the <Exit> button\n"
+"   and press <ENTER>.\n"
+"\n"
+"   Shortcut: Press <ESC><ESC> or <E> or <X> if there is no hotkey\n"
+"             using those letters.  You may press a single <ESC>, but\n"
+"             there is a delayed response which you may find annoying.\n"
+"\n"
+"   Also, the <TAB> and cursor keys will cycle between <Select>,\n"
+"   <Exit> and <Help>\n"
+"\n"
+"o  To get help with an item, use the cursor keys to highlight <Help>\n"
+"   and Press <ENTER>.\n"
+"\n"
+"   Shortcut: Press <H> or <?>.\n"
+"\n"
+"\n"
+"Radiolists  (Choice lists)\n"
+"-----------\n"
+"o  Use the cursor keys to select the option you wish to set and press\n"
+"   <S> or the <SPACE BAR>.\n"
+"\n"
+"   Shortcut: Press the first letter of the option you wish to set then\n"
+"             press <S> or <SPACE BAR>.\n"
+"\n"
+"o  To see available help for the item, use the cursor keys to highlight\n"
+"   <Help> and Press <ENTER>.\n"
+"\n"
+"   Shortcut: Press <H> or <?>.\n"
+"\n"
+"   Also, the <TAB> and cursor keys will cycle between <Select> and\n"
+"   <Help>\n"
+"\n"
+"\n"
+"Data Entry\n"
+"-----------\n"
+"o  Enter the requested information and press <ENTER>\n"
+"   If you are entering hexadecimal values, it is not necessary to\n"
+"   add the '0x' prefix to the entry.\n"
+"\n"
+"o  For help, use the <TAB> or cursor keys to highlight the help option\n"
+"   and press <ENTER>.  You can try <TAB><H> as well.\n"
+"\n"
+"\n"
+"Text Box    (Help Window)\n"
+"--------\n"
+"o  Use the cursor keys to scroll up/down/left/right.  The VI editor\n"
+"   keys h,j,k,l function here as do <SPACE BAR> and <B> for those\n"
+"   who are familiar with less and lynx.\n"
+"\n"
+"o  Press <E>, <X>, <Enter> or <Esc><Esc> to exit.\n"
+"\n"
+"\n"
+"Alternate Configuration Files\n"
+"-----------------------------\n"
+"Menuconfig supports the use of alternate configuration files for\n"
+"those who, for various reasons, find it necessary to switch\n"
+"between different configurations.\n"
+"\n"
+"At the end of the main menu you will find two options.  One is\n"
+"for saving the current configuration to a file of your choosing.\n"
+"The other option is for loading a previously saved alternate\n"
+"configuration.\n"
+"\n"
+"Even if you don't use alternate configuration files, but you\n"
+"find during a Menuconfig session that you have completely messed\n"
+"up your settings, you may use the \"Load Alternate...\" option to\n"
+"restore your previously saved settings from \".config\" without\n"
+"restarting Menuconfig.\n"
+"\n"
+"Other information\n"
+"-----------------\n"
+"If you use Menuconfig in an XTERM window make sure you have your\n"
+"$TERM variable set to point to a xterm definition which supports color.\n"
+"Otherwise, Menuconfig will look rather bad.  Menuconfig will not\n"
+"display correctly in a RXVT window because rxvt displays only one\n"
+"intensity of color, bright.\n"
+"\n"
+"Menuconfig will display larger menus on screens or xterms which are\n"
+"set to display more than the standard 25 row by 80 column geometry.\n"
+"In order for this to work, the \"stty size\" command must be able to\n"
+"display the screen's current row and column geometry.  I STRONGLY\n"
+"RECOMMEND that you make sure you do NOT have the shell variables\n"
+"LINES and COLUMNS exported into your environment.  Some distributions\n"
+"export those variables via /etc/profile.  Some ncurses programs can\n"
+"become confused when those variables (LINES & COLUMNS) don't reflect\n"
+"the true screen size.\n"
+"\n"
+"Optional personality available\n"
+"------------------------------\n"
+"If you prefer to have all of the options listed in a single\n"
+"menu, rather than the default multimenu hierarchy, run the menuconfig\n"
+"with MENUCONFIG_MODE environment variable set to single_menu. Example:\n"
+"\n"
+"make MENUCONFIG_MODE=single_menu menuconfig\n"
+"\n"
+"<Enter> will then unroll the appropriate category, or enfold it if it\n"
+"is already unrolled.\n"
+"\n"
+"Note that this mode can eventually be a little more CPU expensive\n"
+"(especially with a larger number of unrolled categories) than the\n"
+"default mode.\n"
+"\n"
+"Different color themes available\n"
+"--------------------------------\n"
+"It is possible to select different color themes using the variable\n"
+"MENUCONFIG_COLOR. To select a theme use:\n"
+"\n"
+"make MENUCONFIG_COLOR=<theme> menuconfig\n"
+"\n"
+"Available themes are\n"
+" mono       => selects colors suitable for monochrome displays\n"
+" blackbg    => selects a color scheme with black background\n"
+" classic    => theme with blue background. The classic look\n"
+" bluetitle  => a LCD friendly version of classic. (default)\n"
+"\n"),
+menu_instructions[] = N_(
+	"Arrow keys navigate the menu.  "
+	"<Enter> selects submenus --->.  "
+	"Highlighted letters are hotkeys.  "
+	"Pressing <Y> selectes a feature, while <N> will exclude a feature.  "
+	"Press <Esc><Esc> to exit, <?> for Help, </> for Search.  "
+	"Legend: [*] feature is selected  [ ] feature is excluded"),
+radiolist_instructions[] = N_(
+	"Use the arrow keys to navigate this window or "
+	"press the hotkey of the item you wish to select "
+	"followed by the <SPACE BAR>. "
+	"Press <?> for additional information about this option."),
+inputbox_instructions_int[] = N_(
+	"Please enter a decimal value. "
+	"Fractions will not be accepted.  "
+	"Use the <TAB> key to move from the input field to the buttons below it."),
+inputbox_instructions_hex[] = N_(
+	"Please enter a hexadecimal value. "
+	"Use the <TAB> key to move from the input field to the buttons below it."),
+inputbox_instructions_string[] = N_(
+	"Please enter a string value. "
+	"Use the <TAB> key to move from the input field to the buttons below it."),
+setmod_text[] = N_(
+	"This feature depends on another which has been configured as a module.\n"
+	"As a result, this feature will be built as a module."),
+nohelp_text[] = N_(
+	"There is no help available for this option.\n"),
+load_config_text[] = N_(
+	"Enter the name of the configuration file you wish to load.  "
+	"Accept the name shown to restore the configuration you "
+	"last retrieved.  Leave blank to abort."),
+load_config_help[] = N_(
+	"\n"
+	"For various reasons, one may wish to keep several different\n"
+	"configurations available on a single machine.\n"
+	"\n"
+	"If you have saved a previous configuration in a file other than the\n"
+	"default, entering the name of the file here will allow you\n"
+	"to modify that configuration.\n"
+	"\n"
+	"If you are uncertain, then you have probably never used alternate\n"
+	"configuration files.  You should therefor leave this blank to abort.\n"),
+save_config_text[] = N_(
+	"Enter a filename to which this configuration should be saved "
+	"as an alternate.  Leave blank to abort."),
+save_config_help[] = N_(
+	"\n"
+	"For various reasons, one may wish to keep different\n"
+	"configurations available on a single machine.\n"
+	"\n"
+	"Entering a file name here will allow you to later retrieve, modify\n"
+	"and use the current configuration as an alternate to whatever\n"
+	"configuration options you have selected at that time.\n"
+	"\n"
+	"If you are uncertain what all this means then you should probably\n"
+	"leave this blank.\n"),
+search_help[] = N_(
+	"\n"
+	"Search for CONFIG_ symbols and display their relations.\n"
+	"Regular expressions are allowed.\n"
+	"Example: search for \"^FOO\"\n"
+	"Result:\n"
+	"-----------------------------------------------------------------\n"
+	"Symbol: FOO [=m]\n"
+	"Prompt: Foo bus is used to drive the bar HW\n"
+	"Defined at drivers/pci/Kconfig:47\n"
+	"Depends on: X86_LOCAL_APIC && X86_IO_APIC || IA64\n"
+	"Location:\n"
+	"  -> Bus options (PCI, PCMCIA, EISA, MCA, ISA)\n"
+	"    -> PCI support (PCI [=y])\n"
+	"      -> PCI access mode (<choice> [=y])\n"
+	"Selects: LIBCRC32\n"
+	"Selected by: BAR\n"
+	"-----------------------------------------------------------------\n"
+	"o The line 'Prompt:' shows the text used in the menu structure for\n"
+	"  this CONFIG_ symbol\n"
+	"o The 'Defined at' line tell at what file / line number the symbol\n"
+	"  is defined\n"
+	"o The 'Depends on:' line tell what symbols needs to be defined for\n"
+	"  this symbol to be visible in the menu (selectable)\n"
+	"o The 'Location:' lines tell where in the menu structure this symbol\n"
+	"  is located\n"
+	"    A location followed by a [=y] indicate that this is a selectable\n"
+	"    menu item - and current value is displayed inside brackets.\n"
+	"o The 'Selects:' line tell what symbol will be automatically\n"
+	"  selected if this symbol is selected (y or m)\n"
+	"o The 'Selected by' line tell what symbol has selected this symbol\n"
+	"\n"
+	"Only relevant lines are shown.\n"
+	"\n\n"
+	"Search examples:\n"
+	"Examples: USB	=> find all CONFIG_ symbols containing USB\n"
+	"          ^USB => find all CONFIG_ symbols starting with USB\n"
+	"          USB$ => find all CONFIG_ symbols ending with USB\n"
+	"\n");
+
+static int indent;
+static struct menu *current_menu;
+static int child_count;
+static int single_menu_mode;
+
+static void conf(struct menu *menu);
+static void conf_choice(struct menu *menu);
+static void conf_string(struct menu *menu);
+static void conf_load(void);
+static void conf_save(void);
+static void show_textbox(const char *title, const char *text, int r, int c);
+static void show_helptext(const char *title, const char *text);
+static void show_help(struct menu *menu);
+
+static void get_prompt_str(struct gstr *r, struct property *prop)
+{
+	int i, j;
+	struct menu *submenu[8], *menu;
+
+	str_printf(r, _("Prompt: %s\n"), _(prop->text));
+	str_printf(r, _("  Defined at %s:%d\n"), prop->menu->file->name,
+		prop->menu->lineno);
+	if (!expr_is_yes(prop->visible.expr)) {
+		str_append(r, _("  Depends on: "));
+		expr_gstr_print(prop->visible.expr, r);
+		str_append(r, "\n");
+	}
+	menu = prop->menu->parent;
+	for (i = 0; menu != &rootmenu && i < 8; menu = menu->parent)
+		submenu[i++] = menu;
+	if (i > 0) {
+		str_printf(r, _("  Location:\n"));
+		for (j = 4; --i >= 0; j += 2) {
+			menu = submenu[i];
+			str_printf(r, "%*c-> %s", j, ' ', _(menu_get_prompt(menu)));
+			if (menu->sym) {
+				str_printf(r, " (%s [=%s])", menu->sym->name ?
+					menu->sym->name : _("<choice>"),
+					sym_get_string_value(menu->sym));
+			}
+			str_append(r, "\n");
+		}
+	}
+}
+
+static void get_symbol_str(struct gstr *r, struct symbol *sym)
+{
+	bool hit;
+	struct property *prop;
+
+	if (sym && sym->name)
+		str_printf(r, "Symbol: %s [=%s]\n", sym->name,
+		                                    sym_get_string_value(sym));
+	for_all_prompts(sym, prop)
+		get_prompt_str(r, prop);
+	hit = false;
+	for_all_properties(sym, prop, P_SELECT) {
+		if (!hit) {
+			str_append(r, "  Selects: ");
+			hit = true;
+		} else
+			str_printf(r, " && ");
+		expr_gstr_print(prop->expr, r);
+	}
+	if (hit)
+		str_append(r, "\n");
+	if (sym->rev_dep.expr) {
+		str_append(r, _("  Selected by: "));
+		expr_gstr_print(sym->rev_dep.expr, r);
+		str_append(r, "\n");
+	}
+	str_append(r, "\n\n");
+}
+
+static struct gstr get_relations_str(struct symbol **sym_arr)
+{
+	struct symbol *sym;
+	struct gstr res = str_new();
+	int i;
+
+	for (i = 0; sym_arr && (sym = sym_arr[i]); i++)
+		get_symbol_str(&res, sym);
+	if (!i)
+		str_append(&res, _("No matches found.\n"));
+	return res;
+}
+
+static char filename[PATH_MAX+1];
+static void set_config_filename(const char *config_filename)
+{
+	static char menu_backtitle[PATH_MAX+128];
+	int size;
+	struct symbol *sym;
+
+	sym = sym_lookup("VERSION", 0);
+	sym_calc_value(sym);
+	size = snprintf(menu_backtitle, sizeof(menu_backtitle),
+	                _("%s - uClibc v%s Configuration"),
+		        config_filename, sym_get_string_value(sym));
+	if (size >= sizeof(menu_backtitle))
+		menu_backtitle[sizeof(menu_backtitle)-1] = '\0';
+	set_dialog_backtitle(menu_backtitle);
+
+	size = snprintf(filename, sizeof(filename), "%s", config_filename);
+	if (size >= sizeof(filename))
+		filename[sizeof(filename)-1] = '\0';
+}
+
+
+static void search_conf(void)
+{
+	struct symbol **sym_arr;
+	struct gstr res;
+	char *dialog_input;
+	int dres;
+again:
+	dialog_clear();
+	dres = dialog_inputbox(_("Search Configuration Parameter"),
+			      _("Enter CONFIG_ (sub)string to search for "
+				"(with or without \"CONFIG\")"),
+			      10, 75, "");
+	switch (dres) {
+	case 0:
+		break;
+	case 1:
+		show_helptext(_("Search Configuration"), search_help);
+		goto again;
+	default:
+		return;
+	}
+
+	/* strip CONFIG_ if necessary */
+	dialog_input = dialog_input_result;
+	if (strncasecmp(dialog_input_result, "CONFIG_", 7) == 0)
+		dialog_input += 7;
+
+	sym_arr = sym_re_search(dialog_input);
+	res = get_relations_str(sym_arr);
+	free(sym_arr);
+	show_textbox(_("Search Results"), str_get(&res), 0, 0);
+	str_free(&res);
+}
+
+static void build_conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+	int type, tmp, doint = 2;
+	tristate val;
+	char ch;
+
+	if (!menu_is_visible(menu))
+		return;
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	if (!sym) {
+		if (prop && menu != current_menu) {
+			const char *prompt = menu_get_prompt(menu);
+			switch (prop->type) {
+			case P_MENU:
+				child_count++;
+				prompt = _(prompt);
+				if (single_menu_mode) {
+					item_make("%s%*c%s",
+						  menu->data ? "-->" : "++>",
+						  indent + 1, ' ', prompt);
+				} else
+					item_make("   %*c%s  --->", indent + 1, ' ', prompt);
+
+				item_set_tag('m');
+				item_set_data(menu);
+				if (single_menu_mode && menu->data)
+					goto conf_childs;
+				return;
+			case P_COMMENT:
+				if (prompt) {
+					child_count++;
+					item_make("   %*c*** %s ***", indent + 1, ' ', _(prompt));
+					item_set_tag(':');
+					item_set_data(menu);
+				}
+				break;
+			default:
+				if (prompt) {
+					child_count++;
+					item_make("---%*c%s", indent + 1, ' ', _(prompt));
+					item_set_tag(':');
+					item_set_data(menu);
+				}
+			}
+		} else
+			doint = 0;
+		goto conf_childs;
+	}
+
+	type = sym_get_type(sym);
+	if (sym_is_choice(sym)) {
+		struct symbol *def_sym = sym_get_choice_value(sym);
+		struct menu *def_menu = NULL;
+
+		child_count++;
+		for (child = menu->list; child; child = child->next) {
+			if (menu_is_visible(child) && child->sym == def_sym)
+				def_menu = child;
+		}
+
+		val = sym_get_tristate_value(sym);
+		if (sym_is_changable(sym)) {
+			switch (type) {
+			case S_BOOLEAN:
+				item_make("[%c]", val == no ? ' ' : '*');
+				break;
+			case S_TRISTATE:
+				switch (val) {
+				case yes: ch = '*'; break;
+				case mod: ch = 'M'; break;
+				default:  ch = ' '; break;
+				}
+				item_make("<%c>", ch);
+				break;
+			}
+			item_set_tag('t');
+			item_set_data(menu);
+		} else {
+			item_make("   ");
+			item_set_tag(def_menu ? 't' : ':');
+			item_set_data(menu);
+		}
+
+		item_add_str("%*c%s", indent + 1, ' ', _(menu_get_prompt(menu)));
+		if (val == yes) {
+			if (def_menu) {
+				item_add_str(" (%s)", _(menu_get_prompt(def_menu)));
+				item_add_str("  --->");
+				if (def_menu->list) {
+					indent += 2;
+					build_conf(def_menu);
+					indent -= 2;
+				}
+			}
+			return;
+		}
+	} else {
+		if (menu == current_menu) {
+			item_make("---%*c%s", indent + 1, ' ', _(menu_get_prompt(menu)));
+			item_set_tag(':');
+			item_set_data(menu);
+			goto conf_childs;
+		}
+		child_count++;
+		val = sym_get_tristate_value(sym);
+		if (sym_is_choice_value(sym) && val == yes) {
+			item_make("   ");
+			item_set_tag(':');
+			item_set_data(menu);
+		} else {
+			switch (type) {
+			case S_BOOLEAN:
+				if (sym_is_changable(sym))
+					item_make("[%c]", val == no ? ' ' : '*');
+				else
+					item_make("-%c-", val == no ? ' ' : '*');
+				item_set_tag('t');
+				item_set_data(menu);
+				break;
+			case S_TRISTATE:
+				switch (val) {
+				case yes: ch = '*'; break;
+				case mod: ch = 'M'; break;
+				default:  ch = ' '; break;
+				}
+				if (sym_is_changable(sym)) {
+					if (sym->rev_dep.tri == mod)
+						item_make("{%c}", ch);
+					else
+						item_make("<%c>", ch);
+				} else
+					item_make("-%c-", ch);
+				item_set_tag('t');
+				item_set_data(menu);
+				break;
+			default:
+				tmp = 2 + strlen(sym_get_string_value(sym)); /* () = 2 */
+				item_make("(%s)", sym_get_string_value(sym));
+				tmp = indent - tmp + 4;
+				if (tmp < 0)
+					tmp = 0;
+				item_add_str("%*c%s%s", tmp, ' ', _(menu_get_prompt(menu)),
+					     (sym_has_value(sym) || !sym_is_changable(sym)) ?
+					     "" : _(" (NEW)"));
+				item_set_tag('s');
+				item_set_data(menu);
+				goto conf_childs;
+			}
+		}
+		item_add_str("%*c%s%s", indent + 1, ' ', _(menu_get_prompt(menu)),
+			  (sym_has_value(sym) || !sym_is_changable(sym)) ?
+			  "" : _(" (NEW)"));
+		if (menu->prompt->type == P_MENU) {
+			item_add_str("  --->");
+			return;
+		}
+	}
+
+conf_childs:
+	indent += doint;
+	for (child = menu->list; child; child = child->next)
+		build_conf(child);
+	indent -= doint;
+}
+
+static void conf(struct menu *menu)
+{
+	struct menu *submenu;
+	const char *prompt = menu_get_prompt(menu);
+	struct symbol *sym;
+	struct menu *active_menu = NULL;
+	int res;
+	int s_scroll = 0;
+
+	while (1) {
+		item_reset();
+		current_menu = menu;
+		build_conf(menu);
+		if (!child_count)
+			break;
+		if (menu == &rootmenu) {
+			item_make("--- ");
+			item_set_tag(':');
+			item_make(_("    Load an Alternate Configuration File"));
+			item_set_tag('L');
+			item_make(_("    Save an Alternate Configuration File"));
+			item_set_tag('S');
+		}
+		dialog_clear();
+		res = dialog_menu(prompt ? _(prompt) : _("Main Menu"),
+				  _(menu_instructions),
+				  active_menu, &s_scroll);
+		if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL)
+			break;
+		if (!item_activate_selected())
+			continue;
+		if (!item_tag())
+			continue;
+
+		submenu = item_data();
+		active_menu = item_data();
+		if (submenu)
+			sym = submenu->sym;
+		else
+			sym = NULL;
+
+		switch (res) {
+		case 0:
+			switch (item_tag()) {
+			case 'm':
+				if (single_menu_mode)
+					submenu->data = (void *) (long) !submenu->data;
+				else
+					conf(submenu);
+				break;
+			case 't':
+				if (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)
+					conf_choice(submenu);
+				else if (submenu->prompt->type == P_MENU)
+					conf(submenu);
+				break;
+			case 's':
+				conf_string(submenu);
+				break;
+			case 'L':
+				conf_load();
+				break;
+			case 'S':
+				conf_save();
+				break;
+			}
+			break;
+		case 2:
+			if (sym)
+				show_help(submenu);
+			else
+				show_helptext(_("README"), _(mconf_readme));
+			break;
+		case 3:
+			if (item_is_tag('t')) {
+				if (sym_set_tristate_value(sym, yes))
+					break;
+				if (sym_set_tristate_value(sym, mod))
+					show_textbox(NULL, setmod_text, 6, 74);
+			}
+			break;
+		case 4:
+			if (item_is_tag('t'))
+				sym_set_tristate_value(sym, no);
+			break;
+		case 5:
+			if (item_is_tag('t'))
+				sym_set_tristate_value(sym, mod);
+			break;
+		case 6:
+			if (item_is_tag('t'))
+				sym_toggle_tristate_value(sym);
+			else if (item_is_tag('m'))
+				conf(submenu);
+			break;
+		case 7:
+			search_conf();
+			break;
+		}
+	}
+}
+
+static void show_textbox(const char *title, const char *text, int r, int c)
+{
+	dialog_clear();
+	dialog_textbox(title, text, r, c);
+}
+
+static void show_helptext(const char *title, const char *text)
+{
+	show_textbox(title, text, 0, 0);
+}
+
+static void show_help(struct menu *menu)
+{
+	struct gstr help = str_new();
+	struct symbol *sym = menu->sym;
+
+	if (menu_has_help(menu))
+	{
+		if (sym->name) {
+			str_printf(&help, "%s:\n\n", sym->name);
+		}
+		str_append(&help, _(menu_get_help(menu)));
+		str_append(&help, "\n");
+	} else if (menu_has_help(sym->prop->menu->parent)) {
+		str_append(&help, _(menu_get_help(sym->prop->menu->parent)));
+		str_append(&help, "\n");
+	} else {
+		str_append(&help, nohelp_text);
+	}
+	get_symbol_str(&help, sym);
+	show_helptext(_(menu_get_prompt(menu)), str_get(&help));
+	str_free(&help);
+}
+
+static void conf_choice(struct menu *menu)
+{
+	const char *prompt = _(menu_get_prompt(menu));
+	struct menu *child;
+	struct symbol *active;
+
+	active = sym_get_choice_value(menu->sym);
+	while (1) {
+		int res;
+		int selected;
+		item_reset();
+
+		current_menu = menu;
+		for (child = menu->list; child; child = child->next) {
+			if (!menu_is_visible(child))
+				continue;
+			item_make("%s", _(menu_get_prompt(child)));
+			item_set_data(child);
+			if (child->sym == active)
+				item_set_selected(1);
+			if (child->sym == sym_get_choice_value(menu->sym))
+				item_set_tag('X');
+		}
+		dialog_clear();
+		res = dialog_checklist(prompt ? _(prompt) : _("Main Menu"),
+					_(radiolist_instructions),
+					 15, 70, 6);
+		selected = item_activate_selected();
+		switch (res) {
+		case 0:
+			if (selected) {
+				child = item_data();
+				sym_set_tristate_value(child->sym, yes);
+			}
+			return;
+		case 1:
+			if (selected) {
+				child = item_data();
+				show_help(child);
+				active = child->sym;
+			} else
+				show_help(menu);
+			break;
+		case KEY_ESC:
+			return;
+		case -ERRDISPLAYTOOSMALL:
+			return;
+		}
+	}
+}
+
+static void conf_string(struct menu *menu)
+{
+	const char *prompt = menu_get_prompt(menu);
+
+	while (1) {
+		int res;
+		const char *heading;
+
+		switch (sym_get_type(menu->sym)) {
+		case S_INT:
+			heading = _(inputbox_instructions_int);
+			break;
+		case S_HEX:
+			heading = _(inputbox_instructions_hex);
+			break;
+		case S_STRING:
+			heading = _(inputbox_instructions_string);
+			break;
+		default:
+			heading = _("Internal mconf error!");
+		}
+		dialog_clear();
+		res = dialog_inputbox(prompt ? _(prompt) : _("Main Menu"),
+				      heading, 10, 75,
+				      sym_get_string_value(menu->sym));
+		switch (res) {
+		case 0:
+			if (sym_set_string_value(menu->sym, dialog_input_result))
+				return;
+			show_textbox(NULL, _("You have made an invalid entry."), 5, 43);
+			break;
+		case 1:
+			show_help(menu);
+			break;
+		case KEY_ESC:
+			return;
+		}
+	}
+}
+
+static void conf_load(void)
+{
+
+	while (1) {
+		int res;
+		dialog_clear();
+		res = dialog_inputbox(NULL, load_config_text,
+				      11, 55, filename);
+		switch(res) {
+		case 0:
+			if (!dialog_input_result[0])
+				return;
+			if (!conf_read(dialog_input_result)) {
+				set_config_filename(dialog_input_result);
+				sym_set_change_count(1);
+				return;
+			}
+			show_textbox(NULL, _("File does not exist!"), 5, 38);
+			break;
+		case 1:
+			show_helptext(_("Load Alternate Configuration"), load_config_help);
+			break;
+		case KEY_ESC:
+			return;
+		}
+	}
+}
+
+static void conf_save(void)
+{
+	while (1) {
+		int res;
+		dialog_clear();
+		res = dialog_inputbox(NULL, save_config_text,
+				      11, 55, filename);
+		switch(res) {
+		case 0:
+			if (!dialog_input_result[0])
+				return;
+			if (!conf_write(dialog_input_result)) {
+				set_config_filename(dialog_input_result);
+				return;
+			}
+			show_textbox(NULL, _("Can't create file!  Probably a nonexistent directory."), 5, 60);
+			break;
+		case 1:
+			show_helptext(_("Save Alternate Configuration"), save_config_help);
+			break;
+		case KEY_ESC:
+			return;
+		}
+	}
+}
+
+int main(int ac, char **av)
+{
+	int saved_x, saved_y;
+	char *mode;
+	int res;
+
+	setlocale(LC_ALL, "");
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+	conf_parse(av[1]);
+	conf_read(NULL);
+
+	mode = getenv("MENUCONFIG_MODE");
+	if (mode) {
+		if (!strcasecmp(mode, "single_menu"))
+			single_menu_mode = 1;
+	}
+
+	getyx(stdscr, saved_y, saved_x);
+	if (init_dialog(NULL)) {
+		fprintf(stderr, N_("Your display is too small to run Menuconfig!\n"));
+		fprintf(stderr, N_("It must be at least 19 lines by 80 columns.\n"));
+		return 1;
+	}
+
+	set_config_filename(conf_get_configname());
+	do {
+		conf(&rootmenu);
+		dialog_clear();
+		if (conf_get_changed())
+			res = dialog_yesno(NULL,
+					   _("Do you wish to save your "
+					     "new configuration?\n"
+					     "<ESC><ESC> to continue."),
+					   6, 60);
+		else
+			res = -1;
+	} while (res == KEY_ESC);
+	end_dialog(saved_x, saved_y);
+
+	switch (res) {
+	case 0:
+		if (conf_write(filename)) {
+			fprintf(stderr, _("\n\n"
+				"Error during writing of the configuration.\n"
+				"Your configuration changes were NOT saved."
+				"\n\n"));
+			return 1;
+		}
+	case -1:
+		printf(_("\n\n"
+			"*** End of configuration.\n"
+			"*** Execute 'make' to build or try 'make help'."
+			"\n\n"));
+		break;
+	default:
+		fprintf(stderr, _("\n\n"
+			"Your configuration changes were NOT saved."
+			"\n\n"));
+	}
+
+	return conf_write_autoconf();
+}
+
diff --git a/ap/build/uClibc/extra/config/menu.c b/ap/build/uClibc/extra/config/menu.c
new file mode 100644
index 0000000..07ff8d1
--- /dev/null
+++ b/ap/build/uClibc/extra/config/menu.c
@@ -0,0 +1,453 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+struct menu rootmenu;
+static struct menu **last_entry_ptr;
+
+struct file *file_list;
+struct file *current_file;
+
+void menu_warn(struct menu *menu, const char *fmt, ...)
+{
+	va_list ap;
+	va_start(ap, fmt);
+	fprintf(stderr, "%s:%d:warning: ", menu->file->name, menu->lineno);
+	vfprintf(stderr, fmt, ap);
+	fprintf(stderr, "\n");
+	va_end(ap);
+}
+
+static void prop_warn(struct property *prop, const char *fmt, ...)
+{
+	va_list ap;
+	va_start(ap, fmt);
+	fprintf(stderr, "%s:%d:warning: ", prop->file->name, prop->lineno);
+	vfprintf(stderr, fmt, ap);
+	fprintf(stderr, "\n");
+	va_end(ap);
+}
+
+void menu_init(void)
+{
+	current_entry = current_menu = &rootmenu;
+	last_entry_ptr = &rootmenu.list;
+}
+
+void menu_add_entry(struct symbol *sym)
+{
+	struct menu *menu;
+
+	menu = malloc(sizeof(*menu));
+	memset(menu, 0, sizeof(*menu));
+	menu->sym = sym;
+	menu->parent = current_menu;
+	menu->file = current_file;
+	menu->lineno = zconf_lineno();
+
+	*last_entry_ptr = menu;
+	last_entry_ptr = &menu->next;
+	current_entry = menu;
+}
+
+void menu_end_entry(void)
+{
+}
+
+struct menu *menu_add_menu(void)
+{
+	menu_end_entry();
+	last_entry_ptr = &current_entry->list;
+	return current_menu = current_entry;
+}
+
+void menu_end_menu(void)
+{
+	last_entry_ptr = &current_menu->next;
+	current_menu = current_menu->parent;
+}
+
+struct expr *menu_check_dep(struct expr *e)
+{
+	if (!e)
+		return e;
+
+	switch (e->type) {
+	case E_NOT:
+		e->left.expr = menu_check_dep(e->left.expr);
+		break;
+	case E_OR:
+	case E_AND:
+		e->left.expr = menu_check_dep(e->left.expr);
+		e->right.expr = menu_check_dep(e->right.expr);
+		break;
+	case E_SYMBOL:
+		/* change 'm' into 'm' && MODULES */
+		if (e->left.sym == &symbol_mod)
+			return expr_alloc_and(e, expr_alloc_symbol(modules_sym));
+		break;
+	default:
+		break;
+	}
+	return e;
+}
+
+void menu_add_dep(struct expr *dep)
+{
+	current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
+}
+
+void menu_set_type(int type)
+{
+	struct symbol *sym = current_entry->sym;
+
+	if (sym->type == type)
+		return;
+	if (sym->type == S_UNKNOWN) {
+		sym->type = type;
+		return;
+	}
+	menu_warn(current_entry, "type of '%s' redefined from '%s' to '%s'",
+	    sym->name ? sym->name : "<choice>",
+	    sym_type_name(sym->type), sym_type_name(type));
+}
+
+struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep)
+{
+	struct property *prop = prop_alloc(type, current_entry->sym);
+
+	prop->menu = current_entry;
+	prop->expr = expr;
+	prop->visible.expr = menu_check_dep(dep);
+
+	if (prompt) {
+		if (isspace(*prompt)) {
+			prop_warn(prop, "leading whitespace ignored");
+			while (isspace(*prompt))
+				prompt++;
+		}
+		if (current_entry->prompt)
+			prop_warn(prop, "prompt redefined");
+		current_entry->prompt = prop;
+	}
+	prop->text = prompt;
+
+	return prop;
+}
+
+struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep)
+{
+	return menu_add_prop(type, prompt, NULL, dep);
+}
+
+void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep)
+{
+	menu_add_prop(type, NULL, expr, dep);
+}
+
+void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep)
+{
+	menu_add_prop(type, NULL, expr_alloc_symbol(sym), dep);
+}
+
+void menu_add_option(int token, char *arg)
+{
+	struct property *prop;
+
+	switch (token) {
+	case T_OPT_MODULES:
+		prop = prop_alloc(P_DEFAULT, modules_sym);
+		prop->expr = expr_alloc_symbol(current_entry->sym);
+		break;
+	case T_OPT_DEFCONFIG_LIST:
+		if (!sym_defconfig_list)
+			sym_defconfig_list = current_entry->sym;
+		else if (sym_defconfig_list != current_entry->sym)
+			zconf_error("trying to redefine defconfig symbol");
+		break;
+	case T_OPT_ENV:
+		prop_add_env(arg);
+		break;
+	}
+}
+
+static int menu_range_valid_sym(struct symbol *sym, struct symbol *sym2)
+{
+	return sym2->type == S_INT || sym2->type == S_HEX ||
+	       (sym2->type == S_UNKNOWN && sym_string_valid(sym, sym2->name));
+}
+
+void sym_check_prop(struct symbol *sym)
+{
+	struct property *prop;
+	struct symbol *sym2;
+	for (prop = sym->prop; prop; prop = prop->next) {
+		switch (prop->type) {
+		case P_DEFAULT:
+			if ((sym->type == S_STRING || sym->type == S_INT || sym->type == S_HEX) &&
+			    prop->expr->type != E_SYMBOL)
+				prop_warn(prop,
+				    "default for config symbol '%'"
+				    " must be a single symbol", sym->name);
+			break;
+		case P_SELECT:
+			sym2 = prop_get_symbol(prop);
+			if (sym->type != S_BOOLEAN && sym->type != S_TRISTATE)
+				prop_warn(prop,
+				    "config symbol '%s' uses select, but is "
+				    "not boolean or tristate", sym->name);
+			else if (sym2->type != S_UNKNOWN &&
+			         sym2->type != S_BOOLEAN &&
+			         sym2->type != S_TRISTATE)
+				prop_warn(prop,
+				    "'%s' has wrong type. 'select' only "
+				    "accept arguments of boolean and "
+				    "tristate type", sym2->name);
+			break;
+		case P_RANGE:
+			if (sym->type != S_INT && sym->type != S_HEX)
+				prop_warn(prop, "range is only allowed "
+				                "for int or hex symbols");
+			if (!menu_range_valid_sym(sym, prop->expr->left.sym) ||
+			    !menu_range_valid_sym(sym, prop->expr->right.sym))
+				prop_warn(prop, "range is invalid");
+			break;
+		default:
+			;
+		}
+	}
+}
+
+void menu_finalize(struct menu *parent)
+{
+	struct menu *menu, *last_menu;
+	struct symbol *sym;
+	struct property *prop;
+	struct expr *parentdep, *basedep, *dep, *dep2, **ep;
+
+	sym = parent->sym;
+	if (parent->list) {
+		if (sym && sym_is_choice(sym)) {
+			if (sym->type == S_UNKNOWN) {
+				/* find the first choice value to find out choice type */
+				current_entry = parent;
+				for (menu = parent->list; menu; menu = menu->next) {
+					if (menu->sym && menu->sym->type != S_UNKNOWN) {
+						menu_set_type(menu->sym->type);
+						break;
+					}
+				}
+			}
+			/* set the type of the remaining choice values */
+			for (menu = parent->list; menu; menu = menu->next) {
+				current_entry = menu;
+				if (menu->sym && menu->sym->type == S_UNKNOWN)
+					menu_set_type(sym->type);
+			}
+			parentdep = expr_alloc_symbol(sym);
+		} else if (parent->prompt)
+			parentdep = parent->prompt->visible.expr;
+		else
+			parentdep = parent->dep;
+
+		for (menu = parent->list; menu; menu = menu->next) {
+			basedep = expr_transform(menu->dep);
+			basedep = expr_alloc_and(expr_copy(parentdep), basedep);
+			basedep = expr_eliminate_dups(basedep);
+			menu->dep = basedep;
+			if (menu->sym)
+				prop = menu->sym->prop;
+			else
+				prop = menu->prompt;
+			for (; prop; prop = prop->next) {
+				if (prop->menu != menu)
+					continue;
+				dep = expr_transform(prop->visible.expr);
+				dep = expr_alloc_and(expr_copy(basedep), dep);
+				dep = expr_eliminate_dups(dep);
+				if (menu->sym && menu->sym->type != S_TRISTATE)
+					dep = expr_trans_bool(dep);
+				prop->visible.expr = dep;
+				if (prop->type == P_SELECT) {
+					struct symbol *es = prop_get_symbol(prop);
+					es->rev_dep.expr = expr_alloc_or(es->rev_dep.expr,
+							expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep)));
+				}
+			}
+		}
+		for (menu = parent->list; menu; menu = menu->next)
+			menu_finalize(menu);
+	} else if (sym) {
+		basedep = parent->prompt ? parent->prompt->visible.expr : NULL;
+		basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no);
+		basedep = expr_eliminate_dups(expr_transform(basedep));
+		last_menu = NULL;
+		for (menu = parent->next; menu; menu = menu->next) {
+			dep = menu->prompt ? menu->prompt->visible.expr : menu->dep;
+			if (!expr_contains_symbol(dep, sym))
+				break;
+			if (expr_depends_symbol(dep, sym))
+				goto next;
+			dep = expr_trans_compare(dep, E_UNEQUAL, &symbol_no);
+			dep = expr_eliminate_dups(expr_transform(dep));
+			dep2 = expr_copy(basedep);
+			expr_eliminate_eq(&dep, &dep2);
+			expr_free(dep);
+			if (!expr_is_yes(dep2)) {
+				expr_free(dep2);
+				break;
+			}
+			expr_free(dep2);
+		next:
+			menu_finalize(menu);
+			menu->parent = parent;
+			last_menu = menu;
+		}
+		if (last_menu) {
+			parent->list = parent->next;
+			parent->next = last_menu->next;
+			last_menu->next = NULL;
+		}
+	}
+	for (menu = parent->list; menu; menu = menu->next) {
+		if (sym && sym_is_choice(sym) &&
+		    menu->sym && !sym_is_choice_value(menu->sym)) {
+			current_entry = menu;
+			menu->sym->flags |= SYMBOL_CHOICEVAL;
+			if (!menu->prompt)
+				menu_warn(menu, "choice value must have a prompt");
+			for (prop = menu->sym->prop; prop; prop = prop->next) {
+				if (prop->type == P_DEFAULT)
+					prop_warn(prop, "defaults for choice "
+						  "values not supported");
+				if (prop->menu == menu)
+					continue;
+				if (prop->type == P_PROMPT &&
+				    prop->menu->parent->sym != sym)
+					prop_warn(prop, "choice value used outside its choice group");
+			}
+			/* Non-tristate choice values of tristate choices must
+			 * depend on the choice being set to Y. The choice
+			 * values' dependencies were propagated to their
+			 * properties above, so the change here must be re-
+			 * propagated.
+			 */
+			if (sym->type == S_TRISTATE && menu->sym->type != S_TRISTATE) {
+				basedep = expr_alloc_comp(E_EQUAL, sym, &symbol_yes);
+				menu->dep = expr_alloc_and(basedep, menu->dep);
+				for (prop = menu->sym->prop; prop; prop = prop->next) {
+					if (prop->menu != menu)
+						continue;
+					prop->visible.expr = expr_alloc_and(expr_copy(basedep),
+									    prop->visible.expr);
+				}
+			}
+			menu_add_symbol(P_CHOICE, sym, NULL);
+			prop = sym_get_choice_prop(sym);
+			for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr)
+				;
+			*ep = expr_alloc_one(E_LIST, NULL);
+			(*ep)->right.sym = menu->sym;
+		}
+		if (menu->list && (!menu->prompt || !menu->prompt->text)) {
+			for (last_menu = menu->list; ; last_menu = last_menu->next) {
+				last_menu->parent = parent;
+				if (!last_menu->next)
+					break;
+			}
+			last_menu->next = menu->next;
+			menu->next = menu->list;
+			menu->list = NULL;
+		}
+	}
+
+	if (sym && !(sym->flags & SYMBOL_WARNED)) {
+		if (sym->type == S_UNKNOWN)
+			menu_warn(parent, "config symbol defined without type");
+
+		if (sym_is_choice(sym) && !parent->prompt)
+			menu_warn(parent, "choice must have a prompt");
+
+		/* Check properties connected to this symbol */
+		sym_check_prop(sym);
+		sym->flags |= SYMBOL_WARNED;
+	}
+
+	if (sym && !sym_is_optional(sym) && parent->prompt) {
+		sym->rev_dep.expr = expr_alloc_or(sym->rev_dep.expr,
+				expr_alloc_and(parent->prompt->visible.expr,
+					expr_alloc_symbol(&symbol_mod)));
+	}
+}
+
+bool menu_is_visible(struct menu *menu)
+{
+	struct menu *child;
+	struct symbol *sym;
+	tristate visible;
+
+	if (!menu->prompt)
+		return false;
+	sym = menu->sym;
+	if (sym) {
+		sym_calc_value(sym);
+		visible = menu->prompt->visible.tri;
+	} else
+		visible = menu->prompt->visible.tri = expr_calc_value(menu->prompt->visible.expr);
+
+	if (visible != no)
+		return true;
+	if (!sym || sym_get_tristate_value(menu->sym) == no)
+		return false;
+
+	for (child = menu->list; child; child = child->next)
+		if (menu_is_visible(child))
+			return true;
+	return false;
+}
+
+const char *menu_get_prompt(struct menu *menu)
+{
+	if (menu->prompt)
+		return menu->prompt->text;
+	else if (menu->sym)
+		return menu->sym->name;
+	return NULL;
+}
+
+struct menu *menu_get_root_menu(struct menu *menu)
+{
+	return &rootmenu;
+}
+
+struct menu *menu_get_parent_menu(struct menu *menu)
+{
+	enum prop_type type;
+
+	for (; menu != &rootmenu; menu = menu->parent) {
+		type = menu->prompt ? menu->prompt->type : 0;
+		if (type == P_MENU)
+			break;
+	}
+	return menu;
+}
+
+bool menu_has_help(struct menu *menu)
+{
+	return menu->help != NULL;
+}
+
+const char *menu_get_help(struct menu *menu)
+{
+	if (menu->help)
+		return menu->help;
+	else
+		return "";
+}
diff --git a/ap/build/uClibc/extra/config/qconf.cc b/ap/build/uClibc/extra/config/qconf.cc
new file mode 100644
index 0000000..ec89fd7
--- /dev/null
+++ b/ap/build/uClibc/extra/config/qconf.cc
@@ -0,0 +1,1759 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <qapplication.h>
+#include <qmainwindow.h>
+#include <qtoolbar.h>
+#include <qlayout.h>
+#include <qvbox.h>
+#include <qsplitter.h>
+#include <qlistview.h>
+#include <qtextbrowser.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qmenubar.h>
+#include <qmessagebox.h>
+#include <qaction.h>
+#include <qheader.h>
+#include <qfiledialog.h>
+#include <qdragobject.h>
+#include <qregexp.h>
+
+#include <stdlib.h>
+
+#include "lkc.h"
+#include "qconf.h"
+
+#include "qconf.moc"
+#include "images.c"
+
+#ifdef _
+# undef _
+# define _ qgettext
+#endif
+
+static QApplication *configApp;
+static ConfigSettings *configSettings;
+
+QAction *ConfigMainWindow::saveAction;
+
+static inline QString qgettext(const char* str)
+{
+	return QString::fromLocal8Bit(gettext(str));
+}
+
+static inline QString qgettext(const QString& str)
+{
+	return QString::fromLocal8Bit(gettext(str.latin1()));
+}
+
+/**
+ * Reads a list of integer values from the application settings.
+ */
+QValueList<int> ConfigSettings::readSizes(const QString& key, bool *ok)
+{
+	QValueList<int> result;
+	QStringList entryList = readListEntry(key, ok);
+	if (ok) {
+		QStringList::Iterator it;
+		for (it = entryList.begin(); it != entryList.end(); ++it)
+			result.push_back((*it).toInt());
+	}
+
+	return result;
+}
+
+/**
+ * Writes a list of integer values to the application settings.
+ */
+bool ConfigSettings::writeSizes(const QString& key, const QValueList<int>& value)
+{
+	QStringList stringList;
+	QValueList<int>::ConstIterator it;
+
+	for (it = value.begin(); it != value.end(); ++it)
+		stringList.push_back(QString::number(*it));
+	return writeEntry(key, stringList);
+}
+
+
+#if QT_VERSION >= 300
+/*
+ * set the new data
+ * TODO check the value
+ */
+void ConfigItem::okRename(int col)
+{
+	Parent::okRename(col);
+	sym_set_string_value(menu->sym, text(dataColIdx).latin1());
+	listView()->updateList(this);
+}
+#endif
+
+/*
+ * update the displayed of a menu entry
+ */
+void ConfigItem::updateMenu(void)
+{
+	ConfigList* list;
+	struct symbol* sym;
+	struct property *prop;
+	QString prompt;
+	int type;
+	tristate expr;
+
+	list = listView();
+	if (goParent) {
+		setPixmap(promptColIdx, list->menuBackPix);
+		prompt = "..";
+		goto set_prompt;
+	}
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	prompt = _(menu_get_prompt(menu));
+
+	if (prop) switch (prop->type) {
+	case P_MENU:
+		if (list->mode == singleMode || list->mode == symbolMode) {
+			/* a menuconfig entry is displayed differently
+			 * depending whether it's at the view root or a child.
+			 */
+			if (sym && list->rootEntry == menu)
+				break;
+			setPixmap(promptColIdx, list->menuPix);
+		} else {
+			if (sym)
+				break;
+			setPixmap(promptColIdx, 0);
+		}
+		goto set_prompt;
+	case P_COMMENT:
+		setPixmap(promptColIdx, 0);
+		goto set_prompt;
+	default:
+		;
+	}
+	if (!sym)
+		goto set_prompt;
+
+	setText(nameColIdx, QString::fromLocal8Bit(sym->name));
+
+	type = sym_get_type(sym);
+	switch (type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		char ch;
+
+		if (!sym_is_changable(sym) && !list->showAll) {
+			setPixmap(promptColIdx, 0);
+			setText(noColIdx, QString::null);
+			setText(modColIdx, QString::null);
+			setText(yesColIdx, QString::null);
+			break;
+		}
+		expr = sym_get_tristate_value(sym);
+		switch (expr) {
+		case yes:
+			if (sym_is_choice_value(sym) && type == S_BOOLEAN)
+				setPixmap(promptColIdx, list->choiceYesPix);
+			else
+				setPixmap(promptColIdx, list->symbolYesPix);
+			setText(yesColIdx, "Y");
+			ch = 'Y';
+			break;
+		case mod:
+			setPixmap(promptColIdx, list->symbolModPix);
+			setText(modColIdx, "M");
+			ch = 'M';
+			break;
+		default:
+			if (sym_is_choice_value(sym) && type == S_BOOLEAN)
+				setPixmap(promptColIdx, list->choiceNoPix);
+			else
+				setPixmap(promptColIdx, list->symbolNoPix);
+			setText(noColIdx, "N");
+			ch = 'N';
+			break;
+		}
+		if (expr != no)
+			setText(noColIdx, sym_tristate_within_range(sym, no) ? "_" : 0);
+		if (expr != mod)
+			setText(modColIdx, sym_tristate_within_range(sym, mod) ? "_" : 0);
+		if (expr != yes)
+			setText(yesColIdx, sym_tristate_within_range(sym, yes) ? "_" : 0);
+
+		setText(dataColIdx, QChar(ch));
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		const char* data;
+
+		data = sym_get_string_value(sym);
+
+#if QT_VERSION >= 300
+		int i = list->mapIdx(dataColIdx);
+		if (i >= 0)
+			setRenameEnabled(i, TRUE);
+#endif
+		setText(dataColIdx, data);
+		if (type == S_STRING)
+			prompt = QString("%1: %2").arg(prompt).arg(data);
+		else
+			prompt = QString("(%2) %1").arg(prompt).arg(data);
+		break;
+	}
+	if (!sym_has_value(sym) && visible)
+		prompt += _(" (NEW)");
+set_prompt:
+	setText(promptColIdx, prompt);
+}
+
+void ConfigItem::testUpdateMenu(bool v)
+{
+	ConfigItem* i;
+
+	visible = v;
+	if (!menu)
+		return;
+
+	sym_calc_value(menu->sym);
+	if (menu->flags & MENU_CHANGED) {
+		/* the menu entry changed, so update all list items */
+		menu->flags &= ~MENU_CHANGED;
+		for (i = (ConfigItem*)menu->data; i; i = i->nextItem)
+			i->updateMenu();
+	} else if (listView()->updateAll)
+		updateMenu();
+}
+
+void ConfigItem::paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align)
+{
+	ConfigList* list = listView();
+
+	if (visible) {
+		if (isSelected() && !list->hasFocus() && list->mode == menuMode)
+			Parent::paintCell(p, list->inactivedColorGroup, column, width, align);
+		else
+			Parent::paintCell(p, cg, column, width, align);
+	} else
+		Parent::paintCell(p, list->disabledColorGroup, column, width, align);
+}
+
+/*
+ * construct a menu entry
+ */
+void ConfigItem::init(void)
+{
+	if (menu) {
+		ConfigList* list = listView();
+		nextItem = (ConfigItem*)menu->data;
+		menu->data = this;
+
+		if (list->mode != fullMode)
+			setOpen(TRUE);
+		sym_calc_value(menu->sym);
+	}
+	updateMenu();
+}
+
+/*
+ * destruct a menu entry
+ */
+ConfigItem::~ConfigItem(void)
+{
+	if (menu) {
+		ConfigItem** ip = (ConfigItem**)&menu->data;
+		for (; *ip; ip = &(*ip)->nextItem) {
+			if (*ip == this) {
+				*ip = nextItem;
+				break;
+			}
+		}
+	}
+}
+
+ConfigLineEdit::ConfigLineEdit(ConfigView* parent)
+	: Parent(parent)
+{
+	connect(this, SIGNAL(lostFocus()), SLOT(hide()));
+}
+
+void ConfigLineEdit::show(ConfigItem* i)
+{
+	item = i;
+	if (sym_get_string_value(item->menu->sym))
+		setText(QString::fromLocal8Bit(sym_get_string_value(item->menu->sym)));
+	else
+		setText(QString::null);
+	Parent::show();
+	setFocus();
+}
+
+void ConfigLineEdit::keyPressEvent(QKeyEvent* e)
+{
+	switch (e->key()) {
+	case Key_Escape:
+		break;
+	case Key_Return:
+	case Key_Enter:
+		sym_set_string_value(item->menu->sym, text().latin1());
+		parent()->updateList(item);
+		break;
+	default:
+		Parent::keyPressEvent(e);
+		return;
+	}
+	e->accept();
+	parent()->list->setFocus();
+	hide();
+}
+
+ConfigList::ConfigList(ConfigView* p, const char *name)
+	: Parent(p, name),
+	  updateAll(false),
+	  symbolYesPix(xpm_symbol_yes), symbolModPix(xpm_symbol_mod), symbolNoPix(xpm_symbol_no),
+	  choiceYesPix(xpm_choice_yes), choiceNoPix(xpm_choice_no),
+	  menuPix(xpm_menu), menuInvPix(xpm_menu_inv), menuBackPix(xpm_menuback), voidPix(xpm_void),
+	  showAll(false), showName(false), showRange(false), showData(false),
+	  rootEntry(0), headerPopup(0)
+{
+	int i;
+
+	setSorting(-1);
+	setRootIsDecorated(TRUE);
+	disabledColorGroup = palette().active();
+	disabledColorGroup.setColor(QColorGroup::Text, palette().disabled().text());
+	inactivedColorGroup = palette().active();
+	inactivedColorGroup.setColor(QColorGroup::Highlight, palette().disabled().highlight());
+
+	connect(this, SIGNAL(selectionChanged(void)),
+		SLOT(updateSelection(void)));
+
+	if (name) {
+		configSettings->beginGroup(name);
+		showAll = configSettings->readBoolEntry("/showAll", false);
+		showName = configSettings->readBoolEntry("/showName", false);
+		showRange = configSettings->readBoolEntry("/showRange", false);
+		showData = configSettings->readBoolEntry("/showData", false);
+		configSettings->endGroup();
+		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+	}
+
+	for (i = 0; i < colNr; i++)
+		colMap[i] = colRevMap[i] = -1;
+	addColumn(promptColIdx, _("Option"));
+
+	reinit();
+}
+
+void ConfigList::reinit(void)
+{
+	removeColumn(dataColIdx);
+	removeColumn(yesColIdx);
+	removeColumn(modColIdx);
+	removeColumn(noColIdx);
+	removeColumn(nameColIdx);
+
+	if (showName)
+		addColumn(nameColIdx, _("Name"));
+	if (showRange) {
+		addColumn(noColIdx, "N");
+		addColumn(modColIdx, "M");
+		addColumn(yesColIdx, "Y");
+	}
+	if (showData)
+		addColumn(dataColIdx, _("Value"));
+
+	updateListAll();
+}
+
+void ConfigList::saveSettings(void)
+{
+	if (name()) {
+		configSettings->beginGroup(name());
+		configSettings->writeEntry("/showName", showName);
+		configSettings->writeEntry("/showRange", showRange);
+		configSettings->writeEntry("/showData", showData);
+		configSettings->writeEntry("/showAll", showAll);
+		configSettings->endGroup();
+	}
+}
+
+ConfigItem* ConfigList::findConfigItem(struct menu *menu)
+{
+	ConfigItem* item = (ConfigItem*)menu->data;
+
+	for (; item; item = item->nextItem) {
+		if (this == item->listView())
+			break;
+	}
+
+	return item;
+}
+
+void ConfigList::updateSelection(void)
+{
+	struct menu *menu;
+	enum prop_type type;
+
+	ConfigItem* item = (ConfigItem*)selectedItem();
+	if (!item)
+		return;
+
+	menu = item->menu;
+	emit menuChanged(menu);
+	if (!menu)
+		return;
+	type = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	if (mode == menuMode && type == P_MENU)
+		emit menuSelected(menu);
+}
+
+void ConfigList::updateList(ConfigItem* item)
+{
+	ConfigItem* last = 0;
+
+	if (!rootEntry) {
+		if (mode != listMode)
+			goto update;
+		QListViewItemIterator it(this);
+		ConfigItem* item;
+
+		for (; it.current(); ++it) {
+			item = (ConfigItem*)it.current();
+			if (!item->menu)
+				continue;
+			item->testUpdateMenu(menu_is_visible(item->menu));
+		}
+		return;
+	}
+
+	if (rootEntry != &rootmenu && (mode == singleMode ||
+	    (mode == symbolMode && rootEntry->parent != &rootmenu))) {
+		item = firstChild();
+		if (!item)
+			item = new ConfigItem(this, 0, true);
+		last = item;
+	}
+	if ((mode == singleMode || (mode == symbolMode && !(rootEntry->flags & MENU_ROOT))) &&
+	    rootEntry->sym && rootEntry->prompt) {
+		item = last ? last->nextSibling() : firstChild();
+		if (!item)
+			item = new ConfigItem(this, last, rootEntry, true);
+		else
+			item->testUpdateMenu(true);
+
+		updateMenuList(item, rootEntry);
+		triggerUpdate();
+		return;
+	}
+update:
+	updateMenuList(this, rootEntry);
+	triggerUpdate();
+}
+
+void ConfigList::setValue(ConfigItem* item, tristate val)
+{
+	struct symbol* sym;
+	int type;
+	tristate oldval;
+
+	sym = item->menu ? item->menu->sym : 0;
+	if (!sym)
+		return;
+
+	type = sym_get_type(sym);
+	switch (type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		oldval = sym_get_tristate_value(sym);
+
+		if (!sym_set_tristate_value(sym, val))
+			return;
+		if (oldval == no && item->menu->list)
+			item->setOpen(TRUE);
+		parent()->updateList(item);
+		break;
+	}
+}
+
+void ConfigList::changeValue(ConfigItem* item)
+{
+	struct symbol* sym;
+	struct menu* menu;
+	int type, oldexpr, newexpr;
+
+	menu = item->menu;
+	if (!menu)
+		return;
+	sym = menu->sym;
+	if (!sym) {
+		if (item->menu->list)
+			item->setOpen(!item->isOpen());
+		return;
+	}
+
+	type = sym_get_type(sym);
+	switch (type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		oldexpr = sym_get_tristate_value(sym);
+		newexpr = sym_toggle_tristate_value(sym);
+		if (item->menu->list) {
+			if (oldexpr == newexpr)
+				item->setOpen(!item->isOpen());
+			else if (oldexpr == no)
+				item->setOpen(TRUE);
+		}
+		if (oldexpr != newexpr)
+			parent()->updateList(item);
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+#if QT_VERSION >= 300
+		if (colMap[dataColIdx] >= 0)
+			item->startRename(colMap[dataColIdx]);
+		else
+#endif
+			parent()->lineEdit->show(item);
+		break;
+	}
+}
+
+void ConfigList::setRootMenu(struct menu *menu)
+{
+	enum prop_type type;
+
+	if (rootEntry == menu)
+		return;
+	type = menu && menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	if (type != P_MENU)
+		return;
+	updateMenuList(this, 0);
+	rootEntry = menu;
+	updateListAll();
+	setSelected(currentItem(), hasFocus());
+	ensureItemVisible(currentItem());
+}
+
+void ConfigList::setParentMenu(void)
+{
+	ConfigItem* item;
+	struct menu *oldroot;
+
+	oldroot = rootEntry;
+	if (rootEntry == &rootmenu)
+		return;
+	setRootMenu(menu_get_parent_menu(rootEntry->parent));
+
+	QListViewItemIterator it(this);
+	for (; (item = (ConfigItem*)it.current()); it++) {
+		if (item->menu == oldroot) {
+			setCurrentItem(item);
+			ensureItemVisible(item);
+			break;
+		}
+	}
+}
+
+/*
+ * update all the children of a menu entry
+ *   removes/adds the entries from the parent widget as necessary
+ *
+ * parent: either the menu list widget or a menu entry widget
+ * menu: entry to be updated
+ */
+template <class P>
+void ConfigList::updateMenuList(P* parent, struct menu* menu)
+{
+	struct menu* child;
+	ConfigItem* item;
+	ConfigItem* last;
+	bool visible;
+	enum prop_type type;
+
+	if (!menu) {
+		while ((item = parent->firstChild()))
+			delete item;
+		return;
+	}
+
+	last = parent->firstChild();
+	if (last && !last->goParent)
+		last = 0;
+	for (child = menu->list; child; child = child->next) {
+		item = last ? last->nextSibling() : parent->firstChild();
+		type = child->prompt ? child->prompt->type : P_UNKNOWN;
+
+		switch (mode) {
+		case menuMode:
+			if (!(child->flags & MENU_ROOT))
+				goto hide;
+			break;
+		case symbolMode:
+			if (child->flags & MENU_ROOT)
+				goto hide;
+			break;
+		default:
+			break;
+		}
+
+		visible = menu_is_visible(child);
+		if (showAll || visible) {
+			if (!child->sym && !child->list && !child->prompt)
+				continue;
+			if (!item || item->menu != child)
+				item = new ConfigItem(parent, last, child, visible);
+			else
+				item->testUpdateMenu(visible);
+
+			if (mode == fullMode || mode == menuMode || type != P_MENU)
+				updateMenuList(item, child);
+			else
+				updateMenuList(item, 0);
+			last = item;
+			continue;
+		}
+	hide:
+		if (item && item->menu == child) {
+			last = parent->firstChild();
+			if (last == item)
+				last = 0;
+			else while (last->nextSibling() != item)
+				last = last->nextSibling();
+			delete item;
+		}
+	}
+}
+
+void ConfigList::keyPressEvent(QKeyEvent* ev)
+{
+	QListViewItem* i = currentItem();
+	ConfigItem* item;
+	struct menu *menu;
+	enum prop_type type;
+
+	if (ev->key() == Key_Escape && mode != fullMode && mode != listMode) {
+		emit parentSelected();
+		ev->accept();
+		return;
+	}
+
+	if (!i) {
+		Parent::keyPressEvent(ev);
+		return;
+	}
+	item = (ConfigItem*)i;
+
+	switch (ev->key()) {
+	case Key_Return:
+	case Key_Enter:
+		if (item->goParent) {
+			emit parentSelected();
+			break;
+		}
+		menu = item->menu;
+		if (!menu)
+			break;
+		type = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+		if (type == P_MENU && rootEntry != menu &&
+		    mode != fullMode && mode != menuMode) {
+			emit menuSelected(menu);
+			break;
+		}
+	case Key_Space:
+		changeValue(item);
+		break;
+	case Key_N:
+		setValue(item, no);
+		break;
+	case Key_M:
+		setValue(item, mod);
+		break;
+	case Key_Y:
+		setValue(item, yes);
+		break;
+	default:
+		Parent::keyPressEvent(ev);
+		return;
+	}
+	ev->accept();
+}
+
+void ConfigList::contentsMousePressEvent(QMouseEvent* e)
+{
+	//QPoint p(contentsToViewport(e->pos()));
+	//printf("contentsMousePressEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMousePressEvent(e);
+}
+
+void ConfigList::contentsMouseReleaseEvent(QMouseEvent* e)
+{
+	QPoint p(contentsToViewport(e->pos()));
+	ConfigItem* item = (ConfigItem*)itemAt(p);
+	struct menu *menu;
+	enum prop_type ptype;
+	const QPixmap* pm;
+	int idx, x;
+
+	if (!item)
+		goto skip;
+
+	menu = item->menu;
+	x = header()->offset() + p.x();
+	idx = colRevMap[header()->sectionAt(x)];
+	switch (idx) {
+	case promptColIdx:
+		pm = item->pixmap(promptColIdx);
+		if (pm) {
+			int off = header()->sectionPos(0) + itemMargin() +
+				treeStepSize() * (item->depth() + (rootIsDecorated() ? 1 : 0));
+			if (x >= off && x < off + pm->width()) {
+				if (item->goParent) {
+					emit parentSelected();
+					break;
+				} else if (!menu)
+					break;
+				ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+				if (ptype == P_MENU && rootEntry != menu &&
+				    mode != fullMode && mode != menuMode)
+					emit menuSelected(menu);
+				else
+					changeValue(item);
+			}
+		}
+		break;
+	case noColIdx:
+		setValue(item, no);
+		break;
+	case modColIdx:
+		setValue(item, mod);
+		break;
+	case yesColIdx:
+		setValue(item, yes);
+		break;
+	case dataColIdx:
+		changeValue(item);
+		break;
+	}
+
+skip:
+	//printf("contentsMouseReleaseEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMouseReleaseEvent(e);
+}
+
+void ConfigList::contentsMouseMoveEvent(QMouseEvent* e)
+{
+	//QPoint p(contentsToViewport(e->pos()));
+	//printf("contentsMouseMoveEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMouseMoveEvent(e);
+}
+
+void ConfigList::contentsMouseDoubleClickEvent(QMouseEvent* e)
+{
+	QPoint p(contentsToViewport(e->pos()));
+	ConfigItem* item = (ConfigItem*)itemAt(p);
+	struct menu *menu;
+	enum prop_type ptype;
+
+	if (!item)
+		goto skip;
+	if (item->goParent) {
+		emit parentSelected();
+		goto skip;
+	}
+	menu = item->menu;
+	if (!menu)
+		goto skip;
+	ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	if (ptype == P_MENU && (mode == singleMode || mode == symbolMode))
+		emit menuSelected(menu);
+	else if (menu->sym)
+		changeValue(item);
+
+skip:
+	//printf("contentsMouseDoubleClickEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMouseDoubleClickEvent(e);
+}
+
+void ConfigList::focusInEvent(QFocusEvent *e)
+{
+	struct menu *menu = NULL;
+
+	Parent::focusInEvent(e);
+
+	ConfigItem* item = (ConfigItem *)currentItem();
+	if (item) {
+		setSelected(item, TRUE);
+		menu = item->menu;
+	}
+	emit gotFocus(menu);
+}
+
+void ConfigList::contextMenuEvent(QContextMenuEvent *e)
+{
+	if (e->y() <= header()->geometry().bottom()) {
+		if (!headerPopup) {
+			QAction *action;
+
+			headerPopup = new QPopupMenu(this);
+			action = new QAction(NULL, _("Show Name"), 0, this);
+			  action->setToggleAction(TRUE);
+			  connect(action, SIGNAL(toggled(bool)),
+				  parent(), SLOT(setShowName(bool)));
+			  connect(parent(), SIGNAL(showNameChanged(bool)),
+				  action, SLOT(setOn(bool)));
+			  action->setOn(showName);
+			  action->addTo(headerPopup);
+			action = new QAction(NULL, _("Show Range"), 0, this);
+			  action->setToggleAction(TRUE);
+			  connect(action, SIGNAL(toggled(bool)),
+				  parent(), SLOT(setShowRange(bool)));
+			  connect(parent(), SIGNAL(showRangeChanged(bool)),
+				  action, SLOT(setOn(bool)));
+			  action->setOn(showRange);
+			  action->addTo(headerPopup);
+			action = new QAction(NULL, _("Show Data"), 0, this);
+			  action->setToggleAction(TRUE);
+			  connect(action, SIGNAL(toggled(bool)),
+				  parent(), SLOT(setShowData(bool)));
+			  connect(parent(), SIGNAL(showDataChanged(bool)),
+				  action, SLOT(setOn(bool)));
+			  action->setOn(showData);
+			  action->addTo(headerPopup);
+		}
+		headerPopup->exec(e->globalPos());
+		e->accept();
+	} else
+		e->ignore();
+}
+
+ConfigView* ConfigView::viewList;
+
+ConfigView::ConfigView(QWidget* parent, const char *name)
+	: Parent(parent, name)
+{
+	list = new ConfigList(this, name);
+	lineEdit = new ConfigLineEdit(this);
+	lineEdit->hide();
+
+	this->nextView = viewList;
+	viewList = this;
+}
+
+ConfigView::~ConfigView(void)
+{
+	ConfigView** vp;
+
+	for (vp = &viewList; *vp; vp = &(*vp)->nextView) {
+		if (*vp == this) {
+			*vp = nextView;
+			break;
+		}
+	}
+}
+
+void ConfigView::setShowAll(bool b)
+{
+	if (list->showAll != b) {
+		list->showAll = b;
+		list->updateListAll();
+		emit showAllChanged(b);
+	}
+}
+
+void ConfigView::setShowName(bool b)
+{
+	if (list->showName != b) {
+		list->showName = b;
+		list->reinit();
+		emit showNameChanged(b);
+	}
+}
+
+void ConfigView::setShowRange(bool b)
+{
+	if (list->showRange != b) {
+		list->showRange = b;
+		list->reinit();
+		emit showRangeChanged(b);
+	}
+}
+
+void ConfigView::setShowData(bool b)
+{
+	if (list->showData != b) {
+		list->showData = b;
+		list->reinit();
+		emit showDataChanged(b);
+	}
+}
+
+void ConfigList::setAllOpen(bool open)
+{
+	QListViewItemIterator it(this);
+
+	for (; it.current(); it++)
+		it.current()->setOpen(open);
+}
+
+void ConfigView::updateList(ConfigItem* item)
+{
+	ConfigView* v;
+
+	for (v = viewList; v; v = v->nextView)
+		v->list->updateList(item);
+}
+
+void ConfigView::updateListAll(void)
+{
+	ConfigView* v;
+
+	for (v = viewList; v; v = v->nextView)
+		v->list->updateListAll();
+}
+
+ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
+	: Parent(parent, name), menu(0), sym(0)
+{
+	if (name) {
+		configSettings->beginGroup(name);
+		_showDebug = configSettings->readBoolEntry("/showDebug", false);
+		configSettings->endGroup();
+		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+	}
+}
+
+void ConfigInfoView::saveSettings(void)
+{
+	if (name()) {
+		configSettings->beginGroup(name());
+		configSettings->writeEntry("/showDebug", showDebug());
+		configSettings->endGroup();
+	}
+}
+
+void ConfigInfoView::setShowDebug(bool b)
+{
+	if (_showDebug != b) {
+		_showDebug = b;
+		if (menu)
+			menuInfo();
+		else if (sym)
+			symbolInfo();
+		emit showDebugChanged(b);
+	}
+}
+
+void ConfigInfoView::setInfo(struct menu *m)
+{
+	if (menu == m)
+		return;
+	menu = m;
+	sym = NULL;
+	if (!menu)
+		clear();
+	else
+		menuInfo();
+}
+
+void ConfigInfoView::setSource(const QString& name)
+{
+	const char *p = name.latin1();
+
+	menu = NULL;
+	sym = NULL;
+
+	switch (p[0]) {
+	case 'm':
+		struct menu *m;
+
+		if (sscanf(p, "m%p", &m) == 1 && menu != m) {
+			menu = m;
+			menuInfo();
+			emit menuSelected(menu);
+		}
+		break;
+	case 's':
+		struct symbol *s;
+
+		if (sscanf(p, "s%p", &s) == 1 && sym != s) {
+			sym = s;
+			symbolInfo();
+		}
+		break;
+	}
+}
+
+void ConfigInfoView::symbolInfo(void)
+{
+	QString str;
+
+	str += "<big>Symbol: <b>";
+	str += print_filter(sym->name);
+	str += "</b></big><br><br>value: ";
+	str += print_filter(sym_get_string_value(sym));
+	str += "<br>visibility: ";
+	str += sym->visible == yes ? "y" : sym->visible == mod ? "m" : "n";
+	str += "<br>";
+	str += debug_info(sym);
+
+	setText(str);
+}
+
+void ConfigInfoView::menuInfo(void)
+{
+	struct symbol* sym;
+	QString head, debug, help;
+
+	sym = menu->sym;
+	if (sym) {
+		if (menu->prompt) {
+			head += "<big><b>";
+			head += print_filter(_(menu->prompt->text));
+			head += "</b></big>";
+			if (sym->name) {
+				head += " (";
+				if (showDebug())
+					head += QString().sprintf("<a href=\"s%p\">", sym);
+				head += print_filter(sym->name);
+				if (showDebug())
+					head += "</a>";
+				head += ")";
+			}
+		} else if (sym->name) {
+			head += "<big><b>";
+			if (showDebug())
+				head += QString().sprintf("<a href=\"s%p\">", sym);
+			head += print_filter(sym->name);
+			if (showDebug())
+				head += "</a>";
+			head += "</b></big>";
+		}
+		head += "<br><br>";
+
+		if (showDebug())
+			debug = debug_info(sym);
+
+		help = menu_get_help(menu);
+		/* Gettextize if the help text not empty */
+		if (help.isEmpty())
+			help = print_filter(menu_get_help(menu));
+		else
+			help = print_filter(_(menu_get_help(menu)));
+	} else if (menu->prompt) {
+		head += "<big><b>";
+		head += print_filter(_(menu->prompt->text));
+		head += "</b></big><br><br>";
+		if (showDebug()) {
+			if (menu->prompt->visible.expr) {
+				debug += "&nbsp;&nbsp;dep: ";
+				expr_print(menu->prompt->visible.expr, expr_print_help, &debug, E_NONE);
+				debug += "<br><br>";
+			}
+		}
+	}
+	if (showDebug())
+		debug += QString().sprintf("defined at %s:%d<br><br>", menu->file->name, menu->lineno);
+
+	setText(head + debug + help);
+}
+
+QString ConfigInfoView::debug_info(struct symbol *sym)
+{
+	QString debug;
+
+	debug += "type: ";
+	debug += print_filter(sym_type_name(sym->type));
+	if (sym_is_choice(sym))
+		debug += " (choice)";
+	debug += "<br>";
+	if (sym->rev_dep.expr) {
+		debug += "reverse dep: ";
+		expr_print(sym->rev_dep.expr, expr_print_help, &debug, E_NONE);
+		debug += "<br>";
+	}
+	for (struct property *prop = sym->prop; prop; prop = prop->next) {
+		switch (prop->type) {
+		case P_PROMPT:
+		case P_MENU:
+			debug += QString().sprintf("prompt: <a href=\"m%p\">", prop->menu);
+			debug += print_filter(_(prop->text));
+			debug += "</a><br>";
+			break;
+		case P_DEFAULT:
+		case P_SELECT:
+		case P_RANGE:
+		case P_ENV:
+			debug += prop_get_type_name(prop->type);
+			debug += ": ";
+			expr_print(prop->expr, expr_print_help, &debug, E_NONE);
+			debug += "<br>";
+			break;
+		case P_CHOICE:
+			if (sym_is_choice(sym)) {
+				debug += "choice: ";
+				expr_print(prop->expr, expr_print_help, &debug, E_NONE);
+				debug += "<br>";
+			}
+			break;
+		default:
+			debug += "unknown property: ";
+			debug += prop_get_type_name(prop->type);
+			debug += "<br>";
+		}
+		if (prop->visible.expr) {
+			debug += "&nbsp;&nbsp;&nbsp;&nbsp;dep: ";
+			expr_print(prop->visible.expr, expr_print_help, &debug, E_NONE);
+			debug += "<br>";
+		}
+	}
+	debug += "<br>";
+
+	return debug;
+}
+
+QString ConfigInfoView::print_filter(const QString &str)
+{
+	QRegExp re("[<>&\"\\n]");
+	QString res = str;
+	for (int i = 0; (i = res.find(re, i)) >= 0;) {
+		switch (res[i].latin1()) {
+		case '<':
+			res.replace(i, 1, "&lt;");
+			i += 4;
+			break;
+		case '>':
+			res.replace(i, 1, "&gt;");
+			i += 4;
+			break;
+		case '&':
+			res.replace(i, 1, "&amp;");
+			i += 5;
+			break;
+		case '"':
+			res.replace(i, 1, "&quot;");
+			i += 6;
+			break;
+		case '\n':
+			res.replace(i, 1, "<br>");
+			i += 4;
+			break;
+		}
+	}
+	return res;
+}
+
+void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char *str)
+{
+	QString* text = reinterpret_cast<QString*>(data);
+	QString str2 = print_filter(str);
+
+	if (sym && sym->name && !(sym->flags & SYMBOL_CONST)) {
+		*text += QString().sprintf("<a href=\"s%p\">", sym);
+		*text += str2;
+		*text += "</a>";
+	} else
+		*text += str2;
+}
+
+QPopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos)
+{
+	QPopupMenu* popup = Parent::createPopupMenu(pos);
+	QAction* action = new QAction(NULL, _("Show Debug Info"), 0, popup);
+	  action->setToggleAction(TRUE);
+	  connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool)));
+	  connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool)));
+	  action->setOn(showDebug());
+	popup->insertSeparator();
+	action->addTo(popup);
+	return popup;
+}
+
+void ConfigInfoView::contentsContextMenuEvent(QContextMenuEvent *e)
+{
+	Parent::contentsContextMenuEvent(e);
+}
+
+ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *name)
+	: Parent(parent, name), result(NULL)
+{
+	setCaption("Search Config");
+
+	QVBoxLayout* layout1 = new QVBoxLayout(this, 11, 6);
+	QHBoxLayout* layout2 = new QHBoxLayout(0, 0, 6);
+	layout2->addWidget(new QLabel(_("Find:"), this));
+	editField = new QLineEdit(this);
+	connect(editField, SIGNAL(returnPressed()), SLOT(search()));
+	layout2->addWidget(editField);
+	searchButton = new QPushButton(_("Search"), this);
+	searchButton->setAutoDefault(FALSE);
+	connect(searchButton, SIGNAL(clicked()), SLOT(search()));
+	layout2->addWidget(searchButton);
+	layout1->addLayout(layout2);
+
+	split = new QSplitter(this);
+	split->setOrientation(QSplitter::Vertical);
+	list = new ConfigView(split, name);
+	list->list->mode = listMode;
+	info = new ConfigInfoView(split, name);
+	connect(list->list, SIGNAL(menuChanged(struct menu *)),
+		info, SLOT(setInfo(struct menu *)));
+	connect(list->list, SIGNAL(menuChanged(struct menu *)),
+		parent, SLOT(setMenuLink(struct menu *)));
+
+	layout1->addWidget(split);
+
+	if (name) {
+		int x, y, width, height;
+		bool ok;
+
+		configSettings->beginGroup(name);
+		width = configSettings->readNumEntry("/window width", parent->width() / 2);
+		height = configSettings->readNumEntry("/window height", parent->height() / 2);
+		resize(width, height);
+		x = configSettings->readNumEntry("/window x", 0, &ok);
+		if (ok)
+			y = configSettings->readNumEntry("/window y", 0, &ok);
+		if (ok)
+			move(x, y);
+		QValueList<int> sizes = configSettings->readSizes("/split", &ok);
+		if (ok)
+			split->setSizes(sizes);
+		configSettings->endGroup();
+		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+	}
+}
+
+void ConfigSearchWindow::saveSettings(void)
+{
+	if (name()) {
+		configSettings->beginGroup(name());
+		configSettings->writeEntry("/window x", pos().x());
+		configSettings->writeEntry("/window y", pos().y());
+		configSettings->writeEntry("/window width", size().width());
+		configSettings->writeEntry("/window height", size().height());
+		configSettings->writeSizes("/split", split->sizes());
+		configSettings->endGroup();
+	}
+}
+
+void ConfigSearchWindow::search(void)
+{
+	struct symbol **p;
+	struct property *prop;
+	ConfigItem *lastItem = NULL;
+
+	free(result);
+	list->list->clear();
+	info->clear();
+
+	result = sym_re_search(editField->text().latin1());
+	if (!result)
+		return;
+	for (p = result; *p; p++) {
+		for_all_prompts((*p), prop)
+			lastItem = new ConfigItem(list->list, lastItem, prop->menu,
+						  menu_is_visible(prop->menu));
+	}
+}
+
+/*
+ * Construct the complete config widget
+ */
+ConfigMainWindow::ConfigMainWindow(void)
+	: searchWindow(0)
+{
+	QMenuBar* menu;
+	bool ok;
+	int x, y, width, height;
+	char title[256];
+
+	QWidget *d = configApp->desktop();
+	snprintf(title, sizeof(title), _("uClibc v%s Configuration"),
+		getenv("VERSION"));
+	setCaption(title);
+
+	width = configSettings->readNumEntry("/window width", d->width() - 64);
+	height = configSettings->readNumEntry("/window height", d->height() - 64);
+	resize(width, height);
+	x = configSettings->readNumEntry("/window x", 0, &ok);
+	if (ok)
+		y = configSettings->readNumEntry("/window y", 0, &ok);
+	if (ok)
+		move(x, y);
+
+	split1 = new QSplitter(this);
+	split1->setOrientation(QSplitter::Horizontal);
+	setCentralWidget(split1);
+
+	menuView = new ConfigView(split1, "menu");
+	menuList = menuView->list;
+
+	split2 = new QSplitter(split1);
+	split2->setOrientation(QSplitter::Vertical);
+
+	// create config tree
+	configView = new ConfigView(split2, "config");
+	configList = configView->list;
+
+	helpText = new ConfigInfoView(split2, "help");
+	helpText->setTextFormat(Qt::RichText);
+
+	setTabOrder(configList, helpText);
+	configList->setFocus();
+
+	menu = menuBar();
+	toolBar = new QToolBar("Tools", this);
+
+	backAction = new QAction("Back", QPixmap(xpm_back), _("Back"), 0, this);
+	  connect(backAction, SIGNAL(activated()), SLOT(goBack()));
+	  backAction->setEnabled(FALSE);
+	QAction *quitAction = new QAction("Quit", _("&Quit"), CTRL+Key_Q, this);
+	  connect(quitAction, SIGNAL(activated()), SLOT(close()));
+	QAction *loadAction = new QAction("Load", QPixmap(xpm_load), _("&Load"), CTRL+Key_L, this);
+	  connect(loadAction, SIGNAL(activated()), SLOT(loadConfig()));
+	saveAction = new QAction("Save", QPixmap(xpm_save), _("&Save"), CTRL+Key_S, this);
+	  connect(saveAction, SIGNAL(activated()), SLOT(saveConfig()));
+	conf_set_changed_callback(conf_changed);
+	// Set saveAction's initial state
+	conf_changed();
+	QAction *saveAsAction = new QAction("Save As...", _("Save &As..."), 0, this);
+	  connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs()));
+	QAction *searchAction = new QAction("Find", _("&Find"), CTRL+Key_F, this);
+	  connect(searchAction, SIGNAL(activated()), SLOT(searchConfig()));
+	QAction *singleViewAction = new QAction("Single View", QPixmap(xpm_single_view), _("Single View"), 0, this);
+	  connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView()));
+	QAction *splitViewAction = new QAction("Split View", QPixmap(xpm_split_view), _("Split View"), 0, this);
+	  connect(splitViewAction, SIGNAL(activated()), SLOT(showSplitView()));
+	QAction *fullViewAction = new QAction("Full View", QPixmap(xpm_tree_view), _("Full View"), 0, this);
+	  connect(fullViewAction, SIGNAL(activated()), SLOT(showFullView()));
+
+	QAction *showNameAction = new QAction(NULL, _("Show Name"), 0, this);
+	  showNameAction->setToggleAction(TRUE);
+	  connect(showNameAction, SIGNAL(toggled(bool)), configView, SLOT(setShowName(bool)));
+	  connect(configView, SIGNAL(showNameChanged(bool)), showNameAction, SLOT(setOn(bool)));
+	  showNameAction->setOn(configView->showName());
+	QAction *showRangeAction = new QAction(NULL, _("Show Range"), 0, this);
+	  showRangeAction->setToggleAction(TRUE);
+	  connect(showRangeAction, SIGNAL(toggled(bool)), configView, SLOT(setShowRange(bool)));
+	  connect(configView, SIGNAL(showRangeChanged(bool)), showRangeAction, SLOT(setOn(bool)));
+	  showRangeAction->setOn(configList->showRange);
+	QAction *showDataAction = new QAction(NULL, _("Show Data"), 0, this);
+	  showDataAction->setToggleAction(TRUE);
+	  connect(showDataAction, SIGNAL(toggled(bool)), configView, SLOT(setShowData(bool)));
+	  connect(configView, SIGNAL(showDataChanged(bool)), showDataAction, SLOT(setOn(bool)));
+	  showDataAction->setOn(configList->showData);
+	QAction *showAllAction = new QAction(NULL, _("Show All Options"), 0, this);
+	  showAllAction->setToggleAction(TRUE);
+	  connect(showAllAction, SIGNAL(toggled(bool)), configView, SLOT(setShowAll(bool)));
+	  connect(showAllAction, SIGNAL(toggled(bool)), menuView, SLOT(setShowAll(bool)));
+	  showAllAction->setOn(configList->showAll);
+	QAction *showDebugAction = new QAction(NULL, _("Show Debug Info"), 0, this);
+	  showDebugAction->setToggleAction(TRUE);
+	  connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool)));
+	  connect(helpText, SIGNAL(showDebugChanged(bool)), showDebugAction, SLOT(setOn(bool)));
+	  showDebugAction->setOn(helpText->showDebug());
+
+	QAction *showIntroAction = new QAction(NULL, _("Introduction"), 0, this);
+	  connect(showIntroAction, SIGNAL(activated()), SLOT(showIntro()));
+	QAction *showAboutAction = new QAction(NULL, _("About"), 0, this);
+	  connect(showAboutAction, SIGNAL(activated()), SLOT(showAbout()));
+
+	// init tool bar
+	backAction->addTo(toolBar);
+	toolBar->addSeparator();
+	loadAction->addTo(toolBar);
+	saveAction->addTo(toolBar);
+	toolBar->addSeparator();
+	singleViewAction->addTo(toolBar);
+	splitViewAction->addTo(toolBar);
+	fullViewAction->addTo(toolBar);
+
+	// create config menu
+	QPopupMenu* config = new QPopupMenu(this);
+	menu->insertItem(_("&File"), config);
+	loadAction->addTo(config);
+	saveAction->addTo(config);
+	saveAsAction->addTo(config);
+	config->insertSeparator();
+	quitAction->addTo(config);
+
+	// create edit menu
+	QPopupMenu* editMenu = new QPopupMenu(this);
+	menu->insertItem(_("&Edit"), editMenu);
+	searchAction->addTo(editMenu);
+
+	// create options menu
+	QPopupMenu* optionMenu = new QPopupMenu(this);
+	menu->insertItem(_("&Option"), optionMenu);
+	showNameAction->addTo(optionMenu);
+	showRangeAction->addTo(optionMenu);
+	showDataAction->addTo(optionMenu);
+	optionMenu->insertSeparator();
+	showAllAction->addTo(optionMenu);
+	showDebugAction->addTo(optionMenu);
+
+	// create help menu
+	QPopupMenu* helpMenu = new QPopupMenu(this);
+	menu->insertSeparator();
+	menu->insertItem(_("&Help"), helpMenu);
+	showIntroAction->addTo(helpMenu);
+	showAboutAction->addTo(helpMenu);
+
+	connect(configList, SIGNAL(menuChanged(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(configList, SIGNAL(menuSelected(struct menu *)),
+		SLOT(changeMenu(struct menu *)));
+	connect(configList, SIGNAL(parentSelected()),
+		SLOT(goBack()));
+	connect(menuList, SIGNAL(menuChanged(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(menuList, SIGNAL(menuSelected(struct menu *)),
+		SLOT(changeMenu(struct menu *)));
+
+	connect(configList, SIGNAL(gotFocus(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(menuList, SIGNAL(gotFocus(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(menuList, SIGNAL(gotFocus(struct menu *)),
+		SLOT(listFocusChanged(void)));
+	connect(helpText, SIGNAL(menuSelected(struct menu *)),
+		SLOT(setMenuLink(struct menu *)));
+
+	QString listMode = configSettings->readEntry("/listMode", "symbol");
+	if (listMode == "single")
+		showSingleView();
+	else if (listMode == "full")
+		showFullView();
+	else /*if (listMode == "split")*/
+		showSplitView();
+
+	// UI setup done, restore splitter positions
+	QValueList<int> sizes = configSettings->readSizes("/split1", &ok);
+	if (ok)
+		split1->setSizes(sizes);
+
+	sizes = configSettings->readSizes("/split2", &ok);
+	if (ok)
+		split2->setSizes(sizes);
+}
+
+void ConfigMainWindow::loadConfig(void)
+{
+	QString s = QFileDialog::getOpenFileName(".config", NULL, this);
+	if (s.isNull())
+		return;
+	if (conf_read(QFile::encodeName(s)))
+		QMessageBox::information(this, "qconf", _("Unable to load configuration!"));
+	ConfigView::updateListAll();
+}
+
+void ConfigMainWindow::saveConfig(void)
+{
+	if (conf_write(NULL))
+		QMessageBox::information(this, "qconf", _("Unable to save configuration!"));
+}
+
+void ConfigMainWindow::saveConfigAs(void)
+{
+	QString s = QFileDialog::getSaveFileName(".config", NULL, this);
+	if (s.isNull())
+		return;
+	if (conf_write(QFile::encodeName(s)))
+		QMessageBox::information(this, "qconf", _("Unable to save configuration!"));
+}
+
+void ConfigMainWindow::searchConfig(void)
+{
+	if (!searchWindow)
+		searchWindow = new ConfigSearchWindow(this, "search");
+	searchWindow->show();
+}
+
+void ConfigMainWindow::changeMenu(struct menu *menu)
+{
+	configList->setRootMenu(menu);
+	if (configList->rootEntry->parent == &rootmenu)
+		backAction->setEnabled(FALSE);
+	else
+		backAction->setEnabled(TRUE);
+}
+
+void ConfigMainWindow::setMenuLink(struct menu *menu)
+{
+	struct menu *parent;
+	ConfigList* list = NULL;
+	ConfigItem* item;
+
+	if (!menu_is_visible(menu) && !configView->showAll())
+		return;
+
+	switch (configList->mode) {
+	case singleMode:
+		list = configList;
+		parent = menu_get_parent_menu(menu);
+		if (!parent)
+			return;
+		list->setRootMenu(parent);
+		break;
+	case symbolMode:
+		if (menu->flags & MENU_ROOT) {
+			configList->setRootMenu(menu);
+			configList->clearSelection();
+			list = menuList;
+		} else {
+			list = configList;
+			parent = menu_get_parent_menu(menu->parent);
+			if (!parent)
+				return;
+			item = menuList->findConfigItem(parent);
+			if (item) {
+				menuList->setSelected(item, TRUE);
+				menuList->ensureItemVisible(item);
+			}
+			list->setRootMenu(parent);
+		}
+		break;
+	case fullMode:
+		list = configList;
+		break;
+	}
+
+	if (list) {
+		item = list->findConfigItem(menu);
+		if (item) {
+			list->setSelected(item, TRUE);
+			list->ensureItemVisible(item);
+			list->setFocus();
+		}
+	}
+}
+
+void ConfigMainWindow::listFocusChanged(void)
+{
+	if (menuList->mode == menuMode)
+		configList->clearSelection();
+}
+
+void ConfigMainWindow::goBack(void)
+{
+	ConfigItem* item;
+
+	configList->setParentMenu();
+	if (configList->rootEntry == &rootmenu)
+		backAction->setEnabled(FALSE);
+	item = (ConfigItem*)menuList->selectedItem();
+	while (item) {
+		if (item->menu == configList->rootEntry) {
+			menuList->setSelected(item, TRUE);
+			break;
+		}
+		item = (ConfigItem*)item->parent();
+	}
+}
+
+void ConfigMainWindow::showSingleView(void)
+{
+	menuView->hide();
+	menuList->setRootMenu(0);
+	configList->mode = singleMode;
+	if (configList->rootEntry == &rootmenu)
+		configList->updateListAll();
+	else
+		configList->setRootMenu(&rootmenu);
+	configList->setAllOpen(TRUE);
+	configList->setFocus();
+}
+
+void ConfigMainWindow::showSplitView(void)
+{
+	configList->mode = symbolMode;
+	if (configList->rootEntry == &rootmenu)
+		configList->updateListAll();
+	else
+		configList->setRootMenu(&rootmenu);
+	configList->setAllOpen(TRUE);
+	configApp->processEvents();
+	menuList->mode = menuMode;
+	menuList->setRootMenu(&rootmenu);
+	menuList->setAllOpen(TRUE);
+	menuView->show();
+	menuList->setFocus();
+}
+
+void ConfigMainWindow::showFullView(void)
+{
+	menuView->hide();
+	menuList->setRootMenu(0);
+	configList->mode = fullMode;
+	if (configList->rootEntry == &rootmenu)
+		configList->updateListAll();
+	else
+		configList->setRootMenu(&rootmenu);
+	configList->setAllOpen(FALSE);
+	configList->setFocus();
+}
+
+/*
+ * ask for saving configuration before quitting
+ * TODO ask only when something changed
+ */
+void ConfigMainWindow::closeEvent(QCloseEvent* e)
+{
+	if (!conf_get_changed()) {
+		e->accept();
+		return;
+	}
+	QMessageBox mb("qconf", _("Save configuration?"), QMessageBox::Warning,
+			QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape);
+	mb.setButtonText(QMessageBox::Yes, _("&Save Changes"));
+	mb.setButtonText(QMessageBox::No, _("&Discard Changes"));
+	mb.setButtonText(QMessageBox::Cancel, _("Cancel Exit"));
+	switch (mb.exec()) {
+	case QMessageBox::Yes:
+		conf_write(NULL);
+	case QMessageBox::No:
+		e->accept();
+		break;
+	case QMessageBox::Cancel:
+		e->ignore();
+		break;
+	}
+}
+
+void ConfigMainWindow::showIntro(void)
+{
+	static const QString str = _("Welcome to the qconf graphical configuration tool for uClibc.\n\n"
+		"For each option, a blank box indicates the feature is disabled, a check\n"
+		"indicates it is enabled, and a dot indicates that it is to be compiled\n"
+		"as a module.  Clicking on the box will cycle through the three states.\n\n"
+		"If you do not see an option (e.g., a device driver) that you believe\n"
+		"should be present, try turning on Show All Options under the Options menu.\n"
+		"Although there is no cross reference yet to help you figure out what other\n"
+		"options must be enabled to support the option you are interested in, you can\n"
+		"still view the help of a grayed-out option.\n\n"
+		"Toggling Show Debug Info under the Options menu will show the dependencies,\n"
+		"which you can then match by examining other options.\n\n");
+
+	QMessageBox::information(this, "qconf", str);
+}
+
+void ConfigMainWindow::showAbout(void)
+{
+	static const QString str = _("qconf is Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>.\n\n"
+		"Bug reports and feature request can also be entered at https://bugs.uClibc.org/\n");
+
+	QMessageBox::information(this, "qconf", str);
+}
+
+void ConfigMainWindow::saveSettings(void)
+{
+	configSettings->writeEntry("/window x", pos().x());
+	configSettings->writeEntry("/window y", pos().y());
+	configSettings->writeEntry("/window width", size().width());
+	configSettings->writeEntry("/window height", size().height());
+
+	QString entry;
+	switch(configList->mode) {
+	case singleMode :
+		entry = "single";
+		break;
+
+	case symbolMode :
+		entry = "split";
+		break;
+
+	case fullMode :
+		entry = "full";
+		break;
+	}
+	configSettings->writeEntry("/listMode", entry);
+
+	configSettings->writeSizes("/split1", split1->sizes());
+	configSettings->writeSizes("/split2", split2->sizes());
+}
+
+void ConfigMainWindow::conf_changed(void)
+{
+	if (saveAction)
+		saveAction->setEnabled(conf_get_changed());
+}
+
+void fixup_rootmenu(struct menu *menu)
+{
+	struct menu *child;
+	static int menu_cnt = 0;
+
+	menu->flags |= MENU_ROOT;
+	for (child = menu->list; child; child = child->next) {
+		if (child->prompt && child->prompt->type == P_MENU) {
+			menu_cnt++;
+			fixup_rootmenu(child);
+			menu_cnt--;
+		} else if (!menu_cnt)
+			fixup_rootmenu(child);
+	}
+}
+
+static const char *progname;
+
+static void usage(void)
+{
+	printf(_("%s <config>\n"), progname);
+	exit(0);
+}
+
+int main(int ac, char** av)
+{
+	ConfigMainWindow* v;
+	const char *name;
+
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+#ifndef LKC_DIRECT_LINK
+	kconfig_load();
+#endif
+
+	progname = av[0];
+	configApp = new QApplication(ac, av);
+	if (ac > 1 && av[1][0] == '-') {
+		switch (av[1][1]) {
+		case 'h':
+		case '?':
+			usage();
+		}
+		name = av[2];
+	} else
+		name = av[1];
+	if (!name)
+		usage();
+
+	conf_parse(name);
+	fixup_rootmenu(&rootmenu);
+	conf_read(NULL);
+	//zconfdump(stdout);
+
+	configSettings = new ConfigSettings();
+	configSettings->beginGroup("/kconfig/qconf");
+	v = new ConfigMainWindow();
+
+	//zconfdump(stdout);
+	configApp->setMainWidget(v);
+	configApp->connect(configApp, SIGNAL(lastWindowClosed()), SLOT(quit()));
+	configApp->connect(configApp, SIGNAL(aboutToQuit()), v, SLOT(saveSettings()));
+	v->show();
+	configApp->exec();
+
+	configSettings->endGroup();
+	delete configSettings;
+
+	return 0;
+}
diff --git a/ap/build/uClibc/extra/config/qconf.h b/ap/build/uClibc/extra/config/qconf.h
new file mode 100644
index 0000000..b3b5657
--- /dev/null
+++ b/ap/build/uClibc/extra/config/qconf.h
@@ -0,0 +1,334 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <qlistview.h>
+#if QT_VERSION >= 300
+#include <qsettings.h>
+#else
+class QSettings {
+public:
+	void beginGroup(const QString& group) { }
+	void endGroup(void) { }
+	bool readBoolEntry(const QString& key, bool def = FALSE, bool* ok = 0) const
+	{ if (ok) *ok = FALSE; return def; }
+	int readNumEntry(const QString& key, int def = 0, bool* ok = 0) const
+	{ if (ok) *ok = FALSE; return def; }
+	QString readEntry(const QString& key, const QString& def = QString::null, bool* ok = 0) const
+	{ if (ok) *ok = FALSE; return def; }
+	QStringList readListEntry(const QString& key, bool* ok = 0) const
+	{ if (ok) *ok = FALSE; return QStringList(); }
+	template <class t>
+	bool writeEntry(const QString& key, t value)
+	{ return TRUE; }
+};
+#endif
+
+class ConfigView;
+class ConfigList;
+class ConfigItem;
+class ConfigLineEdit;
+class ConfigMainWindow;
+
+
+class ConfigSettings : public QSettings {
+public:
+	QValueList<int> readSizes(const QString& key, bool *ok);
+	bool writeSizes(const QString& key, const QValueList<int>& value);
+};
+
+enum colIdx {
+	promptColIdx, nameColIdx, noColIdx, modColIdx, yesColIdx, dataColIdx, colNr
+};
+enum listMode {
+	singleMode, menuMode, symbolMode, fullMode, listMode
+};
+
+class ConfigList : public QListView {
+	Q_OBJECT
+	typedef class QListView Parent;
+public:
+	ConfigList(ConfigView* p, const char *name = 0);
+	void reinit(void);
+	ConfigView* parent(void) const
+	{
+		return (ConfigView*)Parent::parent();
+	}
+	ConfigItem* findConfigItem(struct menu *);
+
+protected:
+	void keyPressEvent(QKeyEvent *e);
+	void contentsMousePressEvent(QMouseEvent *e);
+	void contentsMouseReleaseEvent(QMouseEvent *e);
+	void contentsMouseMoveEvent(QMouseEvent *e);
+	void contentsMouseDoubleClickEvent(QMouseEvent *e);
+	void focusInEvent(QFocusEvent *e);
+	void contextMenuEvent(QContextMenuEvent *e);
+
+public slots:
+	void setRootMenu(struct menu *menu);
+
+	void updateList(ConfigItem *item);
+	void setValue(ConfigItem* item, tristate val);
+	void changeValue(ConfigItem* item);
+	void updateSelection(void);
+	void saveSettings(void);
+signals:
+	void menuChanged(struct menu *menu);
+	void menuSelected(struct menu *menu);
+	void parentSelected(void);
+	void gotFocus(struct menu *);
+
+public:
+	void updateListAll(void)
+	{
+		updateAll = true;
+		updateList(NULL);
+		updateAll = false;
+	}
+	ConfigList* listView()
+	{
+		return this;
+	}
+	ConfigItem* firstChild() const
+	{
+		return (ConfigItem *)Parent::firstChild();
+	}
+	int mapIdx(colIdx idx)
+	{
+		return colMap[idx];
+	}
+	void addColumn(colIdx idx, const QString& label)
+	{
+		colMap[idx] = Parent::addColumn(label);
+		colRevMap[colMap[idx]] = idx;
+	}
+	void removeColumn(colIdx idx)
+	{
+		int col = colMap[idx];
+		if (col >= 0) {
+			Parent::removeColumn(col);
+			colRevMap[col] = colMap[idx] = -1;
+		}
+	}
+	void setAllOpen(bool open);
+	void setParentMenu(void);
+
+	template <class P>
+	void updateMenuList(P*, struct menu*);
+
+	bool updateAll;
+
+	QPixmap symbolYesPix, symbolModPix, symbolNoPix;
+	QPixmap choiceYesPix, choiceNoPix;
+	QPixmap menuPix, menuInvPix, menuBackPix, voidPix;
+
+	bool showAll, showName, showRange, showData;
+	enum listMode mode;
+	struct menu *rootEntry;
+	QColorGroup disabledColorGroup;
+	QColorGroup inactivedColorGroup;
+	QPopupMenu* headerPopup;
+
+private:
+	int colMap[colNr];
+	int colRevMap[colNr];
+};
+
+class ConfigItem : public QListViewItem {
+	typedef class QListViewItem Parent;
+public:
+	ConfigItem(QListView *parent, ConfigItem *after, struct menu *m, bool v)
+	: Parent(parent, after), menu(m), visible(v), goParent(false)
+	{
+		init();
+	}
+	ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v)
+	: Parent(parent, after), menu(m), visible(v), goParent(false)
+	{
+		init();
+	}
+	ConfigItem(QListView *parent, ConfigItem *after, bool v)
+	: Parent(parent, after), menu(0), visible(v), goParent(true)
+	{
+		init();
+	}
+	~ConfigItem(void);
+	void init(void);
+#if QT_VERSION >= 300
+	void okRename(int col);
+#endif
+	void updateMenu(void);
+	void testUpdateMenu(bool v);
+	ConfigList* listView() const
+	{
+		return (ConfigList*)Parent::listView();
+	}
+	ConfigItem* firstChild() const
+	{
+		return (ConfigItem *)Parent::firstChild();
+	}
+	ConfigItem* nextSibling() const
+	{
+		return (ConfigItem *)Parent::nextSibling();
+	}
+	void setText(colIdx idx, const QString& text)
+	{
+		Parent::setText(listView()->mapIdx(idx), text);
+	}
+	QString text(colIdx idx) const
+	{
+		return Parent::text(listView()->mapIdx(idx));
+	}
+	void setPixmap(colIdx idx, const QPixmap& pm)
+	{
+		Parent::setPixmap(listView()->mapIdx(idx), pm);
+	}
+	const QPixmap* pixmap(colIdx idx) const
+	{
+		return Parent::pixmap(listView()->mapIdx(idx));
+	}
+	void paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align);
+
+	ConfigItem* nextItem;
+	struct menu *menu;
+	bool visible;
+	bool goParent;
+};
+
+class ConfigLineEdit : public QLineEdit {
+	Q_OBJECT
+	typedef class QLineEdit Parent;
+public:
+	ConfigLineEdit(ConfigView* parent);
+	ConfigView* parent(void) const
+	{
+		return (ConfigView*)Parent::parent();
+	}
+	void show(ConfigItem *i);
+	void keyPressEvent(QKeyEvent *e);
+
+public:
+	ConfigItem *item;
+};
+
+class ConfigView : public QVBox {
+	Q_OBJECT
+	typedef class QVBox Parent;
+public:
+	ConfigView(QWidget* parent, const char *name = 0);
+	~ConfigView(void);
+	static void updateList(ConfigItem* item);
+	static void updateListAll(void);
+
+	bool showAll(void) const { return list->showAll; }
+	bool showName(void) const { return list->showName; }
+	bool showRange(void) const { return list->showRange; }
+	bool showData(void) const { return list->showData; }
+public slots:
+	void setShowAll(bool);
+	void setShowName(bool);
+	void setShowRange(bool);
+	void setShowData(bool);
+signals:
+	void showAllChanged(bool);
+	void showNameChanged(bool);
+	void showRangeChanged(bool);
+	void showDataChanged(bool);
+public:
+	ConfigList* list;
+	ConfigLineEdit* lineEdit;
+
+	static ConfigView* viewList;
+	ConfigView* nextView;
+};
+
+class ConfigInfoView : public QTextBrowser {
+	Q_OBJECT
+	typedef class QTextBrowser Parent;
+public:
+	ConfigInfoView(QWidget* parent, const char *name = 0);
+	bool showDebug(void) const { return _showDebug; }
+
+public slots:
+	void setInfo(struct menu *menu);
+	void saveSettings(void);
+	void setSource(const QString& name);
+	void setShowDebug(bool);
+
+signals:
+	void showDebugChanged(bool);
+	void menuSelected(struct menu *);
+
+protected:
+	void symbolInfo(void);
+	void menuInfo(void);
+	QString debug_info(struct symbol *sym);
+	static QString print_filter(const QString &str);
+	static void expr_print_help(void *data, struct symbol *sym, const char *str);
+	QPopupMenu* createPopupMenu(const QPoint& pos);
+	void contentsContextMenuEvent(QContextMenuEvent *e);
+
+	struct symbol *sym;
+	struct menu *menu;
+	bool _showDebug;
+};
+
+class ConfigSearchWindow : public QDialog {
+	Q_OBJECT
+	typedef class QDialog Parent;
+public:
+	ConfigSearchWindow(ConfigMainWindow* parent, const char *name = 0);
+
+public slots:
+	void saveSettings(void);
+	void search(void);
+
+protected:
+	QLineEdit* editField;
+	QPushButton* searchButton;
+	QSplitter* split;
+	ConfigView* list;
+	ConfigInfoView* info;
+
+	struct symbol **result;
+};
+
+class ConfigMainWindow : public QMainWindow {
+	Q_OBJECT
+
+	static QAction *saveAction;
+	static void conf_changed(void);
+public:
+	ConfigMainWindow(void);
+public slots:
+	void changeMenu(struct menu *);
+	void setMenuLink(struct menu *);
+	void listFocusChanged(void);
+	void goBack(void);
+	void loadConfig(void);
+	void saveConfig(void);
+	void saveConfigAs(void);
+	void searchConfig(void);
+	void showSingleView(void);
+	void showSplitView(void);
+	void showFullView(void);
+	void showIntro(void);
+	void showAbout(void);
+	void saveSettings(void);
+
+protected:
+	void closeEvent(QCloseEvent *e);
+
+	ConfigSearchWindow *searchWindow;
+	ConfigView *menuView;
+	ConfigList *menuList;
+	ConfigView *configView;
+	ConfigList *configList;
+	ConfigInfoView *helpText;
+	QToolBar *toolBar;
+	QAction *backAction;
+	QSplitter* split1;
+	QSplitter* split2;
+};
diff --git a/ap/build/uClibc/extra/config/symbol.c b/ap/build/uClibc/extra/config/symbol.c
new file mode 100644
index 0000000..b27047c
--- /dev/null
+++ b/ap/build/uClibc/extra/config/symbol.c
@@ -0,0 +1,973 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <regex.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+struct symbol symbol_yes = {
+	.name = "y",
+	.curr = { "y", yes },
+	.flags = SYMBOL_CONST|SYMBOL_VALID,
+}, symbol_mod = {
+	.name = "m",
+	.curr = { "m", mod },
+	.flags = SYMBOL_CONST|SYMBOL_VALID,
+}, symbol_no = {
+	.name = "n",
+	.curr = { "n", no },
+	.flags = SYMBOL_CONST|SYMBOL_VALID,
+}, symbol_empty = {
+	.name = "",
+	.curr = { "", no },
+	.flags = SYMBOL_VALID,
+};
+
+struct symbol *sym_defconfig_list;
+struct symbol *modules_sym;
+tristate modules_val;
+
+struct expr *sym_env_list;
+
+void sym_add_default(struct symbol *sym, const char *def)
+{
+	struct property *prop = prop_alloc(P_DEFAULT, sym);
+
+	prop->expr = expr_alloc_symbol(sym_lookup(def, SYMBOL_CONST));
+}
+
+void sym_init(void)
+{
+	struct symbol *sym;
+	char *p;
+	static bool inited = false;
+
+	if (inited)
+		return;
+	inited = true;
+
+	p = getenv("VERSION");
+	if (p) {
+		sym = sym_lookup("VERSION", 0);
+		sym->type = S_STRING;
+		sym->flags |= SYMBOL_AUTO;
+		sym_add_default(sym, p);
+	}
+}
+
+enum symbol_type sym_get_type(struct symbol *sym)
+{
+	enum symbol_type type = sym->type;
+
+	if (type == S_TRISTATE) {
+		if (sym_is_choice_value(sym) && sym->visible == yes)
+			type = S_BOOLEAN;
+		else if (modules_val == no)
+			type = S_BOOLEAN;
+	}
+	return type;
+}
+
+const char *sym_type_name(enum symbol_type type)
+{
+	switch (type) {
+	case S_BOOLEAN:
+		return "boolean";
+	case S_TRISTATE:
+		return "tristate";
+	case S_INT:
+		return "integer";
+	case S_HEX:
+		return "hex";
+	case S_STRING:
+		return "string";
+	case S_UNKNOWN:
+		return "unknown";
+	case S_OTHER:
+		break;
+	}
+	return "???";
+}
+
+struct property *sym_get_choice_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_choices(sym, prop)
+		return prop;
+	return NULL;
+}
+
+struct property *sym_get_env_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_properties(sym, prop, P_ENV)
+		return prop;
+	return NULL;
+}
+
+struct property *sym_get_default_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_defaults(sym, prop) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		if (prop->visible.tri != no)
+			return prop;
+	}
+	return NULL;
+}
+
+struct property *sym_get_range_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_properties(sym, prop, P_RANGE) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		if (prop->visible.tri != no)
+			return prop;
+	}
+	return NULL;
+}
+
+static int sym_get_range_val(struct symbol *sym, int base)
+{
+	sym_calc_value(sym);
+	switch (sym->type) {
+	case S_INT:
+		base = 10;
+		break;
+	case S_HEX:
+		base = 16;
+		break;
+	default:
+		break;
+	}
+	return strtol(sym->curr.val, NULL, base);
+}
+
+static void sym_validate_range(struct symbol *sym)
+{
+	struct property *prop;
+	int base, val, val2;
+	char str[64];
+
+	switch (sym->type) {
+	case S_INT:
+		base = 10;
+		break;
+	case S_HEX:
+		base = 16;
+		break;
+	default:
+		return;
+	}
+	prop = sym_get_range_prop(sym);
+	if (!prop)
+		return;
+	val = strtol(sym->curr.val, NULL, base);
+	val2 = sym_get_range_val(prop->expr->left.sym, base);
+	if (val >= val2) {
+		val2 = sym_get_range_val(prop->expr->right.sym, base);
+		if (val <= val2)
+			return;
+	}
+	if (sym->type == S_INT)
+		sprintf(str, "%d", val2);
+	else
+		sprintf(str, "0x%x", val2);
+	sym->curr.val = strdup(str);
+}
+
+static void sym_calc_visibility(struct symbol *sym)
+{
+	struct property *prop;
+	tristate tri;
+
+	/* any prompt visible? */
+	tri = no;
+	for_all_prompts(sym, prop) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		tri = EXPR_OR(tri, prop->visible.tri);
+	}
+	if (tri == mod && (sym->type != S_TRISTATE || modules_val == no))
+		tri = yes;
+	if (sym->visible != tri) {
+		sym->visible = tri;
+		sym_set_changed(sym);
+	}
+	if (sym_is_choice_value(sym))
+		return;
+	tri = no;
+	if (sym->rev_dep.expr)
+		tri = expr_calc_value(sym->rev_dep.expr);
+	if (tri == mod && sym_get_type(sym) == S_BOOLEAN)
+		tri = yes;
+	if (sym->rev_dep.tri != tri) {
+		sym->rev_dep.tri = tri;
+		sym_set_changed(sym);
+	}
+}
+
+static struct symbol *sym_calc_choice(struct symbol *sym)
+{
+	struct symbol *def_sym;
+	struct property *prop;
+	struct expr *e;
+
+	/* is the user choice visible? */
+	def_sym = sym->def[S_DEF_USER].val;
+	if (def_sym) {
+		sym_calc_visibility(def_sym);
+		if (def_sym->visible != no)
+			return def_sym;
+	}
+
+	/* any of the defaults visible? */
+	for_all_defaults(sym, prop) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		if (prop->visible.tri == no)
+			continue;
+		def_sym = prop_get_symbol(prop);
+		sym_calc_visibility(def_sym);
+		if (def_sym->visible != no)
+			return def_sym;
+	}
+
+	/* just get the first visible value */
+	prop = sym_get_choice_prop(sym);
+	expr_list_for_each_sym(prop->expr, e, def_sym) {
+		sym_calc_visibility(def_sym);
+		if (def_sym->visible != no)
+			return def_sym;
+	}
+
+	/* no choice? reset tristate value */
+	sym->curr.tri = no;
+	return NULL;
+}
+
+void sym_calc_value(struct symbol *sym)
+{
+	struct symbol_value newval, oldval;
+	struct property *prop;
+	struct expr *e;
+
+	if (!sym)
+		return;
+
+	if (sym->flags & SYMBOL_VALID)
+		return;
+	sym->flags |= SYMBOL_VALID;
+
+	oldval = sym->curr;
+
+	switch (sym->type) {
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		newval = symbol_empty.curr;
+		break;
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		newval = symbol_no.curr;
+		break;
+	default:
+		sym->curr.val = sym->name;
+		sym->curr.tri = no;
+		return;
+	}
+	if (!sym_is_choice_value(sym))
+		sym->flags &= ~SYMBOL_WRITE;
+
+	sym_calc_visibility(sym);
+
+	/* set default if recursively called */
+	sym->curr = newval;
+
+	switch (sym_get_type(sym)) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		if (sym_is_choice_value(sym) && sym->visible == yes) {
+			prop = sym_get_choice_prop(sym);
+			newval.tri = (prop_get_symbol(prop)->curr.val == sym) ? yes : no;
+		} else {
+			if (sym->visible != no) {
+				/* if the symbol is visible use the user value
+				 * if available, otherwise try the default value
+				 */
+				sym->flags |= SYMBOL_WRITE;
+				if (sym_has_value(sym)) {
+					newval.tri = EXPR_AND(sym->def[S_DEF_USER].tri,
+							      sym->visible);
+					goto calc_newval;
+				}
+			}
+			if (sym->rev_dep.tri != no)
+				sym->flags |= SYMBOL_WRITE;
+			if (!sym_is_choice(sym)) {
+				prop = sym_get_default_prop(sym);
+				if (prop) {
+					sym->flags |= SYMBOL_WRITE;
+					newval.tri = EXPR_AND(expr_calc_value(prop->expr),
+							      prop->visible.tri);
+				}
+			}
+		calc_newval:
+			newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
+		}
+		if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
+			newval.tri = yes;
+		break;
+	case S_STRING:
+	case S_HEX:
+	case S_INT:
+		if (sym->visible != no) {
+			sym->flags |= SYMBOL_WRITE;
+			if (sym_has_value(sym)) {
+				newval.val = sym->def[S_DEF_USER].val;
+				break;
+			}
+		}
+		prop = sym_get_default_prop(sym);
+		if (prop) {
+			struct symbol *ds = prop_get_symbol(prop);
+			if (ds) {
+				sym->flags |= SYMBOL_WRITE;
+				sym_calc_value(ds);
+				newval.val = ds->curr.val;
+			}
+		}
+		break;
+	default:
+		;
+	}
+
+	sym->curr = newval;
+	if (sym_is_choice(sym) && newval.tri == yes)
+		sym->curr.val = sym_calc_choice(sym);
+	sym_validate_range(sym);
+
+	if (memcmp(&oldval, &sym->curr, sizeof(oldval))) {
+		sym_set_changed(sym);
+		if (modules_sym == sym) {
+			sym_set_all_changed();
+			modules_val = modules_sym->curr.tri;
+		}
+	}
+
+	if (sym_is_choice(sym)) {
+		struct symbol *choice_sym;
+		int flags = sym->flags & (SYMBOL_CHANGED | SYMBOL_WRITE);
+
+		prop = sym_get_choice_prop(sym);
+		expr_list_for_each_sym(prop->expr, e, choice_sym) {
+			choice_sym->flags |= flags;
+			if (flags & SYMBOL_CHANGED)
+				sym_set_changed(choice_sym);
+		}
+	}
+
+	if (sym->flags & SYMBOL_AUTO)
+		sym->flags &= ~SYMBOL_WRITE;
+}
+
+void sym_clear_all_valid(void)
+{
+	struct symbol *sym;
+	int i;
+
+	for_all_symbols(i, sym)
+		sym->flags &= ~SYMBOL_VALID;
+	sym_add_change_count(1);
+	if (modules_sym)
+		sym_calc_value(modules_sym);
+}
+
+void sym_set_changed(struct symbol *sym)
+{
+	struct property *prop;
+
+	sym->flags |= SYMBOL_CHANGED;
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu)
+			prop->menu->flags |= MENU_CHANGED;
+	}
+}
+
+void sym_set_all_changed(void)
+{
+	struct symbol *sym;
+	int i;
+
+	for_all_symbols(i, sym)
+		sym_set_changed(sym);
+}
+
+bool sym_tristate_within_range(struct symbol *sym, tristate val)
+{
+	int type = sym_get_type(sym);
+
+	if (sym->visible == no)
+		return false;
+
+	if (type != S_BOOLEAN && type != S_TRISTATE)
+		return false;
+
+	if (type == S_BOOLEAN && val == mod)
+		return false;
+	if (sym->visible <= sym->rev_dep.tri)
+		return false;
+	if (sym_is_choice_value(sym) && sym->visible == yes)
+		return val == yes;
+	return val >= sym->rev_dep.tri && val <= sym->visible;
+}
+
+bool sym_set_tristate_value(struct symbol *sym, tristate val)
+{
+	tristate oldval = sym_get_tristate_value(sym);
+
+	if (oldval != val && !sym_tristate_within_range(sym, val))
+		return false;
+
+	if (!(sym->flags & SYMBOL_DEF_USER)) {
+		sym->flags |= SYMBOL_DEF_USER;
+		sym_set_changed(sym);
+	}
+	/*
+	 * setting a choice value also resets the new flag of the choice
+	 * symbol and all other choice values.
+	 */
+	if (sym_is_choice_value(sym) && val == yes) {
+		struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym));
+		struct property *prop;
+		struct expr *e;
+
+		cs->def[S_DEF_USER].val = sym;
+		cs->flags |= SYMBOL_DEF_USER;
+		prop = sym_get_choice_prop(cs);
+		for (e = prop->expr; e; e = e->left.expr) {
+			if (e->right.sym->visible != no)
+				e->right.sym->flags |= SYMBOL_DEF_USER;
+		}
+	}
+
+	sym->def[S_DEF_USER].tri = val;
+	if (oldval != val)
+		sym_clear_all_valid();
+
+	return true;
+}
+
+tristate sym_toggle_tristate_value(struct symbol *sym)
+{
+	tristate oldval, newval;
+
+	oldval = newval = sym_get_tristate_value(sym);
+	do {
+		switch (newval) {
+		case no:
+			newval = mod;
+			break;
+		case mod:
+			newval = yes;
+			break;
+		case yes:
+			newval = no;
+			break;
+		}
+		if (sym_set_tristate_value(sym, newval))
+			break;
+	} while (oldval != newval);
+	return newval;
+}
+
+bool sym_string_valid(struct symbol *sym, const char *str)
+{
+	signed char ch;
+
+	switch (sym->type) {
+	case S_STRING:
+		return true;
+	case S_INT:
+		ch = *str++;
+		if (ch == '-')
+			ch = *str++;
+		if (!isdigit(ch))
+			return false;
+		if (ch == '0' && *str != 0)
+			return false;
+		while ((ch = *str++)) {
+			if (!isdigit(ch))
+				return false;
+		}
+		return true;
+	case S_HEX:
+		if (str[0] == '0' && (str[1] == 'x' || str[1] == 'X'))
+			str += 2;
+		ch = *str++;
+		do {
+			if (!isxdigit(ch))
+				return false;
+		} while ((ch = *str++));
+		return true;
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (str[0]) {
+		case 'y': case 'Y':
+		case 'm': case 'M':
+		case 'n': case 'N':
+			return true;
+		}
+		return false;
+	default:
+		return false;
+	}
+}
+
+bool sym_string_within_range(struct symbol *sym, const char *str)
+{
+	struct property *prop;
+	int val;
+
+	switch (sym->type) {
+	case S_STRING:
+		return sym_string_valid(sym, str);
+	case S_INT:
+		if (!sym_string_valid(sym, str))
+			return false;
+		prop = sym_get_range_prop(sym);
+		if (!prop)
+			return true;
+		val = strtol(str, NULL, 10);
+		return val >= sym_get_range_val(prop->expr->left.sym, 10) &&
+		       val <= sym_get_range_val(prop->expr->right.sym, 10);
+	case S_HEX:
+		if (!sym_string_valid(sym, str))
+			return false;
+		prop = sym_get_range_prop(sym);
+		if (!prop)
+			return true;
+		val = strtol(str, NULL, 16);
+		return val >= sym_get_range_val(prop->expr->left.sym, 16) &&
+		       val <= sym_get_range_val(prop->expr->right.sym, 16);
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (str[0]) {
+		case 'y': case 'Y':
+			return sym_tristate_within_range(sym, yes);
+		case 'm': case 'M':
+			return sym_tristate_within_range(sym, mod);
+		case 'n': case 'N':
+			return sym_tristate_within_range(sym, no);
+		}
+		return false;
+	default:
+		return false;
+	}
+}
+
+bool sym_set_string_value(struct symbol *sym, const char *newval)
+{
+	const char *oldval;
+	char *val;
+	int size;
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (newval[0]) {
+		case 'y': case 'Y':
+			return sym_set_tristate_value(sym, yes);
+		case 'm': case 'M':
+			return sym_set_tristate_value(sym, mod);
+		case 'n': case 'N':
+			return sym_set_tristate_value(sym, no);
+		}
+		return false;
+	default:
+		;
+	}
+
+	if (!sym_string_within_range(sym, newval))
+		return false;
+
+	if (!(sym->flags & SYMBOL_DEF_USER)) {
+		sym->flags |= SYMBOL_DEF_USER;
+		sym_set_changed(sym);
+	}
+
+	oldval = sym->def[S_DEF_USER].val;
+	size = strlen(newval) + 1;
+	if (sym->type == S_HEX && (newval[0] != '0' || (newval[1] != 'x' && newval[1] != 'X'))) {
+		size += 2;
+		sym->def[S_DEF_USER].val = val = malloc(size);
+		*val++ = '0';
+		*val++ = 'x';
+	} else if (!oldval || strcmp(oldval, newval))
+		sym->def[S_DEF_USER].val = val = malloc(size);
+	else
+		return true;
+
+	strcpy(val, newval);
+	free((void *)oldval);
+	sym_clear_all_valid();
+
+	return true;
+}
+
+const char *sym_get_string_value(struct symbol *sym)
+{
+	tristate val;
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		val = sym_get_tristate_value(sym);
+		switch (val) {
+		case no:
+			return "n";
+		case mod:
+			return "m";
+		case yes:
+			return "y";
+		}
+		break;
+	default:
+		;
+	}
+	return (const char *)sym->curr.val;
+}
+
+bool sym_is_changable(struct symbol *sym)
+{
+	return sym->visible > sym->rev_dep.tri;
+}
+
+struct symbol *sym_lookup(const char *name, int flags)
+{
+	struct symbol *symbol;
+	const char *ptr;
+	char *new_name;
+	int hash = 0;
+
+	if (name) {
+		if (name[0] && !name[1]) {
+			switch (name[0]) {
+			case 'y': return &symbol_yes;
+			case 'm': return &symbol_mod;
+			case 'n': return &symbol_no;
+			}
+		}
+		for (ptr = name; *ptr; ptr++)
+			hash += *ptr;
+		hash &= 0xff;
+
+		for (symbol = symbol_hash[hash]; symbol; symbol = symbol->next) {
+			if (!strcmp(symbol->name, name) &&
+			    (flags ? symbol->flags & flags
+				   : !(symbol->flags & (SYMBOL_CONST|SYMBOL_CHOICE))))
+				return symbol;
+		}
+		new_name = strdup(name);
+	} else {
+		new_name = NULL;
+		hash = 256;
+	}
+
+	symbol = malloc(sizeof(*symbol));
+	memset(symbol, 0, sizeof(*symbol));
+	symbol->name = new_name;
+	symbol->type = S_UNKNOWN;
+	symbol->flags |= flags;
+
+	symbol->next = symbol_hash[hash];
+	symbol_hash[hash] = symbol;
+
+	return symbol;
+}
+
+struct symbol *sym_find(const char *name)
+{
+	struct symbol *symbol = NULL;
+	const char *ptr;
+	int hash = 0;
+
+	if (!name)
+		return NULL;
+
+	if (name[0] && !name[1]) {
+		switch (name[0]) {
+		case 'y': return &symbol_yes;
+		case 'm': return &symbol_mod;
+		case 'n': return &symbol_no;
+		}
+	}
+	for (ptr = name; *ptr; ptr++)
+		hash += *ptr;
+	hash &= 0xff;
+
+	for (symbol = symbol_hash[hash]; symbol; symbol = symbol->next) {
+		if (!strcmp(symbol->name, name) &&
+		    !(symbol->flags & SYMBOL_CONST))
+				break;
+	}
+
+	return symbol;
+}
+
+struct symbol **sym_re_search(const char *pattern)
+{
+	struct symbol *sym, **sym_arr = NULL;
+	int i, cnt, size;
+	regex_t re;
+
+	cnt = size = 0;
+	/* Skip if empty */
+	if (strlen(pattern) == 0)
+		return NULL;
+	if (regcomp(&re, pattern, REG_EXTENDED|REG_NOSUB|REG_ICASE))
+		return NULL;
+
+	for_all_symbols(i, sym) {
+		if (sym->flags & SYMBOL_CONST || !sym->name)
+			continue;
+		if (regexec(&re, sym->name, 0, NULL, 0))
+			continue;
+		if (cnt + 1 >= size) {
+			void *tmp = sym_arr;
+			size += 16;
+			sym_arr = realloc(sym_arr, size * sizeof(struct symbol *));
+			if (!sym_arr) {
+				free(tmp);
+				return NULL;
+			}
+		}
+		sym_arr[cnt++] = sym;
+	}
+	if (sym_arr)
+		sym_arr[cnt] = NULL;
+	regfree(&re);
+
+	return sym_arr;
+}
+
+
+static struct symbol *sym_check_expr_deps(struct expr *e)
+{
+	struct symbol *sym;
+
+	if (!e)
+		return NULL;
+	switch (e->type) {
+	case E_OR:
+	case E_AND:
+		sym = sym_check_expr_deps(e->left.expr);
+		if (sym)
+			return sym;
+		return sym_check_expr_deps(e->right.expr);
+	case E_NOT:
+		return sym_check_expr_deps(e->left.expr);
+	case E_EQUAL:
+	case E_UNEQUAL:
+		sym = sym_check_deps(e->left.sym);
+		if (sym)
+			return sym;
+		return sym_check_deps(e->right.sym);
+	case E_SYMBOL:
+		return sym_check_deps(e->left.sym);
+	default:
+		break;
+	}
+	printf("Oops! How to check %d?\n", e->type);
+	return NULL;
+}
+
+/* return NULL when dependencies are OK */
+static struct symbol *sym_check_sym_deps(struct symbol *sym)
+{
+	struct symbol *sym2;
+	struct property *prop;
+
+	sym2 = sym_check_expr_deps(sym->rev_dep.expr);
+	if (sym2)
+		return sym2;
+
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->type == P_CHOICE || prop->type == P_SELECT)
+			continue;
+		sym2 = sym_check_expr_deps(prop->visible.expr);
+		if (sym2)
+			break;
+		if (prop->type != P_DEFAULT || sym_is_choice(sym))
+			continue;
+		sym2 = sym_check_expr_deps(prop->expr);
+		if (sym2)
+			break;
+	}
+
+	return sym2;
+}
+
+static struct symbol *sym_check_choice_deps(struct symbol *choice)
+{
+	struct symbol *sym, *sym2;
+	struct property *prop;
+	struct expr *e;
+
+	prop = sym_get_choice_prop(choice);
+	expr_list_for_each_sym(prop->expr, e, sym)
+		sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
+
+	choice->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
+	sym2 = sym_check_sym_deps(choice);
+	choice->flags &= ~SYMBOL_CHECK;
+	if (sym2)
+		goto out;
+
+	expr_list_for_each_sym(prop->expr, e, sym) {
+		sym2 = sym_check_sym_deps(sym);
+		if (sym2) {
+			fprintf(stderr, " -> %s", sym->name);
+			break;
+		}
+	}
+out:
+	expr_list_for_each_sym(prop->expr, e, sym)
+		sym->flags &= ~SYMBOL_CHECK;
+
+	if (sym2 && sym_is_choice_value(sym2) &&
+	    prop_get_symbol(sym_get_choice_prop(sym2)) == choice)
+		sym2 = choice;
+
+	return sym2;
+}
+
+struct symbol *sym_check_deps(struct symbol *sym)
+{
+	struct symbol *sym2;
+	struct property *prop;
+
+	if (sym->flags & SYMBOL_CHECK) {
+		fprintf(stderr, "%s:%d:error: found recursive dependency: %s",
+		        sym->prop->file->name, sym->prop->lineno,
+			sym->name ? sym->name : "<choice>");
+		return sym;
+	}
+	if (sym->flags & SYMBOL_CHECKED)
+		return NULL;
+
+	if (sym_is_choice_value(sym)) {
+		/* for choice groups start the check with main choice symbol */
+		prop = sym_get_choice_prop(sym);
+		sym2 = sym_check_deps(prop_get_symbol(prop));
+	} else if (sym_is_choice(sym)) {
+		sym2 = sym_check_choice_deps(sym);
+	} else {
+		sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
+		sym2 = sym_check_sym_deps(sym);
+		sym->flags &= ~SYMBOL_CHECK;
+	}
+
+	if (sym2) {
+		fprintf(stderr, " -> %s", sym->name ? sym->name : "<choice>");
+		if (sym2 == sym) {
+			fprintf(stderr, "\n");
+			zconfnerrs++;
+			sym2 = NULL;
+		}
+	}
+
+	return sym2;
+}
+
+struct property *prop_alloc(enum prop_type type, struct symbol *sym)
+{
+	struct property *prop;
+	struct property **propp;
+
+	prop = malloc(sizeof(*prop));
+	memset(prop, 0, sizeof(*prop));
+	prop->type = type;
+	prop->sym = sym;
+	prop->file = current_file;
+	prop->lineno = zconf_lineno();
+
+	/* append property to the prop list of symbol */
+	if (sym) {
+		for (propp = &sym->prop; *propp; propp = &(*propp)->next)
+			;
+		*propp = prop;
+	}
+
+	return prop;
+}
+
+struct symbol *prop_get_symbol(struct property *prop)
+{
+	if (prop->expr && (prop->expr->type == E_SYMBOL ||
+			   prop->expr->type == E_LIST))
+		return prop->expr->left.sym;
+	return NULL;
+}
+
+const char *prop_get_type_name(enum prop_type type)
+{
+	switch (type) {
+	case P_PROMPT:
+		return "prompt";
+	case P_ENV:
+		return "env";
+	case P_COMMENT:
+		return "comment";
+	case P_MENU:
+		return "menu";
+	case P_DEFAULT:
+		return "default";
+	case P_CHOICE:
+		return "choice";
+	case P_SELECT:
+		return "select";
+	case P_RANGE:
+		return "range";
+	case P_UNKNOWN:
+		break;
+	}
+	return "unknown";
+}
+
+void prop_add_env(const char *env)
+{
+	struct symbol *sym, *sym2;
+	struct property *prop;
+	char *p;
+
+	sym = current_entry->sym;
+	sym->flags |= SYMBOL_AUTO;
+	for_all_properties(sym, prop, P_ENV) {
+		sym2 = prop_get_symbol(prop);
+		if (strcmp(sym2->name, env))
+			menu_warn(current_entry, "redefining environment symbol from %s",
+				  sym2->name);
+		return;
+	}
+
+	prop = prop_alloc(P_ENV, sym);
+	prop->expr = expr_alloc_symbol(sym_lookup(env, SYMBOL_CONST));
+
+	sym_env_list = expr_alloc_one(E_LIST, sym_env_list);
+	sym_env_list->right.sym = sym;
+
+	p = getenv(env);
+	if (p)
+		sym_add_default(sym, p);
+	else
+		menu_warn(current_entry, "environment variable %s undefined", env);
+}
diff --git a/ap/build/uClibc/extra/config/util.c b/ap/build/uClibc/extra/config/util.c
new file mode 100644
index 0000000..3cc9f93
--- /dev/null
+++ b/ap/build/uClibc/extra/config/util.c
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2002-2005 Roman Zippel <zippel@linux-m68k.org>
+ * Copyright (C) 2002-2005 Sam Ravnborg <sam@ravnborg.org>
+ *
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <string.h>
+#include "lkc.h"
+
+/* file already present in list? If not add it */
+struct file *file_lookup(const char *name)
+{
+	struct file *file;
+
+	for (file = file_list; file; file = file->next) {
+		if (!strcmp(name, file->name))
+			return file;
+	}
+
+	file = malloc(sizeof(*file));
+	memset(file, 0, sizeof(*file));
+	file->name = strdup(name);
+	file->next = file_list;
+	file_list = file;
+	return file;
+}
+
+/* write a dependency file as used by kbuild to track dependencies */
+int file_write_dep(const char *name)
+{
+	struct symbol *sym, *env_sym;
+	struct expr *e;
+	struct file *file;
+	FILE *out;
+
+	if (!name)
+		name = ".kconfig.d";
+	out = fopen("..config.tmp", "w");
+	if (!out)
+		return 1;
+	fprintf(out, "deps_config := \\\n");
+	for (file = file_list; file; file = file->next) {
+		if (file->next)
+			fprintf(out, "\t%s \\\n", file->name);
+		else
+			fprintf(out, "\t%s\n", file->name);
+	}
+	fprintf(out, "\ninclude/config/auto.conf: \\\n"
+		     "\t$(deps_config)\n\n");
+
+	expr_list_for_each_sym(sym_env_list, e, sym) {
+		struct property *prop;
+		const char *value;
+
+		prop = sym_get_env_prop(sym);
+		env_sym = prop_get_symbol(prop);
+		if (!env_sym)
+			continue;
+		value = getenv(env_sym->name);
+		if (!value)
+			value = "";
+		fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value);
+		fprintf(out, "include/config/auto.conf: FORCE\n");
+		fprintf(out, "endif\n");
+	}
+
+	fprintf(out, "\n$(deps_config): ;\n");
+	fclose(out);
+	rename("..config.tmp", name);
+	return 0;
+}
+
+
+/* Allocate initial growable sting */
+struct gstr str_new(void)
+{
+	struct gstr gs;
+	gs.s = malloc(sizeof(char) * 64);
+	gs.len = 64;
+	strcpy(gs.s, "\0");
+	return gs;
+}
+
+/* Allocate and assign growable string */
+struct gstr str_assign(const char *s)
+{
+	struct gstr gs;
+	gs.s = strdup(s);
+	gs.len = strlen(s) + 1;
+	return gs;
+}
+
+/* Free storage for growable string */
+void str_free(struct gstr *gs)
+{
+	if (gs->s)
+		free(gs->s);
+	gs->s = NULL;
+	gs->len = 0;
+}
+
+/* Append to growable string */
+void str_append(struct gstr *gs, const char *s)
+{
+	size_t l;
+	if (s) {
+		l = strlen(gs->s) + strlen(s) + 1;
+		if (l > gs->len) {
+			gs->s   = realloc(gs->s, l);
+			gs->len = l;
+		}
+		strcat(gs->s, s);
+	}
+}
+
+/* Append printf formatted string to growable string */
+void str_printf(struct gstr *gs, const char *fmt, ...)
+{
+	va_list ap;
+	char s[10000]; /* big enough... */
+	va_start(ap, fmt);
+	vsnprintf(s, sizeof(s), fmt, ap);
+	str_append(gs, s);
+	va_end(ap);
+}
+
+/* Retrieve value of growable string */
+const char *str_get(struct gstr *gs)
+{
+	return gs->s;
+}
+
diff --git a/ap/build/uClibc/extra/config/zconf.gperf b/ap/build/uClibc/extra/config/zconf.gperf
new file mode 100644
index 0000000..25ef5d0
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.gperf
@@ -0,0 +1,44 @@
+%language=ANSI-C
+%define hash-function-name kconf_id_hash
+%define lookup-function-name kconf_id_lookup
+%define string-pool-name kconf_id_strings
+%compare-strncmp
+%enum
+%pic
+%struct-type
+
+struct kconf_id;
+
+%%
+mainmenu,	T_MAINMENU,	TF_COMMAND
+menu,		T_MENU,		TF_COMMAND
+endmenu,	T_ENDMENU,	TF_COMMAND
+source,		T_SOURCE,	TF_COMMAND
+choice,		T_CHOICE,	TF_COMMAND
+endchoice,	T_ENDCHOICE,	TF_COMMAND
+comment,	T_COMMENT,	TF_COMMAND
+config,		T_CONFIG,	TF_COMMAND
+menuconfig,	T_MENUCONFIG,	TF_COMMAND
+help,		T_HELP,		TF_COMMAND
+if,		T_IF,		TF_COMMAND|TF_PARAM
+endif,		T_ENDIF,	TF_COMMAND
+depends,	T_DEPENDS,	TF_COMMAND
+optional,	T_OPTIONAL,	TF_COMMAND
+default,	T_DEFAULT,	TF_COMMAND, S_UNKNOWN
+prompt,		T_PROMPT,	TF_COMMAND
+tristate,	T_TYPE,		TF_COMMAND, S_TRISTATE
+def_tristate,	T_DEFAULT,	TF_COMMAND, S_TRISTATE
+bool,		T_TYPE,		TF_COMMAND, S_BOOLEAN
+boolean,	T_TYPE,		TF_COMMAND, S_BOOLEAN
+def_bool,	T_DEFAULT,	TF_COMMAND, S_BOOLEAN
+int,		T_TYPE,		TF_COMMAND, S_INT
+hex,		T_TYPE,		TF_COMMAND, S_HEX
+string,		T_TYPE,		TF_COMMAND, S_STRING
+select,		T_SELECT,	TF_COMMAND
+range,		T_RANGE,	TF_COMMAND
+option,		T_OPTION,	TF_COMMAND
+on,		T_ON,		TF_PARAM
+modules,	T_OPT_MODULES,	TF_OPTION
+defconfig_list,	T_OPT_DEFCONFIG_LIST,TF_OPTION
+env,		T_OPT_ENV,	TF_OPTION
+%%
diff --git a/ap/build/uClibc/extra/config/zconf.hash.c b/ap/build/uClibc/extra/config/zconf.hash.c
new file mode 100644
index 0000000..5c73d51
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.hash.c
@@ -0,0 +1,237 @@
+/* ANSI-C code produced by gperf version 3.0.3 */
+/* Command-line: gperf  */
+/* Computed positions: -k'1,3' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+struct kconf_id;
+/* maximum key range = 47, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+kconf_id_hash (register const char *str, register unsigned int len)
+{
+  static unsigned char asso_values[] =
+    {
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 11,  5,
+       0,  0,  5, 49,  5, 20, 49, 49,  5, 20,
+       5,  0, 30, 49,  0, 15,  0, 10,  0, 49,
+      25, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49
+    };
+  register int hval = len;
+
+  switch (hval)
+    {
+      default:
+        hval += asso_values[(unsigned char)str[2]];
+      /*FALLTHROUGH*/
+      case 2:
+      case 1:
+        hval += asso_values[(unsigned char)str[0]];
+        break;
+    }
+  return hval;
+}
+
+struct kconf_id_strings_t
+  {
+    char kconf_id_strings_str2[sizeof("on")];
+    char kconf_id_strings_str3[sizeof("env")];
+    char kconf_id_strings_str5[sizeof("endif")];
+    char kconf_id_strings_str6[sizeof("option")];
+    char kconf_id_strings_str7[sizeof("endmenu")];
+    char kconf_id_strings_str8[sizeof("optional")];
+    char kconf_id_strings_str9[sizeof("endchoice")];
+    char kconf_id_strings_str10[sizeof("range")];
+    char kconf_id_strings_str11[sizeof("choice")];
+    char kconf_id_strings_str12[sizeof("default")];
+    char kconf_id_strings_str13[sizeof("def_bool")];
+    char kconf_id_strings_str14[sizeof("help")];
+    char kconf_id_strings_str15[sizeof("bool")];
+    char kconf_id_strings_str16[sizeof("config")];
+    char kconf_id_strings_str17[sizeof("def_tristate")];
+    char kconf_id_strings_str18[sizeof("boolean")];
+    char kconf_id_strings_str19[sizeof("defconfig_list")];
+    char kconf_id_strings_str21[sizeof("string")];
+    char kconf_id_strings_str22[sizeof("if")];
+    char kconf_id_strings_str23[sizeof("int")];
+    char kconf_id_strings_str26[sizeof("select")];
+    char kconf_id_strings_str27[sizeof("modules")];
+    char kconf_id_strings_str28[sizeof("tristate")];
+    char kconf_id_strings_str29[sizeof("menu")];
+    char kconf_id_strings_str31[sizeof("source")];
+    char kconf_id_strings_str32[sizeof("comment")];
+    char kconf_id_strings_str33[sizeof("hex")];
+    char kconf_id_strings_str35[sizeof("menuconfig")];
+    char kconf_id_strings_str36[sizeof("prompt")];
+    char kconf_id_strings_str37[sizeof("depends")];
+    char kconf_id_strings_str48[sizeof("mainmenu")];
+  };
+static struct kconf_id_strings_t kconf_id_strings_contents =
+  {
+    "on",
+    "env",
+    "endif",
+    "option",
+    "endmenu",
+    "optional",
+    "endchoice",
+    "range",
+    "choice",
+    "default",
+    "def_bool",
+    "help",
+    "bool",
+    "config",
+    "def_tristate",
+    "boolean",
+    "defconfig_list",
+    "string",
+    "if",
+    "int",
+    "select",
+    "modules",
+    "tristate",
+    "menu",
+    "source",
+    "comment",
+    "hex",
+    "menuconfig",
+    "prompt",
+    "depends",
+    "mainmenu"
+  };
+#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
+#ifdef __GNUC__
+__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+struct kconf_id *
+kconf_id_lookup (register const char *str, register unsigned int len)
+{
+  enum
+    {
+      TOTAL_KEYWORDS = 31,
+      MIN_WORD_LENGTH = 2,
+      MAX_WORD_LENGTH = 14,
+      MIN_HASH_VALUE = 2,
+      MAX_HASH_VALUE = 48
+    };
+
+  static struct kconf_id wordlist[] =
+    {
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2,		T_ON,		TF_PARAM},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3,		T_OPT_ENV,	TF_OPTION},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5,		T_ENDIF,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6,		T_OPTION,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7,	T_ENDMENU,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8,	T_OPTIONAL,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9,	T_ENDCHOICE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10,		T_RANGE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11,		T_CHOICE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12,	T_DEFAULT,	TF_COMMAND, S_UNKNOWN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13,	T_DEFAULT,	TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14,		T_HELP,		TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15,		T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16,		T_CONFIG,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17,	T_DEFAULT,	TF_COMMAND, S_TRISTATE},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18,	T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19,	T_OPT_DEFCONFIG_LIST,TF_OPTION},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21,		T_TYPE,		TF_COMMAND, S_STRING},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22,		T_IF,		TF_COMMAND|TF_PARAM},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23,		T_TYPE,		TF_COMMAND, S_INT},
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26,		T_SELECT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27,	T_OPT_MODULES,	TF_OPTION},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28,	T_TYPE,		TF_COMMAND, S_TRISTATE},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29,		T_MENU,		TF_COMMAND},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31,		T_SOURCE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32,	T_COMMENT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33,		T_TYPE,		TF_COMMAND, S_HEX},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35,	T_MENUCONFIG,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36,		T_PROMPT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37,	T_DEPENDS,	TF_COMMAND},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48,	T_MAINMENU,	TF_COMMAND}
+    };
+
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = kconf_id_hash (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int o = wordlist[key].name;
+          if (o >= 0)
+            {
+              register const char *s = o + kconf_id_strings;
+
+              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+                return &wordlist[key];
+            }
+        }
+    }
+  return 0;
+}
+
diff --git a/ap/build/uClibc/extra/config/zconf.hash.c_shipped b/ap/build/uClibc/extra/config/zconf.hash.c_shipped
new file mode 100644
index 0000000..5c73d51
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.hash.c_shipped
@@ -0,0 +1,237 @@
+/* ANSI-C code produced by gperf version 3.0.3 */
+/* Command-line: gperf  */
+/* Computed positions: -k'1,3' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+struct kconf_id;
+/* maximum key range = 47, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+kconf_id_hash (register const char *str, register unsigned int len)
+{
+  static unsigned char asso_values[] =
+    {
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 11,  5,
+       0,  0,  5, 49,  5, 20, 49, 49,  5, 20,
+       5,  0, 30, 49,  0, 15,  0, 10,  0, 49,
+      25, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+      49, 49, 49, 49, 49, 49
+    };
+  register int hval = len;
+
+  switch (hval)
+    {
+      default:
+        hval += asso_values[(unsigned char)str[2]];
+      /*FALLTHROUGH*/
+      case 2:
+      case 1:
+        hval += asso_values[(unsigned char)str[0]];
+        break;
+    }
+  return hval;
+}
+
+struct kconf_id_strings_t
+  {
+    char kconf_id_strings_str2[sizeof("on")];
+    char kconf_id_strings_str3[sizeof("env")];
+    char kconf_id_strings_str5[sizeof("endif")];
+    char kconf_id_strings_str6[sizeof("option")];
+    char kconf_id_strings_str7[sizeof("endmenu")];
+    char kconf_id_strings_str8[sizeof("optional")];
+    char kconf_id_strings_str9[sizeof("endchoice")];
+    char kconf_id_strings_str10[sizeof("range")];
+    char kconf_id_strings_str11[sizeof("choice")];
+    char kconf_id_strings_str12[sizeof("default")];
+    char kconf_id_strings_str13[sizeof("def_bool")];
+    char kconf_id_strings_str14[sizeof("help")];
+    char kconf_id_strings_str15[sizeof("bool")];
+    char kconf_id_strings_str16[sizeof("config")];
+    char kconf_id_strings_str17[sizeof("def_tristate")];
+    char kconf_id_strings_str18[sizeof("boolean")];
+    char kconf_id_strings_str19[sizeof("defconfig_list")];
+    char kconf_id_strings_str21[sizeof("string")];
+    char kconf_id_strings_str22[sizeof("if")];
+    char kconf_id_strings_str23[sizeof("int")];
+    char kconf_id_strings_str26[sizeof("select")];
+    char kconf_id_strings_str27[sizeof("modules")];
+    char kconf_id_strings_str28[sizeof("tristate")];
+    char kconf_id_strings_str29[sizeof("menu")];
+    char kconf_id_strings_str31[sizeof("source")];
+    char kconf_id_strings_str32[sizeof("comment")];
+    char kconf_id_strings_str33[sizeof("hex")];
+    char kconf_id_strings_str35[sizeof("menuconfig")];
+    char kconf_id_strings_str36[sizeof("prompt")];
+    char kconf_id_strings_str37[sizeof("depends")];
+    char kconf_id_strings_str48[sizeof("mainmenu")];
+  };
+static struct kconf_id_strings_t kconf_id_strings_contents =
+  {
+    "on",
+    "env",
+    "endif",
+    "option",
+    "endmenu",
+    "optional",
+    "endchoice",
+    "range",
+    "choice",
+    "default",
+    "def_bool",
+    "help",
+    "bool",
+    "config",
+    "def_tristate",
+    "boolean",
+    "defconfig_list",
+    "string",
+    "if",
+    "int",
+    "select",
+    "modules",
+    "tristate",
+    "menu",
+    "source",
+    "comment",
+    "hex",
+    "menuconfig",
+    "prompt",
+    "depends",
+    "mainmenu"
+  };
+#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
+#ifdef __GNUC__
+__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+struct kconf_id *
+kconf_id_lookup (register const char *str, register unsigned int len)
+{
+  enum
+    {
+      TOTAL_KEYWORDS = 31,
+      MIN_WORD_LENGTH = 2,
+      MAX_WORD_LENGTH = 14,
+      MIN_HASH_VALUE = 2,
+      MAX_HASH_VALUE = 48
+    };
+
+  static struct kconf_id wordlist[] =
+    {
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2,		T_ON,		TF_PARAM},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3,		T_OPT_ENV,	TF_OPTION},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5,		T_ENDIF,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str6,		T_OPTION,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7,	T_ENDMENU,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8,	T_OPTIONAL,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9,	T_ENDCHOICE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str10,		T_RANGE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str11,		T_CHOICE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12,	T_DEFAULT,	TF_COMMAND, S_UNKNOWN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13,	T_DEFAULT,	TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14,		T_HELP,		TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str15,		T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str16,		T_CONFIG,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17,	T_DEFAULT,	TF_COMMAND, S_TRISTATE},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18,	T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str19,	T_OPT_DEFCONFIG_LIST,TF_OPTION},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21,		T_TYPE,		TF_COMMAND, S_STRING},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22,		T_IF,		TF_COMMAND|TF_PARAM},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23,		T_TYPE,		TF_COMMAND, S_INT},
+      {-1}, {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str26,		T_SELECT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27,	T_OPT_MODULES,	TF_OPTION},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28,	T_TYPE,		TF_COMMAND, S_TRISTATE},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29,		T_MENU,		TF_COMMAND},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31,		T_SOURCE,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32,	T_COMMENT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33,		T_TYPE,		TF_COMMAND, S_HEX},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35,	T_MENUCONFIG,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36,		T_PROMPT,	TF_COMMAND},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str37,	T_DEPENDS,	TF_COMMAND},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1},
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str48,	T_MAINMENU,	TF_COMMAND}
+    };
+
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = kconf_id_hash (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int o = wordlist[key].name;
+          if (o >= 0)
+            {
+              register const char *s = o + kconf_id_strings;
+
+              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+                return &wordlist[key];
+            }
+        }
+    }
+  return 0;
+}
+
diff --git a/ap/build/uClibc/extra/config/zconf.l b/ap/build/uClibc/extra/config/zconf.l
new file mode 100644
index 0000000..21ff69c
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.l
@@ -0,0 +1,359 @@
+%option backup nostdinit noyywrap never-interactive full ecs
+%option 8bit backup nodefault perf-report perf-report
+%option noinput
+%x COMMAND HELP STRING PARAM
+%{
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+static struct {
+	struct file *file;
+	int lineno;
+} current_pos;
+
+static char *text;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static void zconf_endfile(void);
+
+void new_string(void)
+{
+	text = malloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_size = 0;
+	*text = 0;
+}
+
+void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		new_size += START_STRSIZE - 1;
+		new_size &= -START_STRSIZE;
+		text = realloc(text, new_size);
+		text_asize = new_size;
+	}
+	memcpy(text + text_size, str, size);
+	text_size += size;
+	text[text_size] = 0;
+}
+
+void alloc_string(const char *str, int size)
+{
+	text = malloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+%}
+
+ws	[ \n\t]
+n	[A-Za-z0-9_]
+
+%%
+	int str = 0;
+	int ts, i;
+
+[ \t]*#.*\n	|
+[ \t]*\n	{
+	current_file->lineno++;
+	return T_EOL;
+}
+[ \t]*#.*
+
+
+[ \t]+	{
+	BEGIN(COMMAND);
+}
+
+.	{
+	unput(yytext[0]);
+	BEGIN(COMMAND);
+}
+
+
+<COMMAND>{
+	{n}+	{
+		struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
+		BEGIN(PARAM);
+		current_pos.file = current_file;
+		current_pos.lineno = current_file->lineno;
+		if (id && id->flags & TF_COMMAND) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(yytext, yyleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	.
+	\n	{
+		BEGIN(INITIAL);
+		current_file->lineno++;
+		return T_EOL;
+	}
+}
+
+<PARAM>{
+	"&&"	return T_AND;
+	"||"	return T_OR;
+	"("	return T_OPEN_PAREN;
+	")"	return T_CLOSE_PAREN;
+	"!"	return T_NOT;
+	"="	return T_EQUAL;
+	"!="	return T_UNEQUAL;
+	\"|\'	{
+		str = yytext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	\n	BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	---	/* ignore */
+	({n}|[-/.])+	{
+		struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
+		if (id && id->flags & TF_PARAM) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(yytext, yyleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	#.*	/* comment */
+	\\\n	current_file->lineno++;
+	.
+	<<EOF>> {
+		BEGIN(INITIAL);
+	}
+}
+
+<STRING>{
+	[^'"\\\n]+/\n	{
+		append_string(yytext, yyleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	[^'"\\\n]+	{
+		append_string(yytext, yyleng);
+	}
+	\\.?/\n	{
+		append_string(yytext + 1, yyleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	\\.?	{
+		append_string(yytext + 1, yyleng - 1);
+	}
+	\'|\"	{
+		if (str == yytext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(yytext, 1);
+	}
+	\n	{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	<<EOF>>	{
+		BEGIN(INITIAL);
+	}
+}
+
+<HELP>{
+	[ \t]+	{
+		ts = 0;
+		for (i = 0; i < yyleng; i++) {
+			if (yytext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	[ \t]*\n/[^ \t\n] {
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	[ \t]*\n	{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	[^ \t\n].* {
+		while (yyleng) {
+			if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t'))
+				break;
+			yyleng--;
+		}
+		append_string(yytext, yyleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	<<EOF>>	{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+}
+
+<<EOF>>	{
+	if (current_file) {
+		zconf_endfile();
+		return T_EOL;
+	}
+	fclose(yyin);
+	yyterminate();
+}
+
+%%
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name != NULL && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	yyin = zconf_fopen(name);
+	if (!yyin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = malloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+	current_file->flags = FILE_BUSY;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *file = file_lookup(name);
+	struct buffer *buf = malloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	yyin = zconf_fopen(name);
+	if (!yyin) {
+		printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	if (file->flags & FILE_BUSY) {
+		printf("%s:%d: do not source '%s' from itself\n",
+		       zconf_curname(), zconf_lineno(), name);
+		exit(1);
+	}
+	if (file->flags & FILE_SCANNED) {
+		printf("%s:%d: file '%s' is already sourced from '%s'\n",
+		       zconf_curname(), zconf_lineno(), name,
+		       file->parent->name);
+		exit(1);
+	}
+	file->flags |= FILE_BUSY;
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static void zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file->flags |= FILE_SCANNED;
+	current_file->flags &= ~FILE_BUSY;
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(yyin);
+		yy_delete_buffer(YY_CURRENT_BUFFER);
+		yy_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+}
+
+int zconf_lineno(void)
+{
+	return current_pos.lineno;
+}
+
+char *zconf_curname(void)
+{
+	return current_pos.file ? current_pos.file->name : "<none>";
+}
diff --git a/ap/build/uClibc/extra/config/zconf.tab.c b/ap/build/uClibc/extra/config/zconf.tab.c
new file mode 100644
index 0000000..aa9cc28
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.tab.c
@@ -0,0 +1,2490 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* Substitute the variable and function names.  */
+#define yyparse zconfparse
+#define yylex   zconflex
+#define yyerror zconferror
+#define yylval  zconflval
+#define yychar  zconfchar
+#define yydebug zconfdebug
+#define yynerrs zconfnerrs
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     T_MAINMENU = 258,
+     T_MENU = 259,
+     T_ENDMENU = 260,
+     T_SOURCE = 261,
+     T_CHOICE = 262,
+     T_ENDCHOICE = 263,
+     T_COMMENT = 264,
+     T_CONFIG = 265,
+     T_MENUCONFIG = 266,
+     T_HELP = 267,
+     T_HELPTEXT = 268,
+     T_IF = 269,
+     T_ENDIF = 270,
+     T_DEPENDS = 271,
+     T_OPTIONAL = 272,
+     T_PROMPT = 273,
+     T_TYPE = 274,
+     T_DEFAULT = 275,
+     T_SELECT = 276,
+     T_RANGE = 277,
+     T_OPTION = 278,
+     T_ON = 279,
+     T_WORD = 280,
+     T_WORD_QUOTE = 281,
+     T_UNEQUAL = 282,
+     T_CLOSE_PAREN = 283,
+     T_OPEN_PAREN = 284,
+     T_EOL = 285,
+     T_OR = 286,
+     T_AND = 287,
+     T_EQUAL = 288,
+     T_NOT = 289
+   };
+#endif
+/* Tokens.  */
+#define T_MAINMENU 258
+#define T_MENU 259
+#define T_ENDMENU 260
+#define T_SOURCE 261
+#define T_CHOICE 262
+#define T_ENDCHOICE 263
+#define T_COMMENT 264
+#define T_CONFIG 265
+#define T_MENUCONFIG 266
+#define T_HELP 267
+#define T_HELPTEXT 268
+#define T_IF 269
+#define T_ENDIF 270
+#define T_DEPENDS 271
+#define T_OPTIONAL 272
+#define T_PROMPT 273
+#define T_TYPE 274
+#define T_DEFAULT 275
+#define T_SELECT 276
+#define T_RANGE 277
+#define T_OPTION 278
+#define T_ON 279
+#define T_WORD 280
+#define T_WORD_QUOTE 281
+#define T_UNEQUAL 282
+#define T_CLOSE_PAREN 283
+#define T_OPEN_PAREN 284
+#define T_EOL 285
+#define T_OR 286
+#define T_AND 287
+#define T_EQUAL 288
+#define T_NOT 289
+
+
+
+
+/* Copy the first part of user declarations.  */
+
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#include "zconf.hash.c"
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconf_error(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[257];
+
+static struct menu *current_menu, *current_entry;
+
+#define YYDEBUG 0
+#if YYDEBUG
+#define YYERROR_VERBOSE
+#endif
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+
+{
+	char *string;
+	struct file *file;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+	struct kconf_id *id;
+}
+/* Line 187 of yacc.c.  */
+
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 216 of yacc.c.  */
+
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+    int i;
+#endif
+{
+  return i;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  3
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   259
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  35
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  46
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  110
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  180
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   289
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     5,     6,     9,    12,    15,    20,    23,
+      28,    33,    37,    39,    41,    43,    45,    47,    49,    51,
+      53,    55,    57,    59,    61,    63,    67,    70,    74,    77,
+      81,    84,    85,    88,    91,    94,    97,   100,   103,   107,
+     112,   117,   122,   128,   132,   133,   137,   138,   141,   145,
+     148,   150,   154,   155,   158,   161,   164,   167,   170,   175,
+     179,   182,   187,   188,   191,   195,   197,   201,   202,   205,
+     208,   211,   215,   218,   220,   224,   225,   228,   231,   234,
+     238,   242,   245,   248,   251,   252,   255,   258,   261,   266,
+     267,   270,   272,   274,   277,   280,   283,   285,   288,   289,
+     292,   294,   298,   302,   306,   309,   313,   317,   319,   321,
+     322
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      36,     0,    -1,    37,    -1,    -1,    37,    39,    -1,    37,
+      53,    -1,    37,    64,    -1,    37,     3,    74,    76,    -1,
+      37,    75,    -1,    37,    25,     1,    30,    -1,    37,    38,
+       1,    30,    -1,    37,     1,    30,    -1,    16,    -1,    18,
+      -1,    19,    -1,    21,    -1,    17,    -1,    22,    -1,    20,
+      -1,    30,    -1,    59,    -1,    68,    -1,    42,    -1,    44,
+      -1,    66,    -1,    25,     1,    30,    -1,     1,    30,    -1,
+      10,    25,    30,    -1,    41,    45,    -1,    11,    25,    30,
+      -1,    43,    45,    -1,    -1,    45,    46,    -1,    45,    47,
+      -1,    45,    72,    -1,    45,    70,    -1,    45,    40,    -1,
+      45,    30,    -1,    19,    73,    30,    -1,    18,    74,    77,
+      30,    -1,    20,    78,    77,    30,    -1,    21,    25,    77,
+      30,    -1,    22,    79,    79,    77,    30,    -1,    23,    48,
+      30,    -1,    -1,    48,    25,    49,    -1,    -1,    33,    74,
+      -1,     7,    80,    30,    -1,    50,    54,    -1,    75,    -1,
+      51,    56,    52,    -1,    -1,    54,    55,    -1,    54,    72,
+      -1,    54,    70,    -1,    54,    30,    -1,    54,    40,    -1,
+      18,    74,    77,    30,    -1,    19,    73,    30,    -1,    17,
+      30,    -1,    20,    25,    77,    30,    -1,    -1,    56,    39,
+      -1,    14,    78,    76,    -1,    75,    -1,    57,    60,    58,
+      -1,    -1,    60,    39,    -1,    60,    64,    -1,    60,    53,
+      -1,     4,    74,    30,    -1,    61,    71,    -1,    75,    -1,
+      62,    65,    63,    -1,    -1,    65,    39,    -1,    65,    64,
+      -1,    65,    53,    -1,     6,    74,    30,    -1,     9,    74,
+      30,    -1,    67,    71,    -1,    12,    30,    -1,    69,    13,
+      -1,    -1,    71,    72,    -1,    71,    30,    -1,    71,    40,
+      -1,    16,    24,    78,    30,    -1,    -1,    74,    77,    -1,
+      25,    -1,    26,    -1,     5,    30,    -1,     8,    30,    -1,
+      15,    30,    -1,    30,    -1,    76,    30,    -1,    -1,    14,
+      78,    -1,    79,    -1,    79,    33,    79,    -1,    79,    27,
+      79,    -1,    29,    78,    28,    -1,    34,    78,    -1,    78,
+      31,    78,    -1,    78,    32,    78,    -1,    25,    -1,    26,
+      -1,    -1,    25,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,   104,   104,   106,   108,   109,   110,   111,   112,   113,
+     114,   118,   122,   122,   122,   122,   122,   122,   122,   126,
+     127,   128,   129,   130,   131,   135,   136,   142,   150,   156,
+     164,   174,   176,   177,   178,   179,   180,   181,   184,   192,
+     198,   208,   214,   220,   223,   225,   236,   237,   242,   251,
+     256,   264,   267,   269,   270,   271,   272,   273,   276,   282,
+     293,   299,   309,   311,   316,   324,   332,   335,   337,   338,
+     339,   344,   351,   356,   364,   367,   369,   370,   371,   374,
+     382,   389,   396,   402,   409,   411,   412,   413,   416,   424,
+     426,   431,   432,   435,   436,   437,   441,   442,   445,   446,
+     449,   450,   451,   452,   453,   454,   455,   458,   459,   462,
+     463
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU",
+  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
+  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
+  "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
+  "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
+  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
+  "T_NOT", "$accept", "input", "stmt_list", "option_name", "common_stmt",
+  "option_error", "config_entry_start", "config_stmt",
+  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
+  "config_option", "symbol_option", "symbol_option_list",
+  "symbol_option_arg", "choice", "choice_entry", "choice_end",
+  "choice_stmt", "choice_option_list", "choice_option", "choice_block",
+  "if_entry", "if_end", "if_stmt", "if_block", "menu", "menu_entry",
+  "menu_end", "menu_stmt", "menu_block", "source_stmt", "comment",
+  "comment_stmt", "help_start", "help", "depends_list", "depends",
+  "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr", "symbol",
+  "word_opt", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    35,    36,    37,    37,    37,    37,    37,    37,    37,
+      37,    37,    38,    38,    38,    38,    38,    38,    38,    39,
+      39,    39,    39,    39,    39,    40,    40,    41,    42,    43,
+      44,    45,    45,    45,    45,    45,    45,    45,    46,    46,
+      46,    46,    46,    47,    48,    48,    49,    49,    50,    51,
+      52,    53,    54,    54,    54,    54,    54,    54,    55,    55,
+      55,    55,    56,    56,    57,    58,    59,    60,    60,    60,
+      60,    61,    62,    63,    64,    65,    65,    65,    65,    66,
+      67,    68,    69,    70,    71,    71,    71,    71,    72,    73,
+      73,    74,    74,    75,    75,    75,    76,    76,    77,    77,
+      78,    78,    78,    78,    78,    78,    78,    79,    79,    80,
+      80
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     0,     2,     2,     2,     4,     2,     4,
+       4,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     3,     2,     3,     2,     3,
+       2,     0,     2,     2,     2,     2,     2,     2,     3,     4,
+       4,     4,     5,     3,     0,     3,     0,     2,     3,     2,
+       1,     3,     0,     2,     2,     2,     2,     2,     4,     3,
+       2,     4,     0,     2,     3,     1,     3,     0,     2,     2,
+       2,     3,     2,     1,     3,     0,     2,     2,     2,     3,
+       3,     2,     2,     2,     0,     2,     2,     2,     4,     0,
+       2,     1,     1,     2,     2,     2,     1,     2,     0,     2,
+       1,     3,     3,     3,     2,     3,     3,     1,     1,     0,
+       1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       3,     0,     0,     1,     0,     0,     0,     0,     0,   109,
+       0,     0,     0,     0,     0,     0,    12,    16,    13,    14,
+      18,    15,    17,     0,    19,     0,     4,    31,    22,    31,
+      23,    52,    62,     5,    67,    20,    84,    75,     6,    24,
+      84,    21,     8,    11,    91,    92,     0,     0,    93,     0,
+     110,     0,    94,     0,     0,     0,   107,   108,     0,     0,
+       0,   100,    95,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    96,     7,    71,    79,    48,    80,    27,
+      29,     0,   104,     0,     0,    64,     0,     0,     9,    10,
+       0,     0,     0,     0,    89,     0,     0,     0,    44,     0,
+      37,    36,    32,    33,     0,    35,    34,     0,     0,    89,
+       0,    56,    57,    53,    55,    54,    63,    51,    50,    68,
+      70,    66,    69,    65,    86,    87,    85,    76,    78,    74,
+      77,    73,    97,   103,   105,   106,   102,   101,    26,    82,
+       0,    98,     0,    98,    98,    98,     0,     0,     0,    83,
+      60,    98,     0,    98,     0,     0,     0,    38,    90,     0,
+       0,    98,    46,    43,    25,     0,    59,     0,    88,    99,
+      39,    40,    41,     0,     0,    45,    58,    61,    42,    47
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,     1,     2,    25,    26,   101,    27,    28,    29,    30,
+      65,   102,   103,   147,   175,    31,    32,   117,    33,    67,
+     113,    68,    34,   121,    35,    69,    36,    37,   129,    38,
+      71,    39,    40,    41,   104,   105,    70,   106,   142,   143,
+      42,    74,   156,    60,    61,    51
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -80
+static const yytype_int16 yypact[] =
+{
+     -80,     2,   132,   -80,   -13,    -1,    -1,    -2,    -1,     9,
+      33,    -1,    27,    40,    -3,    38,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,    71,   -80,    77,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,    57,    61,   -80,    63,
+     -80,    76,   -80,    87,   101,   133,   -80,   -80,    -3,    -3,
+     195,    -6,   -80,   136,   149,    39,   104,    65,   150,     5,
+     194,     5,   167,   -80,   176,   -80,   -80,   -80,   -80,   -80,
+     -80,    68,   -80,    -3,    -3,   176,    72,    72,   -80,   -80,
+     177,   187,    78,    -1,    -1,    -3,   196,    72,   -80,   222,
+     -80,   -80,   -80,   -80,   221,   -80,   -80,   205,    -1,    -1,
+     211,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   206,   -80,   -80,   -80,   -80,   -80,
+      -3,   223,   209,   223,   197,   223,    72,     7,   210,   -80,
+     -80,   223,   212,   223,   201,    -3,   213,   -80,   -80,   214,
+     215,   223,   208,   -80,   -80,   216,   -80,   217,   -80,   113,
+     -80,   -80,   -80,   218,    -1,   -80,   -80,   -80,   -80,   -80
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+     -80,   -80,   -80,   -80,   122,   -34,   -80,   -80,   -80,   -80,
+     220,   -80,   -80,   -80,   -80,   -80,   -80,   -80,    59,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   125,
+     -80,   -80,   -80,   -80,   -80,   183,   219,    22,   142,    -5,
+     147,   192,    69,   -54,   -79,   -80
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -82
+static const yytype_int16 yytable[] =
+{
+      46,    47,     3,    49,    81,    82,    53,   136,   137,     6,
+       7,     8,     9,    10,    11,    12,    13,    43,   146,    14,
+      15,    86,    56,    57,    44,    45,    58,    87,    48,   134,
+     135,    59,   162,   112,    50,    24,   125,   163,   125,   -28,
+      90,   144,   -28,   -28,   -28,   -28,   -28,   -28,   -28,   -28,
+     -28,    91,    54,   -28,   -28,    92,   -28,    93,    94,    95,
+      96,    97,    98,    52,    99,    55,    90,   161,    62,   100,
+     -49,   -49,    63,   -49,   -49,   -49,   -49,    91,    64,   -49,
+     -49,    92,   107,   108,   109,   110,   154,    73,   141,   115,
+      99,    75,   126,    76,   126,   111,   133,    56,    57,    83,
+      84,   169,   140,   151,   -30,    90,    77,   -30,   -30,   -30,
+     -30,   -30,   -30,   -30,   -30,   -30,    91,    78,   -30,   -30,
+      92,   -30,    93,    94,    95,    96,    97,    98,   120,    99,
+     128,    79,    -2,     4,   100,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    83,    84,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,     7,     8,    23,    10,    11,
+      12,    13,    24,    80,    14,    15,    88,   -81,    90,   179,
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,    89,
+      24,   -81,   -81,    92,   -81,   -81,   -81,   -81,   -81,   -81,
+     116,   119,    99,   127,   122,    90,   130,   124,   -72,   -72,
+     -72,   -72,   -72,   -72,   -72,   -72,   132,   138,   -72,   -72,
+      92,   155,   158,   159,   160,   118,   123,   139,   131,    99,
+     165,   145,   167,   148,   124,    73,    83,    84,    83,    84,
+     173,   168,    83,    84,   149,   150,   153,   155,    84,   157,
+     164,   174,   166,   170,   171,   172,   176,   177,   178,    66,
+     114,   152,    85,     0,     0,     0,     0,     0,     0,    72
+};
+
+static const yytype_int16 yycheck[] =
+{
+       5,     6,     0,     8,    58,    59,    11,    86,    87,     4,
+       5,     6,     7,     8,     9,    10,    11,    30,    97,    14,
+      15,    27,    25,    26,    25,    26,    29,    33,    30,    83,
+      84,    34,    25,    67,    25,    30,    70,    30,    72,     0,
+       1,    95,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    25,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    30,    25,    25,     1,   146,    30,    30,
+       5,     6,     1,     8,     9,    10,    11,    12,     1,    14,
+      15,    16,    17,    18,    19,    20,   140,    30,    93,    67,
+      25,    30,    70,    30,    72,    30,    28,    25,    26,    31,
+      32,   155,    24,   108,     0,     1,    30,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    30,    14,    15,
+      16,    17,    18,    19,    20,    21,    22,    23,    69,    25,
+      71,    30,     0,     1,    30,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    31,    32,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,     5,     6,    25,     8,     9,
+      10,    11,    30,    30,    14,    15,    30,     0,     1,   174,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    30,
+      30,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      68,    69,    25,    71,    69,     1,    71,    30,     4,     5,
+       6,     7,     8,     9,    10,    11,    30,    30,    14,    15,
+      16,    14,   143,   144,   145,    68,    69,    30,    71,    25,
+     151,    25,   153,     1,    30,    30,    31,    32,    31,    32,
+     161,    30,    31,    32,    13,    30,    25,    14,    32,    30,
+      30,    33,    30,    30,    30,    30,    30,    30,    30,    29,
+      67,   109,    60,    -1,    -1,    -1,    -1,    -1,    -1,    40
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,    36,    37,     0,     1,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    25,    30,    38,    39,    41,    42,    43,
+      44,    50,    51,    53,    57,    59,    61,    62,    64,    66,
+      67,    68,    75,    30,    25,    26,    74,    74,    30,    74,
+      25,    80,    30,    74,    25,    25,    25,    26,    29,    34,
+      78,    79,    30,     1,     1,    45,    45,    54,    56,    60,
+      71,    65,    71,    30,    76,    30,    30,    30,    30,    30,
+      30,    78,    78,    31,    32,    76,    27,    33,    30,    30,
+       1,    12,    16,    18,    19,    20,    21,    22,    23,    25,
+      30,    40,    46,    47,    69,    70,    72,    17,    18,    19,
+      20,    30,    40,    55,    70,    72,    39,    52,    75,    39,
+      53,    58,    64,    75,    30,    40,    72,    39,    53,    63,
+      64,    75,    30,    28,    78,    78,    79,    79,    30,    30,
+      24,    74,    73,    74,    78,    25,    79,    48,     1,    13,
+      30,    74,    73,    25,    78,    14,    77,    30,    77,    77,
+      77,    79,    25,    30,    30,    77,    30,    77,    30,    78,
+      30,    30,    30,    77,    33,    49,    30,    30,    30,    74
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    yytype_int16 *bottom;
+    yytype_int16 *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      fprintf (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      fprintf (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+      case 51: /* "choice_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 57: /* "if_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 62: /* "menu_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+
+      default:
+	break;
+    }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  yytype_int16 yyssa[YYINITDEPTH];
+  yytype_int16 *yyss = yyssa;
+  yytype_int16 *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     look-ahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to look-ahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a look-ahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 8:
+
+    { zconf_error("unexpected end statement"); ;}
+    break;
+
+  case 9:
+
+    { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); ;}
+    break;
+
+  case 10:
+
+    {
+	zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name);
+;}
+    break;
+
+  case 11:
+
+    { zconf_error("invalid statement"); ;}
+    break;
+
+  case 25:
+
+    { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;}
+    break;
+
+  case 26:
+
+    { zconf_error("invalid option"); ;}
+    break;
+
+  case 27:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 28:
+
+    {
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 29:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 30:
+
+    {
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 38:
+
+    {
+	menu_set_type((yyvsp[(1) - (3)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (3)].id)->stype);
+;}
+    break;
+
+  case 39:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 40:
+
+    {
+	menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
+	if ((yyvsp[(1) - (4)].id)->stype != S_UNKNOWN)
+		menu_set_type((yyvsp[(1) - (4)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (4)].id)->stype);
+;}
+    break;
+
+  case 41:
+
+    {
+	menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 42:
+
+    {
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 45:
+
+    {
+	struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
+	if (id && id->flags & TF_OPTION)
+		menu_add_option(id->token, (yyvsp[(3) - (3)].string));
+	else
+		zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string));
+	free((yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 46:
+
+    { (yyval.string) = NULL; ;}
+    break;
+
+  case 47:
+
+    { (yyval.string) = (yyvsp[(2) - (2)].string); ;}
+    break;
+
+  case 48:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE);
+	sym->flags |= SYMBOL_AUTO;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 49:
+
+    {
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 50:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 58:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 59:
+
+    {
+	if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
+		menu_set_type((yyvsp[(1) - (3)].id)->stype);
+		printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+			zconf_curname(), zconf_lineno(),
+			(yyvsp[(1) - (3)].id)->stype);
+	} else
+		YYERROR;
+;}
+    break;
+
+  case 60:
+
+    {
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 61:
+
+    {
+	if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
+		menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+		printd(DEBUG_PARSE, "%s:%d:default\n",
+			zconf_curname(), zconf_lineno());
+	} else
+		YYERROR;
+;}
+    break;
+
+  case 64:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep((yyvsp[(2) - (3)].expr));
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 65:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 71:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 72:
+
+    {
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 73:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 79:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+	zconf_nextfile((yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 80:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 81:
+
+    {
+	menu_end_entry();
+;}
+    break;
+
+  case 82:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+;}
+    break;
+
+  case 83:
+
+    {
+	current_entry->help = (yyvsp[(2) - (2)].string);
+;}
+    break;
+
+  case 88:
+
+    {
+	menu_add_dep((yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 90:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
+;}
+    break;
+
+  case 93:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 94:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 95:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 98:
+
+    { (yyval.expr) = NULL; ;}
+    break;
+
+  case 99:
+
+    { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;}
+    break;
+
+  case 100:
+
+    { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;}
+    break;
+
+  case 101:
+
+    { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
+    break;
+
+  case 102:
+
+    { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
+    break;
+
+  case 103:
+
+    { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
+    break;
+
+  case 104:
+
+    { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;}
+    break;
+
+  case 105:
+
+    { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
+    break;
+
+  case 106:
+
+    { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
+    break;
+
+  case 107:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;}
+    break;
+
+  case 108:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;}
+    break;
+
+  case 109:
+
+    { (yyval.string) = NULL; ;}
+    break;
+
+
+/* Line 1267 of yacc.c.  */
+
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEOF && yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+
+
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	menu_init();
+	modules_sym = sym_lookup(NULL, 0);
+	modules_sym->type = S_BOOLEAN;
+	modules_sym->flags |= SYMBOL_AUTO;
+	rootmenu.prompt = menu_add_prompt(P_MENU, "uClibc Configuration", NULL);
+
+#if YYDEBUG
+	if (getenv("ZCONF_DEBUG"))
+		zconfdebug = 1;
+#endif
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	if (!modules_sym->prop) {
+		struct property *prop;
+
+		prop = prop_alloc(P_DEFAULT, modules_sym);
+		prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
+	}
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+		if (sym_check_deps(sym))
+			zconfnerrs++;
+        }
+	if (zconfnerrs)
+		exit(1);
+	sym_set_change_count(1);
+}
+
+const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	case T_DEPENDS:		return "depends";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken)
+{
+	if (id->token != endtoken) {
+		zconf_error("unexpected '%s' within %s block",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconf_error("'%s' in different file than '%s'",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		fprintf(stderr, "%s:%d: location of the '%s'\n",
+			current_menu->file->name, current_menu->lineno,
+			zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconf_error(const char *err, ...)
+{
+	va_list ap;
+
+	zconfnerrs++;
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+#if YYDEBUG
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+#endif
+}
+
+void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "choice\n");
+	else
+		fprintf(out, "config %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (menu->help) {
+		int len = strlen(menu->help);
+		while (menu->help[--len] == '\n')
+			menu->help[len] = 0;
+		fprintf(out, "  help\n%s\n", menu->help);
+	}
+	fputc('\n', out);
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+			fputs("\n", out);
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "lex.zconf.c"
+#include "util.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
+
diff --git a/ap/build/uClibc/extra/config/zconf.tab.c_shipped b/ap/build/uClibc/extra/config/zconf.tab.c_shipped
new file mode 100644
index 0000000..aa9cc28
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.tab.c_shipped
@@ -0,0 +1,2490 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* Substitute the variable and function names.  */
+#define yyparse zconfparse
+#define yylex   zconflex
+#define yyerror zconferror
+#define yylval  zconflval
+#define yychar  zconfchar
+#define yydebug zconfdebug
+#define yynerrs zconfnerrs
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     T_MAINMENU = 258,
+     T_MENU = 259,
+     T_ENDMENU = 260,
+     T_SOURCE = 261,
+     T_CHOICE = 262,
+     T_ENDCHOICE = 263,
+     T_COMMENT = 264,
+     T_CONFIG = 265,
+     T_MENUCONFIG = 266,
+     T_HELP = 267,
+     T_HELPTEXT = 268,
+     T_IF = 269,
+     T_ENDIF = 270,
+     T_DEPENDS = 271,
+     T_OPTIONAL = 272,
+     T_PROMPT = 273,
+     T_TYPE = 274,
+     T_DEFAULT = 275,
+     T_SELECT = 276,
+     T_RANGE = 277,
+     T_OPTION = 278,
+     T_ON = 279,
+     T_WORD = 280,
+     T_WORD_QUOTE = 281,
+     T_UNEQUAL = 282,
+     T_CLOSE_PAREN = 283,
+     T_OPEN_PAREN = 284,
+     T_EOL = 285,
+     T_OR = 286,
+     T_AND = 287,
+     T_EQUAL = 288,
+     T_NOT = 289
+   };
+#endif
+/* Tokens.  */
+#define T_MAINMENU 258
+#define T_MENU 259
+#define T_ENDMENU 260
+#define T_SOURCE 261
+#define T_CHOICE 262
+#define T_ENDCHOICE 263
+#define T_COMMENT 264
+#define T_CONFIG 265
+#define T_MENUCONFIG 266
+#define T_HELP 267
+#define T_HELPTEXT 268
+#define T_IF 269
+#define T_ENDIF 270
+#define T_DEPENDS 271
+#define T_OPTIONAL 272
+#define T_PROMPT 273
+#define T_TYPE 274
+#define T_DEFAULT 275
+#define T_SELECT 276
+#define T_RANGE 277
+#define T_OPTION 278
+#define T_ON 279
+#define T_WORD 280
+#define T_WORD_QUOTE 281
+#define T_UNEQUAL 282
+#define T_CLOSE_PAREN 283
+#define T_OPEN_PAREN 284
+#define T_EOL 285
+#define T_OR 286
+#define T_AND 287
+#define T_EQUAL 288
+#define T_NOT 289
+
+
+
+
+/* Copy the first part of user declarations.  */
+
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#include "zconf.hash.c"
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconf_error(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[257];
+
+static struct menu *current_menu, *current_entry;
+
+#define YYDEBUG 0
+#if YYDEBUG
+#define YYERROR_VERBOSE
+#endif
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+
+{
+	char *string;
+	struct file *file;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+	struct kconf_id *id;
+}
+/* Line 187 of yacc.c.  */
+
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 216 of yacc.c.  */
+
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+    int i;
+#endif
+{
+  return i;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  3
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   259
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  35
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  46
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  110
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  180
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   289
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     5,     6,     9,    12,    15,    20,    23,
+      28,    33,    37,    39,    41,    43,    45,    47,    49,    51,
+      53,    55,    57,    59,    61,    63,    67,    70,    74,    77,
+      81,    84,    85,    88,    91,    94,    97,   100,   103,   107,
+     112,   117,   122,   128,   132,   133,   137,   138,   141,   145,
+     148,   150,   154,   155,   158,   161,   164,   167,   170,   175,
+     179,   182,   187,   188,   191,   195,   197,   201,   202,   205,
+     208,   211,   215,   218,   220,   224,   225,   228,   231,   234,
+     238,   242,   245,   248,   251,   252,   255,   258,   261,   266,
+     267,   270,   272,   274,   277,   280,   283,   285,   288,   289,
+     292,   294,   298,   302,   306,   309,   313,   317,   319,   321,
+     322
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      36,     0,    -1,    37,    -1,    -1,    37,    39,    -1,    37,
+      53,    -1,    37,    64,    -1,    37,     3,    74,    76,    -1,
+      37,    75,    -1,    37,    25,     1,    30,    -1,    37,    38,
+       1,    30,    -1,    37,     1,    30,    -1,    16,    -1,    18,
+      -1,    19,    -1,    21,    -1,    17,    -1,    22,    -1,    20,
+      -1,    30,    -1,    59,    -1,    68,    -1,    42,    -1,    44,
+      -1,    66,    -1,    25,     1,    30,    -1,     1,    30,    -1,
+      10,    25,    30,    -1,    41,    45,    -1,    11,    25,    30,
+      -1,    43,    45,    -1,    -1,    45,    46,    -1,    45,    47,
+      -1,    45,    72,    -1,    45,    70,    -1,    45,    40,    -1,
+      45,    30,    -1,    19,    73,    30,    -1,    18,    74,    77,
+      30,    -1,    20,    78,    77,    30,    -1,    21,    25,    77,
+      30,    -1,    22,    79,    79,    77,    30,    -1,    23,    48,
+      30,    -1,    -1,    48,    25,    49,    -1,    -1,    33,    74,
+      -1,     7,    80,    30,    -1,    50,    54,    -1,    75,    -1,
+      51,    56,    52,    -1,    -1,    54,    55,    -1,    54,    72,
+      -1,    54,    70,    -1,    54,    30,    -1,    54,    40,    -1,
+      18,    74,    77,    30,    -1,    19,    73,    30,    -1,    17,
+      30,    -1,    20,    25,    77,    30,    -1,    -1,    56,    39,
+      -1,    14,    78,    76,    -1,    75,    -1,    57,    60,    58,
+      -1,    -1,    60,    39,    -1,    60,    64,    -1,    60,    53,
+      -1,     4,    74,    30,    -1,    61,    71,    -1,    75,    -1,
+      62,    65,    63,    -1,    -1,    65,    39,    -1,    65,    64,
+      -1,    65,    53,    -1,     6,    74,    30,    -1,     9,    74,
+      30,    -1,    67,    71,    -1,    12,    30,    -1,    69,    13,
+      -1,    -1,    71,    72,    -1,    71,    30,    -1,    71,    40,
+      -1,    16,    24,    78,    30,    -1,    -1,    74,    77,    -1,
+      25,    -1,    26,    -1,     5,    30,    -1,     8,    30,    -1,
+      15,    30,    -1,    30,    -1,    76,    30,    -1,    -1,    14,
+      78,    -1,    79,    -1,    79,    33,    79,    -1,    79,    27,
+      79,    -1,    29,    78,    28,    -1,    34,    78,    -1,    78,
+      31,    78,    -1,    78,    32,    78,    -1,    25,    -1,    26,
+      -1,    -1,    25,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,   104,   104,   106,   108,   109,   110,   111,   112,   113,
+     114,   118,   122,   122,   122,   122,   122,   122,   122,   126,
+     127,   128,   129,   130,   131,   135,   136,   142,   150,   156,
+     164,   174,   176,   177,   178,   179,   180,   181,   184,   192,
+     198,   208,   214,   220,   223,   225,   236,   237,   242,   251,
+     256,   264,   267,   269,   270,   271,   272,   273,   276,   282,
+     293,   299,   309,   311,   316,   324,   332,   335,   337,   338,
+     339,   344,   351,   356,   364,   367,   369,   370,   371,   374,
+     382,   389,   396,   402,   409,   411,   412,   413,   416,   424,
+     426,   431,   432,   435,   436,   437,   441,   442,   445,   446,
+     449,   450,   451,   452,   453,   454,   455,   458,   459,   462,
+     463
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU",
+  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
+  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
+  "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
+  "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
+  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
+  "T_NOT", "$accept", "input", "stmt_list", "option_name", "common_stmt",
+  "option_error", "config_entry_start", "config_stmt",
+  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
+  "config_option", "symbol_option", "symbol_option_list",
+  "symbol_option_arg", "choice", "choice_entry", "choice_end",
+  "choice_stmt", "choice_option_list", "choice_option", "choice_block",
+  "if_entry", "if_end", "if_stmt", "if_block", "menu", "menu_entry",
+  "menu_end", "menu_stmt", "menu_block", "source_stmt", "comment",
+  "comment_stmt", "help_start", "help", "depends_list", "depends",
+  "prompt_stmt_opt", "prompt", "end", "nl", "if_expr", "expr", "symbol",
+  "word_opt", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    35,    36,    37,    37,    37,    37,    37,    37,    37,
+      37,    37,    38,    38,    38,    38,    38,    38,    38,    39,
+      39,    39,    39,    39,    39,    40,    40,    41,    42,    43,
+      44,    45,    45,    45,    45,    45,    45,    45,    46,    46,
+      46,    46,    46,    47,    48,    48,    49,    49,    50,    51,
+      52,    53,    54,    54,    54,    54,    54,    54,    55,    55,
+      55,    55,    56,    56,    57,    58,    59,    60,    60,    60,
+      60,    61,    62,    63,    64,    65,    65,    65,    65,    66,
+      67,    68,    69,    70,    71,    71,    71,    71,    72,    73,
+      73,    74,    74,    75,    75,    75,    76,    76,    77,    77,
+      78,    78,    78,    78,    78,    78,    78,    79,    79,    80,
+      80
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     1,     0,     2,     2,     2,     4,     2,     4,
+       4,     3,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     3,     2,     3,     2,     3,
+       2,     0,     2,     2,     2,     2,     2,     2,     3,     4,
+       4,     4,     5,     3,     0,     3,     0,     2,     3,     2,
+       1,     3,     0,     2,     2,     2,     2,     2,     4,     3,
+       2,     4,     0,     2,     3,     1,     3,     0,     2,     2,
+       2,     3,     2,     1,     3,     0,     2,     2,     2,     3,
+       3,     2,     2,     2,     0,     2,     2,     2,     4,     0,
+       2,     1,     1,     2,     2,     2,     1,     2,     0,     2,
+       1,     3,     3,     3,     2,     3,     3,     1,     1,     0,
+       1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       3,     0,     0,     1,     0,     0,     0,     0,     0,   109,
+       0,     0,     0,     0,     0,     0,    12,    16,    13,    14,
+      18,    15,    17,     0,    19,     0,     4,    31,    22,    31,
+      23,    52,    62,     5,    67,    20,    84,    75,     6,    24,
+      84,    21,     8,    11,    91,    92,     0,     0,    93,     0,
+     110,     0,    94,     0,     0,     0,   107,   108,     0,     0,
+       0,   100,    95,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    96,     7,    71,    79,    48,    80,    27,
+      29,     0,   104,     0,     0,    64,     0,     0,     9,    10,
+       0,     0,     0,     0,    89,     0,     0,     0,    44,     0,
+      37,    36,    32,    33,     0,    35,    34,     0,     0,    89,
+       0,    56,    57,    53,    55,    54,    63,    51,    50,    68,
+      70,    66,    69,    65,    86,    87,    85,    76,    78,    74,
+      77,    73,    97,   103,   105,   106,   102,   101,    26,    82,
+       0,    98,     0,    98,    98,    98,     0,     0,     0,    83,
+      60,    98,     0,    98,     0,     0,     0,    38,    90,     0,
+       0,    98,    46,    43,    25,     0,    59,     0,    88,    99,
+      39,    40,    41,     0,     0,    45,    58,    61,    42,    47
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,     1,     2,    25,    26,   101,    27,    28,    29,    30,
+      65,   102,   103,   147,   175,    31,    32,   117,    33,    67,
+     113,    68,    34,   121,    35,    69,    36,    37,   129,    38,
+      71,    39,    40,    41,   104,   105,    70,   106,   142,   143,
+      42,    74,   156,    60,    61,    51
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -80
+static const yytype_int16 yypact[] =
+{
+     -80,     2,   132,   -80,   -13,    -1,    -1,    -2,    -1,     9,
+      33,    -1,    27,    40,    -3,    38,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,    71,   -80,    77,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,    57,    61,   -80,    63,
+     -80,    76,   -80,    87,   101,   133,   -80,   -80,    -3,    -3,
+     195,    -6,   -80,   136,   149,    39,   104,    65,   150,     5,
+     194,     5,   167,   -80,   176,   -80,   -80,   -80,   -80,   -80,
+     -80,    68,   -80,    -3,    -3,   176,    72,    72,   -80,   -80,
+     177,   187,    78,    -1,    -1,    -3,   196,    72,   -80,   222,
+     -80,   -80,   -80,   -80,   221,   -80,   -80,   205,    -1,    -1,
+     211,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,
+     -80,   -80,   -80,   -80,   206,   -80,   -80,   -80,   -80,   -80,
+      -3,   223,   209,   223,   197,   223,    72,     7,   210,   -80,
+     -80,   223,   212,   223,   201,    -3,   213,   -80,   -80,   214,
+     215,   223,   208,   -80,   -80,   216,   -80,   217,   -80,   113,
+     -80,   -80,   -80,   218,    -1,   -80,   -80,   -80,   -80,   -80
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+     -80,   -80,   -80,   -80,   122,   -34,   -80,   -80,   -80,   -80,
+     220,   -80,   -80,   -80,   -80,   -80,   -80,   -80,    59,   -80,
+     -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   -80,   125,
+     -80,   -80,   -80,   -80,   -80,   183,   219,    22,   142,    -5,
+     147,   192,    69,   -54,   -79,   -80
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -82
+static const yytype_int16 yytable[] =
+{
+      46,    47,     3,    49,    81,    82,    53,   136,   137,     6,
+       7,     8,     9,    10,    11,    12,    13,    43,   146,    14,
+      15,    86,    56,    57,    44,    45,    58,    87,    48,   134,
+     135,    59,   162,   112,    50,    24,   125,   163,   125,   -28,
+      90,   144,   -28,   -28,   -28,   -28,   -28,   -28,   -28,   -28,
+     -28,    91,    54,   -28,   -28,    92,   -28,    93,    94,    95,
+      96,    97,    98,    52,    99,    55,    90,   161,    62,   100,
+     -49,   -49,    63,   -49,   -49,   -49,   -49,    91,    64,   -49,
+     -49,    92,   107,   108,   109,   110,   154,    73,   141,   115,
+      99,    75,   126,    76,   126,   111,   133,    56,    57,    83,
+      84,   169,   140,   151,   -30,    90,    77,   -30,   -30,   -30,
+     -30,   -30,   -30,   -30,   -30,   -30,    91,    78,   -30,   -30,
+      92,   -30,    93,    94,    95,    96,    97,    98,   120,    99,
+     128,    79,    -2,     4,   100,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    83,    84,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,     7,     8,    23,    10,    11,
+      12,    13,    24,    80,    14,    15,    88,   -81,    90,   179,
+     -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,   -81,    89,
+      24,   -81,   -81,    92,   -81,   -81,   -81,   -81,   -81,   -81,
+     116,   119,    99,   127,   122,    90,   130,   124,   -72,   -72,
+     -72,   -72,   -72,   -72,   -72,   -72,   132,   138,   -72,   -72,
+      92,   155,   158,   159,   160,   118,   123,   139,   131,    99,
+     165,   145,   167,   148,   124,    73,    83,    84,    83,    84,
+     173,   168,    83,    84,   149,   150,   153,   155,    84,   157,
+     164,   174,   166,   170,   171,   172,   176,   177,   178,    66,
+     114,   152,    85,     0,     0,     0,     0,     0,     0,    72
+};
+
+static const yytype_int16 yycheck[] =
+{
+       5,     6,     0,     8,    58,    59,    11,    86,    87,     4,
+       5,     6,     7,     8,     9,    10,    11,    30,    97,    14,
+      15,    27,    25,    26,    25,    26,    29,    33,    30,    83,
+      84,    34,    25,    67,    25,    30,    70,    30,    72,     0,
+       1,    95,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    25,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    30,    25,    25,     1,   146,    30,    30,
+       5,     6,     1,     8,     9,    10,    11,    12,     1,    14,
+      15,    16,    17,    18,    19,    20,   140,    30,    93,    67,
+      25,    30,    70,    30,    72,    30,    28,    25,    26,    31,
+      32,   155,    24,   108,     0,     1,    30,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    30,    14,    15,
+      16,    17,    18,    19,    20,    21,    22,    23,    69,    25,
+      71,    30,     0,     1,    30,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    31,    32,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,     5,     6,    25,     8,     9,
+      10,    11,    30,    30,    14,    15,    30,     0,     1,   174,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    30,
+      30,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      68,    69,    25,    71,    69,     1,    71,    30,     4,     5,
+       6,     7,     8,     9,    10,    11,    30,    30,    14,    15,
+      16,    14,   143,   144,   145,    68,    69,    30,    71,    25,
+     151,    25,   153,     1,    30,    30,    31,    32,    31,    32,
+     161,    30,    31,    32,    13,    30,    25,    14,    32,    30,
+      30,    33,    30,    30,    30,    30,    30,    30,    30,    29,
+      67,   109,    60,    -1,    -1,    -1,    -1,    -1,    -1,    40
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,    36,    37,     0,     1,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    25,    30,    38,    39,    41,    42,    43,
+      44,    50,    51,    53,    57,    59,    61,    62,    64,    66,
+      67,    68,    75,    30,    25,    26,    74,    74,    30,    74,
+      25,    80,    30,    74,    25,    25,    25,    26,    29,    34,
+      78,    79,    30,     1,     1,    45,    45,    54,    56,    60,
+      71,    65,    71,    30,    76,    30,    30,    30,    30,    30,
+      30,    78,    78,    31,    32,    76,    27,    33,    30,    30,
+       1,    12,    16,    18,    19,    20,    21,    22,    23,    25,
+      30,    40,    46,    47,    69,    70,    72,    17,    18,    19,
+      20,    30,    40,    55,    70,    72,    39,    52,    75,    39,
+      53,    58,    64,    75,    30,    40,    72,    39,    53,    63,
+      64,    75,    30,    28,    78,    78,    79,    79,    30,    30,
+      24,    74,    73,    74,    78,    25,    79,    48,     1,    13,
+      30,    74,    73,    25,    78,    14,    77,    30,    77,    77,
+      77,    79,    25,    30,    30,    77,    30,    77,    30,    78,
+      30,    30,    30,    77,    33,    49,    30,    30,    30,    74
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    yytype_int16 *bottom;
+    yytype_int16 *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      fprintf (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      fprintf (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+      case 51: /* "choice_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 57: /* "if_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 62: /* "menu_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+
+      default:
+	break;
+    }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  yytype_int16 yyssa[YYINITDEPTH];
+  yytype_int16 *yyss = yyssa;
+  yytype_int16 *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     look-ahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to look-ahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a look-ahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 8:
+
+    { zconf_error("unexpected end statement"); ;}
+    break;
+
+  case 9:
+
+    { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); ;}
+    break;
+
+  case 10:
+
+    {
+	zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name);
+;}
+    break;
+
+  case 11:
+
+    { zconf_error("invalid statement"); ;}
+    break;
+
+  case 25:
+
+    { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); ;}
+    break;
+
+  case 26:
+
+    { zconf_error("invalid option"); ;}
+    break;
+
+  case 27:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 28:
+
+    {
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 29:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 30:
+
+    {
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 38:
+
+    {
+	menu_set_type((yyvsp[(1) - (3)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (3)].id)->stype);
+;}
+    break;
+
+  case 39:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 40:
+
+    {
+	menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
+	if ((yyvsp[(1) - (4)].id)->stype != S_UNKNOWN)
+		menu_set_type((yyvsp[(1) - (4)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (4)].id)->stype);
+;}
+    break;
+
+  case 41:
+
+    {
+	menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 42:
+
+    {
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 45:
+
+    {
+	struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
+	if (id && id->flags & TF_OPTION)
+		menu_add_option(id->token, (yyvsp[(3) - (3)].string));
+	else
+		zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string));
+	free((yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 46:
+
+    { (yyval.string) = NULL; ;}
+    break;
+
+  case 47:
+
+    { (yyval.string) = (yyvsp[(2) - (2)].string); ;}
+    break;
+
+  case 48:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE);
+	sym->flags |= SYMBOL_AUTO;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 49:
+
+    {
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 50:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 58:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 59:
+
+    {
+	if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
+		menu_set_type((yyvsp[(1) - (3)].id)->stype);
+		printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+			zconf_curname(), zconf_lineno(),
+			(yyvsp[(1) - (3)].id)->stype);
+	} else
+		YYERROR;
+;}
+    break;
+
+  case 60:
+
+    {
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 61:
+
+    {
+	if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
+		menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+		printd(DEBUG_PARSE, "%s:%d:default\n",
+			zconf_curname(), zconf_lineno());
+	} else
+		YYERROR;
+;}
+    break;
+
+  case 64:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep((yyvsp[(2) - (3)].expr));
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 65:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 71:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 72:
+
+    {
+	(yyval.menu) = menu_add_menu();
+;}
+    break;
+
+  case 73:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+;}
+    break;
+
+  case 79:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+	zconf_nextfile((yyvsp[(2) - (3)].string));
+;}
+    break;
+
+  case 80:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 81:
+
+    {
+	menu_end_entry();
+;}
+    break;
+
+  case 82:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+;}
+    break;
+
+  case 83:
+
+    {
+	current_entry->help = (yyvsp[(2) - (2)].string);
+;}
+    break;
+
+  case 88:
+
+    {
+	menu_add_dep((yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+;}
+    break;
+
+  case 90:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
+;}
+    break;
+
+  case 93:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 94:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 95:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); ;}
+    break;
+
+  case 98:
+
+    { (yyval.expr) = NULL; ;}
+    break;
+
+  case 99:
+
+    { (yyval.expr) = (yyvsp[(2) - (2)].expr); ;}
+    break;
+
+  case 100:
+
+    { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); ;}
+    break;
+
+  case 101:
+
+    { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
+    break;
+
+  case 102:
+
+    { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); ;}
+    break;
+
+  case 103:
+
+    { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
+    break;
+
+  case 104:
+
+    { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); ;}
+    break;
+
+  case 105:
+
+    { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
+    break;
+
+  case 106:
+
+    { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
+    break;
+
+  case 107:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); ;}
+    break;
+
+  case 108:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); ;}
+    break;
+
+  case 109:
+
+    { (yyval.string) = NULL; ;}
+    break;
+
+
+/* Line 1267 of yacc.c.  */
+
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEOF && yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+
+
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	menu_init();
+	modules_sym = sym_lookup(NULL, 0);
+	modules_sym->type = S_BOOLEAN;
+	modules_sym->flags |= SYMBOL_AUTO;
+	rootmenu.prompt = menu_add_prompt(P_MENU, "uClibc Configuration", NULL);
+
+#if YYDEBUG
+	if (getenv("ZCONF_DEBUG"))
+		zconfdebug = 1;
+#endif
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	if (!modules_sym->prop) {
+		struct property *prop;
+
+		prop = prop_alloc(P_DEFAULT, modules_sym);
+		prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
+	}
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+		if (sym_check_deps(sym))
+			zconfnerrs++;
+        }
+	if (zconfnerrs)
+		exit(1);
+	sym_set_change_count(1);
+}
+
+const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	case T_DEPENDS:		return "depends";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken)
+{
+	if (id->token != endtoken) {
+		zconf_error("unexpected '%s' within %s block",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconf_error("'%s' in different file than '%s'",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		fprintf(stderr, "%s:%d: location of the '%s'\n",
+			current_menu->file->name, current_menu->lineno,
+			zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconf_error(const char *err, ...)
+{
+	va_list ap;
+
+	zconfnerrs++;
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+#if YYDEBUG
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+#endif
+}
+
+void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "choice\n");
+	else
+		fprintf(out, "config %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (menu->help) {
+		int len = strlen(menu->help);
+		while (menu->help[--len] == '\n')
+			menu->help[len] = 0;
+		fprintf(out, "  help\n%s\n", menu->help);
+	}
+	fputc('\n', out);
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+			fputs("\n", out);
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "lex.zconf.c"
+#include "util.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
+
diff --git a/ap/build/uClibc/extra/config/zconf.y b/ap/build/uClibc/extra/config/zconf.y
new file mode 100644
index 0000000..029c9b6
--- /dev/null
+++ b/ap/build/uClibc/extra/config/zconf.y
@@ -0,0 +1,706 @@
+%{
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#define LKC_DIRECT_LINK
+#include "lkc.h"
+
+#include "zconf.hash.c"
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconf_error(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[257];
+
+static struct menu *current_menu, *current_entry;
+
+#define YYDEBUG 0
+#if YYDEBUG
+#define YYERROR_VERBOSE
+#endif
+%}
+%expect 26
+
+%union
+{
+	char *string;
+	struct file *file;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+	struct kconf_id *id;
+}
+
+%token <id>T_MAINMENU
+%token <id>T_MENU
+%token <id>T_ENDMENU
+%token <id>T_SOURCE
+%token <id>T_CHOICE
+%token <id>T_ENDCHOICE
+%token <id>T_COMMENT
+%token <id>T_CONFIG
+%token <id>T_MENUCONFIG
+%token <id>T_HELP
+%token <string> T_HELPTEXT
+%token <id>T_IF
+%token <id>T_ENDIF
+%token <id>T_DEPENDS
+%token <id>T_OPTIONAL
+%token <id>T_PROMPT
+%token <id>T_TYPE
+%token <id>T_DEFAULT
+%token <id>T_SELECT
+%token <id>T_RANGE
+%token <id>T_OPTION
+%token <id>T_ON
+%token <string> T_WORD
+%token <string> T_WORD_QUOTE
+%token T_UNEQUAL
+%token T_CLOSE_PAREN
+%token T_OPEN_PAREN
+%token T_EOL
+
+%left T_OR
+%left T_AND
+%left T_EQUAL T_UNEQUAL
+%nonassoc T_NOT
+
+%type <string> prompt
+%type <symbol> symbol
+%type <expr> expr
+%type <expr> if_expr
+%type <id> end
+%type <id> option_name
+%type <menu> if_entry menu_entry choice_entry
+%type <string> symbol_option_arg word_opt
+
+%destructor {
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		$$->file->name, $$->lineno);
+	if (current_menu == $$)
+		menu_end_menu();
+} if_entry menu_entry choice_entry
+
+%%
+input: stmt_list;
+
+stmt_list:
+	  /* empty */
+	| stmt_list common_stmt
+	| stmt_list choice_stmt
+	| stmt_list menu_stmt
+	| stmt_list T_MAINMENU prompt nl
+	| stmt_list end			{ zconf_error("unexpected end statement"); }
+	| stmt_list T_WORD error T_EOL	{ zconf_error("unknown statement \"%s\"", $2); }
+	| stmt_list option_name error T_EOL
+{
+	zconf_error("unexpected option \"%s\"", kconf_id_strings + $2->name);
+}
+	| stmt_list error T_EOL		{ zconf_error("invalid statement"); }
+;
+
+option_name:
+	T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_OPTIONAL | T_RANGE | T_DEFAULT
+;
+
+common_stmt:
+	  T_EOL
+	| if_stmt
+	| comment_stmt
+	| config_stmt
+	| menuconfig_stmt
+	| source_stmt
+;
+
+option_error:
+	  T_WORD error T_EOL		{ zconf_error("unknown option \"%s\"", $1); }
+	| error T_EOL			{ zconf_error("invalid option"); }
+;
+
+
+/* config/menuconfig entry */
+
+config_entry_start: T_CONFIG T_WORD T_EOL
+{
+	struct symbol *sym = sym_lookup($2, 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), $2);
+};
+
+config_stmt: config_entry_start config_option_list
+{
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+};
+
+menuconfig_entry_start: T_MENUCONFIG T_WORD T_EOL
+{
+	struct symbol *sym = sym_lookup($2, 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2);
+};
+
+menuconfig_stmt: menuconfig_entry_start config_option_list
+{
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+};
+
+config_option_list:
+	  /* empty */
+	| config_option_list config_option
+	| config_option_list symbol_option
+	| config_option_list depends
+	| config_option_list help
+	| config_option_list option_error
+	| config_option_list T_EOL
+;
+
+config_option: T_TYPE prompt_stmt_opt T_EOL
+{
+	menu_set_type($1->stype);
+	printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		$1->stype);
+};
+
+config_option: T_PROMPT prompt if_expr T_EOL
+{
+	menu_add_prompt(P_PROMPT, $2, $3);
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+};
+
+config_option: T_DEFAULT expr if_expr T_EOL
+{
+	menu_add_expr(P_DEFAULT, $2, $3);
+	if ($1->stype != S_UNKNOWN)
+		menu_set_type($1->stype);
+	printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		$1->stype);
+};
+
+config_option: T_SELECT T_WORD if_expr T_EOL
+{
+	menu_add_symbol(P_SELECT, sym_lookup($2, 0), $3);
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+};
+
+config_option: T_RANGE symbol symbol if_expr T_EOL
+{
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,$2, $3), $4);
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+};
+
+symbol_option: T_OPTION symbol_option_list T_EOL
+;
+
+symbol_option_list:
+	  /* empty */
+	| symbol_option_list T_WORD symbol_option_arg
+{
+	struct kconf_id *id = kconf_id_lookup($2, strlen($2));
+	if (id && id->flags & TF_OPTION)
+		menu_add_option(id->token, $3);
+	else
+		zconfprint("warning: ignoring unknown option %s", $2);
+	free($2);
+};
+
+symbol_option_arg:
+	  /* empty */		{ $$ = NULL; }
+	| T_EQUAL prompt	{ $$ = $2; }
+;
+
+/* choice entry */
+
+choice: T_CHOICE word_opt T_EOL
+{
+	struct symbol *sym = sym_lookup($2, SYMBOL_CHOICE);
+	sym->flags |= SYMBOL_AUTO;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+};
+
+choice_entry: choice choice_option_list
+{
+	$$ = menu_add_menu();
+};
+
+choice_end: end
+{
+	if (zconf_endtoken($1, T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+};
+
+choice_stmt: choice_entry choice_block choice_end
+;
+
+choice_option_list:
+	  /* empty */
+	| choice_option_list choice_option
+	| choice_option_list depends
+	| choice_option_list help
+	| choice_option_list T_EOL
+	| choice_option_list option_error
+;
+
+choice_option: T_PROMPT prompt if_expr T_EOL
+{
+	menu_add_prompt(P_PROMPT, $2, $3);
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+};
+
+choice_option: T_TYPE prompt_stmt_opt T_EOL
+{
+	if ($1->stype == S_BOOLEAN || $1->stype == S_TRISTATE) {
+		menu_set_type($1->stype);
+		printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+			zconf_curname(), zconf_lineno(),
+			$1->stype);
+	} else
+		YYERROR;
+};
+
+choice_option: T_OPTIONAL T_EOL
+{
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+};
+
+choice_option: T_DEFAULT T_WORD if_expr T_EOL
+{
+	if ($1->stype == S_UNKNOWN) {
+		menu_add_symbol(P_DEFAULT, sym_lookup($2, 0), $3);
+		printd(DEBUG_PARSE, "%s:%d:default\n",
+			zconf_curname(), zconf_lineno());
+	} else
+		YYERROR;
+};
+
+choice_block:
+	  /* empty */
+	| choice_block common_stmt
+;
+
+/* if entry */
+
+if_entry: T_IF expr nl
+{
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep($2);
+	$$ = menu_add_menu();
+};
+
+if_end: end
+{
+	if (zconf_endtoken($1, T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+};
+
+if_stmt: if_entry if_block if_end
+;
+
+if_block:
+	  /* empty */
+	| if_block common_stmt
+	| if_block menu_stmt
+	| if_block choice_stmt
+;
+
+/* menu entry */
+
+menu: T_MENU prompt T_EOL
+{
+	menu_add_entry(NULL);
+	menu_add_prompt(P_MENU, $2, NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+};
+
+menu_entry: menu depends_list
+{
+	$$ = menu_add_menu();
+};
+
+menu_end: end
+{
+	if (zconf_endtoken($1, T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+};
+
+menu_stmt: menu_entry menu_block menu_end
+;
+
+menu_block:
+	  /* empty */
+	| menu_block common_stmt
+	| menu_block menu_stmt
+	| menu_block choice_stmt
+;
+
+source_stmt: T_SOURCE prompt T_EOL
+{
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2);
+	zconf_nextfile($2);
+};
+
+/* comment entry */
+
+comment: T_COMMENT prompt T_EOL
+{
+	menu_add_entry(NULL);
+	menu_add_prompt(P_COMMENT, $2, NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+};
+
+comment_stmt: comment depends_list
+{
+	menu_end_entry();
+};
+
+/* help option */
+
+help_start: T_HELP T_EOL
+{
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+};
+
+help: help_start T_HELPTEXT
+{
+	current_entry->help = $2;
+};
+
+/* depends option */
+
+depends_list:
+	  /* empty */
+	| depends_list depends
+	| depends_list T_EOL
+	| depends_list option_error
+;
+
+depends: T_DEPENDS T_ON expr T_EOL
+{
+	menu_add_dep($3);
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+};
+
+/* prompt statement */
+
+prompt_stmt_opt:
+	  /* empty */
+	| prompt if_expr
+{
+	menu_add_prompt(P_PROMPT, $1, $2);
+};
+
+prompt:	  T_WORD
+	| T_WORD_QUOTE
+;
+
+end:	  T_ENDMENU T_EOL	{ $$ = $1; }
+	| T_ENDCHOICE T_EOL	{ $$ = $1; }
+	| T_ENDIF T_EOL		{ $$ = $1; }
+;
+
+nl:
+	  T_EOL
+	| nl T_EOL
+;
+
+if_expr:  /* empty */			{ $$ = NULL; }
+	| T_IF expr			{ $$ = $2; }
+;
+
+expr:	  symbol				{ $$ = expr_alloc_symbol($1); }
+	| symbol T_EQUAL symbol			{ $$ = expr_alloc_comp(E_EQUAL, $1, $3); }
+	| symbol T_UNEQUAL symbol		{ $$ = expr_alloc_comp(E_UNEQUAL, $1, $3); }
+	| T_OPEN_PAREN expr T_CLOSE_PAREN	{ $$ = $2; }
+	| T_NOT expr				{ $$ = expr_alloc_one(E_NOT, $2); }
+	| expr T_OR expr			{ $$ = expr_alloc_two(E_OR, $1, $3); }
+	| expr T_AND expr			{ $$ = expr_alloc_two(E_AND, $1, $3); }
+;
+
+symbol:	  T_WORD	{ $$ = sym_lookup($1, 0); free($1); }
+	| T_WORD_QUOTE	{ $$ = sym_lookup($1, SYMBOL_CONST); free($1); }
+;
+
+word_opt: /* empty */			{ $$ = NULL; }
+	| T_WORD
+
+%%
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	menu_init();
+	modules_sym = sym_lookup(NULL, 0);
+	modules_sym->type = S_BOOLEAN;
+	modules_sym->flags |= SYMBOL_AUTO;
+	rootmenu.prompt = menu_add_prompt(P_MENU, "uClibc Configuration", NULL);
+
+#if YYDEBUG
+	if (getenv("ZCONF_DEBUG"))
+		zconfdebug = 1;
+#endif
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	if (!modules_sym->prop) {
+		struct property *prop;
+
+		prop = prop_alloc(P_DEFAULT, modules_sym);
+		prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
+	}
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+		if (sym_check_deps(sym))
+			zconfnerrs++;
+        }
+	if (zconfnerrs)
+		exit(1);
+	sym_set_change_count(1);
+}
+
+const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	case T_DEPENDS:		return "depends";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(struct kconf_id *id, int starttoken, int endtoken)
+{
+	if (id->token != endtoken) {
+		zconf_error("unexpected '%s' within %s block",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconf_error("'%s' in different file than '%s'",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		fprintf(stderr, "%s:%d: location of the '%s'\n",
+			current_menu->file->name, current_menu->lineno,
+			zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconf_error(const char *err, ...)
+{
+	va_list ap;
+
+	zconfnerrs++;
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+#if YYDEBUG
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+#endif
+}
+
+void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "choice\n");
+	else
+		fprintf(out, "config %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (menu->help) {
+		int len = strlen(menu->help);
+		while (menu->help[--len] == '\n')
+			menu->help[len] = 0;
+		fprintf(out, "  help\n%s\n", menu->help);
+	}
+	fputc('\n', out);
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+			fputs("\n", out);
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "lex.zconf.c"
+#include "util.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
diff --git a/ap/build/uClibc/extra/libstrip/libstrip b/ap/build/uClibc/extra/libstrip/libstrip
new file mode 100755
index 0000000..69a1043
--- /dev/null
+++ b/ap/build/uClibc/extra/libstrip/libstrip
@@ -0,0 +1,72 @@
+#!/usr/bin/perl -w
+# vi: set ts=4:
+
+# Libstrip - A utility to optimize libraries for specific executables
+# Copyright (C) 2001  David A. Schleef <ds@schleef.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This is a surprisingly simple script that gets a list of
+# unresolved symbols in a list of executables specified on the
+# command line, and then relinks the uClibc shared object file
+# with only the those symbols and their dependencies.  This
+# results in a shared object that is optimized for the executables
+# listed, and thus may not work with other executables.
+#
+# Example: optimizing uClibc for BusyBox
+#  Compile uClibc and BusyBox as normal.  Then, in this
+#  directory, run:
+#    libstrip path/to/busybox
+#  After the script completes, there should be a new
+#  libuClibc-0.9.5.so in the current directory, which
+#  is optimized for busybox.
+#
+# How it works:
+#  The uClibc Makefiles create libuClibc.so by first creating
+#  the ar archive libc.a with all the object files, then links
+#  the final libuClibc.so by using 'ld --shared --whole-archive'.
+#  We take advantage of the linker command line option --undefined,
+#  which pulls in a symbol and all its dependencies, and so relink
+#  the library using --undefined for each symbol in place of
+#  --whole-archive.  The linker script is used only to avoid
+#  having very long command lines.
+
+$topdir="../..";
+
+# This is the name of the default ldscript for shared libs.  The
+# file name will be different for other architectures.
+$ldscript="/usr/lib/ldscripts/elf_i386.xs";
+
+my @syms;
+my @allsyms;
+my $s;
+
+while($exec = shift @ARGV){
+	#print "$exec\n";
+	@syms=`nm --dynamic $exec`;
+	for $s (@syms){
+		chomp $s;
+		if($s =~ m/^.{8} [BUV] (.+)/){
+			my $x = $1;
+			if(!grep { m/^$x$/; } @allsyms){
+				unshift @allsyms, $x;
+			}
+		}
+	}
+}
+
+open(LDSCRIPT, ">ldscript");
+print LDSCRIPT "INCLUDE $ldscript\n";
+for $s (@allsyms) {
+	print LDSCRIPT "EXTERN($s)\n";
+}
+
+
+`gcc -s -nostdlib -Wl,-warn-common -shared \\
+	-o libuClibc-0.9.5.so \\
+	-Wl,-soname,libc.so.0 -Wl,--script=ldscript \\
+	$topdir/libc/libc.a \\
+	$topdir/libc/tmp/libgcc-need.a`
+
diff --git a/ap/build/uClibc/extra/locale/LOCALES b/ap/build/uClibc/extra/locale/LOCALES
new file mode 100644
index 0000000..0a30cc1
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/LOCALES
@@ -0,0 +1,346 @@
+# First some @modifier mappings.  Internally, the modifier is signaled by
+# replacing '_' in the locale name with a unique identifying character.
+# For example, internally we map "ca_ES@euro" to "caeES".  This allows for
+# smaller code and easier processing of locale names.
+
+@euro e
+@cyrillic c
+
+#---------------------------------------------------------------------------
+# Next, set to {y}es to enable and {n}o to disable the UTF-8 and the 8-bit
+# codeset locales.  Of course, you must have built the c8tables.h and
+# the wctables.h files appropriately.
+
+
+UTF-8 yes
+8-BIT yes
+
+#---------------------------------------------------------------------------
+# Now the locales
+
+af_ZA ISO-8859-1
+af_ZA.UTF-8 UTF-8
+am_ET UTF-8
+ar_AE ISO-8859-6
+ar_AE.UTF-8 UTF-8
+ar_BH ISO-8859-6
+ar_BH.UTF-8 UTF-8
+ar_DZ ISO-8859-6
+ar_DZ.UTF-8 UTF-8
+ar_EG ISO-8859-6
+ar_EG.UTF-8 UTF-8
+ar_IN UTF-8
+ar_IQ ISO-8859-6
+ar_IQ.UTF-8 UTF-8
+ar_JO ISO-8859-6
+ar_JO.UTF-8 UTF-8
+ar_KW ISO-8859-6
+ar_KW.UTF-8 UTF-8
+ar_LB ISO-8859-6
+ar_LB.UTF-8 UTF-8
+ar_LY ISO-8859-6
+ar_LY.UTF-8 UTF-8
+ar_MA ISO-8859-6
+ar_MA.UTF-8 UTF-8
+ar_OM ISO-8859-6
+ar_OM.UTF-8 UTF-8
+ar_QA ISO-8859-6
+ar_QA.UTF-8 UTF-8
+ar_SA ISO-8859-6
+ar_SA.UTF-8 UTF-8
+ar_SD ISO-8859-6
+ar_SD.UTF-8 UTF-8
+ar_SY ISO-8859-6
+ar_SY.UTF-8 UTF-8
+ar_TN ISO-8859-6
+ar_TN.UTF-8 UTF-8
+ar_YE ISO-8859-6
+ar_YE.UTF-8 UTF-8
+# az_AZ ISO-8859-9E
+az_AZ ISO-8859-9
+az_AZ.UTF-8 UTF-8
+be_BY CP1251
+be_BY.UTF-8 UTF-8
+bg_BG CP1251
+bg_BG.UTF-8 UTF-8
+bn_BD UTF-8
+bn_IN UTF-8
+br_FR ISO-8859-1
+br_FR.UTF-8 UTF-8
+bs_BA ISO-8859-2
+bs_BA.UTF-8 UTF-8
+ca_ES ISO-8859-1
+ca_ES.UTF-8 UTF-8
+ca_ES.UTF-8@euro UTF-8
+ca_ES@euro ISO-8859-15
+cs_CZ ISO-8859-2
+cs_CZ.UTF-8 UTF-8
+cy_GB ISO-8859-14
+cy_GB.UTF-8 UTF-8
+da_DK ISO-8859-1
+da_DK.UTF-8 UTF-8
+de_AT ISO-8859-1
+de_AT.UTF-8 UTF-8
+de_AT.UTF-8@euro UTF-8
+de_AT@euro ISO-8859-15
+de_BE ISO-8859-1
+de_BE.UTF-8 UTF-8
+de_BE.UTF-8@euro UTF-8
+de_BE@euro ISO-8859-15
+de_CH ISO-8859-1
+de_CH.UTF-8 UTF-8
+de_DE ISO-8859-1
+de_DE.UTF-8 UTF-8
+de_DE.UTF-8@euro UTF-8
+de_DE@euro ISO-8859-15
+de_LU ISO-8859-1
+de_LU.UTF-8 UTF-8
+de_LU.UTF-8@euro UTF-8
+de_LU@euro ISO-8859-15
+el_GR ISO-8859-7
+el_GR.UTF-8 UTF-8
+en_AU ISO-8859-1
+en_AU.UTF-8 UTF-8
+en_BW ISO-8859-1
+en_BW.UTF-8 UTF-8
+en_CA ISO-8859-1
+en_CA.UTF-8 UTF-8
+en_DK ISO-8859-1
+en_DK.UTF-8 UTF-8
+en_GB ISO-8859-1
+en_GB.UTF-8 UTF-8
+en_HK ISO-8859-1
+en_HK.UTF-8 UTF-8
+en_IE ISO-8859-1
+en_IE.UTF-8 UTF-8
+en_IE.UTF-8@euro UTF-8
+en_IE@euro ISO-8859-15
+en_IN UTF-8
+en_NZ ISO-8859-1
+en_NZ.UTF-8 UTF-8
+en_PH ISO-8859-1
+en_PH.UTF-8 UTF-8
+en_SG ISO-8859-1
+en_SG.UTF-8 UTF-8
+en_US ISO-8859-1
+en_US.UTF-8 UTF-8
+en_ZA ISO-8859-1
+en_ZA.UTF-8 UTF-8
+en_ZW ISO-8859-1
+en_ZW.UTF-8 UTF-8
+eo_EO.UTF-8 UTF-8
+es_AR ISO-8859-1
+es_AR.UTF-8 UTF-8
+es_BO ISO-8859-1
+es_BO.UTF-8 UTF-8
+es_CL ISO-8859-1
+es_CL.UTF-8 UTF-8
+es_CO ISO-8859-1
+es_CO.UTF-8 UTF-8
+es_CR ISO-8859-1
+es_CR.UTF-8 UTF-8
+es_DO ISO-8859-1
+es_DO.UTF-8 UTF-8
+es_EC ISO-8859-1
+es_EC.UTF-8 UTF-8
+es_ES ISO-8859-1
+es_ES.UTF-8 UTF-8
+es_ES.UTF-8@euro UTF-8
+es_ES@euro ISO-8859-15
+es_GT ISO-8859-1
+es_GT.UTF-8 UTF-8
+es_HN ISO-8859-1
+es_HN.UTF-8 UTF-8
+es_MX ISO-8859-1
+es_MX.UTF-8 UTF-8
+es_NI ISO-8859-1
+es_NI.UTF-8 UTF-8
+es_PA ISO-8859-1
+es_PA.UTF-8 UTF-8
+es_PE ISO-8859-1
+es_PE.UTF-8 UTF-8
+es_PR ISO-8859-1
+es_PR.UTF-8 UTF-8
+es_PY ISO-8859-1
+es_PY.UTF-8 UTF-8
+es_SV ISO-8859-1
+es_SV.UTF-8 UTF-8
+es_US ISO-8859-1
+es_US.UTF-8 UTF-8
+es_UY ISO-8859-1
+es_UY.UTF-8 UTF-8
+es_VE ISO-8859-1
+es_VE.UTF-8 UTF-8
+et_EE ISO-8859-1
+et_EE.UTF-8 UTF-8
+eu_ES ISO-8859-1
+eu_ES.UTF-8 UTF-8
+eu_ES.UTF-8@euro UTF-8
+eu_ES@euro ISO-8859-15
+fa_IR UTF-8
+fa_IR.UTF-8 UTF-8
+fi_FI ISO-8859-1
+fi_FI.UTF-8 UTF-8
+fi_FI.UTF-8@euro UTF-8
+fi_FI@euro ISO-8859-15
+fo_FO ISO-8859-1
+fo_FO.UTF-8 UTF-8
+fr_BE ISO-8859-1
+fr_BE.UTF-8 UTF-8
+fr_BE.UTF-8@euro UTF-8
+fr_BE@euro ISO-8859-15
+fr_CA ISO-8859-1
+fr_CA.UTF-8 UTF-8
+fr_CH ISO-8859-1
+fr_CH.UTF-8 UTF-8
+fr_FR ISO-8859-1
+fr_FR.UTF-8 UTF-8
+fr_FR.UTF-8@euro UTF-8
+fr_FR@euro ISO-8859-15
+fr_LU ISO-8859-1
+fr_LU.UTF-8 UTF-8
+fr_LU.UTF-8@euro UTF-8
+fr_LU@euro ISO-8859-15
+ga_IE ISO-8859-1
+ga_IE.UTF-8 UTF-8
+ga_IE.UTF-8@euro UTF-8
+ga_IE@euro ISO-8859-15
+gd_GB ISO-8859-15
+gd_GB.UTF-8 UTF-8
+gl_ES ISO-8859-1
+gl_ES.UTF-8 UTF-8
+gl_ES.UTF-8@euro UTF-8
+gl_ES@euro ISO-8859-15
+gv_GB ISO-8859-1
+gv_GB.UTF-8 UTF-8
+he_IL ISO-8859-8
+he_IL.UTF-8 UTF-8
+hi_IN UTF-8
+hi_IN.UTF-8 UTF-8
+hr_HR ISO-8859-2
+hr_HR.UTF-8 UTF-8
+hu_HU ISO-8859-2
+hu_HU.UTF-8 UTF-8
+hy_AM ARMSCII-8
+hy_AM.UTF-8 UTF-8
+id_ID ISO-8859-1
+id_ID.UTF-8 UTF-8
+is_IS ISO-8859-1
+is_IS.UTF-8 UTF-8
+it_CH ISO-8859-1
+it_CH.UTF-8 UTF-8
+it_IT ISO-8859-1
+it_IT.UTF-8 UTF-8
+it_IT.UTF-8@euro UTF-8
+it_IT@euro ISO-8859-15
+iw_IL ISO-8859-8
+iw_IL.UTF-8 UTF-8
+ja_JP.UTF-8 UTF-8
+ka_GE GEORGIAN-PS
+ka_GE.UTF-8 UTF-8
+kl_GL ISO-8859-1
+kl_GL.UTF-8 UTF-8
+ko_KR.UTF-8 UTF-8
+kw_GB ISO-8859-1
+kw_GB.UTF-8 UTF-8
+lt_LT ISO-8859-13
+lt_LT.UTF-8 UTF-8
+lv_LV ISO-8859-13
+lv_LV.UTF-8 UTF-8
+mi_NZ ISO-8859-13
+mi_NZ.UTF-8 UTF-8
+mk_MK ISO-8859-5
+mk_MK.UTF-8 UTF-8
+mr_IN UTF-8
+mr_IN.UTF-8 UTF-8
+ms_MY ISO-8859-1
+ms_MY.UTF-8 UTF-8
+mt_MT ISO-8859-3
+mt_MT.UTF-8 UTF-8
+nl_BE ISO-8859-1
+nl_BE.UTF-8 UTF-8
+nl_BE.UTF-8@euro UTF-8
+nl_BE@euro ISO-8859-15
+nl_NL ISO-8859-1
+nl_NL.UTF-8 UTF-8
+nl_NL.UTF-8@euro UTF-8
+nl_NL@euro ISO-8859-15
+nn_NO ISO-8859-1
+nn_NO.UTF-8 UTF-8
+no_NO ISO-8859-1
+no_NO.UTF-8 UTF-8
+oc_FR ISO-8859-1
+oc_FR.UTF-8 UTF-8
+pl_PL ISO-8859-2
+pl_PL.UTF-8 UTF-8
+pt_BR ISO-8859-1
+pt_BR.UTF-8 UTF-8
+pt_PT ISO-8859-1
+pt_PT.UTF-8 UTF-8
+pt_PT.UTF-8@euro UTF-8
+pt_PT@euro ISO-8859-15
+ro_RO ISO-8859-2
+ro_RO.UTF-8 UTF-8
+ru_RU ISO-8859-5
+ru_RU.KOI8-R KOI8-R
+ru_RU.UTF-8 UTF-8
+ru_UA KOI8-U
+ru_UA.UTF-8 UTF-8
+se_NO UTF-8
+sk_SK ISO-8859-2
+sk_SK.UTF-8 UTF-8
+sl_SI ISO-8859-2
+sl_SI.UTF-8 UTF-8
+sq_AL ISO-8859-1
+sq_AL.UTF-8 UTF-8
+sr_YU ISO-8859-2
+sr_YU.UTF-8 UTF-8
+sr_YU.UTF-8@cyrillic UTF-8
+sr_YU@cyrillic ISO-8859-5
+sv_FI ISO-8859-1
+sv_FI.UTF-8 UTF-8
+sv_FI.UTF-8@euro UTF-8
+sv_FI@euro ISO-8859-15
+sv_SE ISO-8859-1
+sv_SE.UTF-8 UTF-8
+ta_IN UTF-8
+te_IN UTF-8
+tg_TJ KOI8-T
+tg_TJ.UTF-8 UTF-8
+th_TH TIS-620
+th_TH.UTF-8 UTF-8
+ti_ER UTF-8
+ti_ET UTF-8
+tl_PH ISO-8859-1
+tl_PH.UTF-8 UTF-8
+tr_TR ISO-8859-9
+tr_TR.UTF-8 UTF-8
+# tt_RU TATAR-CYR
+tt_RU.UTF-8 UTF-8
+uk_UA KOI8-U
+uk_UA.UTF-8 UTF-8
+ur_PK UTF-8
+uz_UZ ISO-8859-1
+uz_UZ.UTF-8 UTF-8
+vi_VN UTF-8
+vi_VN.UTF-8 UTF-8
+wa_BE ISO-8859-1
+wa_BE.UTF-8 UTF-8
+wa_BE@euro ISO-8859-15
+yi_US CP1255
+yi_US.UTF-8 UTF-8
+zh_CN.UTF-8 UTF-8
+zh_HK.UTF-8 UTF-8
+zh_SG UTF-8
+zh_TW.UTF-8 UTF-8
+
+# The following are standard locales, but we currently don't support
+# the necessary multibyte encodings.
+# ja_JP.EUC-JP EUC-JP
+# ko_KR.EUC-KR EUC-KR
+# zh_CN GB2312
+# zh_CN.GB18030 GB18030
+# zh_CN.GBK GBK
+# zh_TW.EUC-TW EUC-TW
+# zh_HK BIG5-HKSCS
+# zh_TW BIG5
diff --git a/ap/build/uClibc/extra/locale/Makefile b/ap/build/uClibc/extra/locale/Makefile
new file mode 100644
index 0000000..ff229e2
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/Makefile
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+top_srcdir=../../
+top_builddir=$(if $(O),$(O),../../)/
+
+all: objs
+include $(top_srcdir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/locale/Makefile.in b/ap/build/uClibc/extra/locale/Makefile.in
new file mode 100644
index 0000000..221a515
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/Makefile.in
@@ -0,0 +1,242 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+locale_DIR := $(top_srcdir)extra/locale
+locale_OUT := $(top_builddir)extra/locale
+
+# command used to download source code
+WGET := wget --passive-ftp
+
+LOCALE_DATA_FILENAME := uClibc-locale-20081111-$(ARCH_NATIVE_BIT)-$(if $(ARCH_LITTLE_ENDIAN),el,eb).tgz
+
+BUILD_CFLAGS-locale-common := \
+	-D__UCLIBC_GEN_LOCALE \
+	-I$(top_builddir)
+
+BUILD_CFLAGS-gen_wc8bit := $(BUILD_CFLAGS-locale-common) -DCTYPE_PACKED=1
+BUILD_CFLAGS-gen_wctype := $(BUILD_CFLAGS-locale-common)
+BUILD_CFLAGS-gen_ldc := -I$(locale_OUT)
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+BUILD_CFLAGS-gen_wc8bit += -DDO_WIDE_CHAR=1
+BUILD_CFLAGS-gen_ldc += -D__WCHAR_ENABLED=1
+endif
+BUILD_CFLAGS-gen_locale := -D_GNU_SOURCE -I$(locale_OUT)
+BUILD_CFLAGS-gen_collate := -D_GNU_SOURCE
+
+locale_headers-$(UCLIBC_HAS_LOCALE) := $(top_builddir)include/bits/uClibc_locale_data.h
+
+#DEPH-locale := $(top_builddir)include/bits/sysnum.h
+DEPH-locale := $(top_builddir)include/bits/uClibc_config.h
+DEPH-gen_collate := $(DEPH-locale)
+DEPH-gen_ldc := $(addprefix $(locale_OUT)/,c8tables.h wctables.h locale_tables.h locale_collate.h) $(DEPH-locale)
+DEPH-gen_locale := $(addprefix $(locale_OUT)/,c8tables.h) $(DEPH-locale)
+DEPH-gen_wc8bit := $(top_builddir)include/bits/uClibc_ctype.h $(DEPH-locale)
+DEPH-gen_wctype := $(top_builddir)include/bits/uClibc_ctype.h $(DEPH-locale)
+
+locale_HOBJ := gen_collate gen_ldc gen_locale gen_wc8bit gen_wctype
+locale_HOBJ := $(addprefix $(locale_OUT)/,$(locale_HOBJ))
+$(locale_HOBJ): | $(locale_OUT)
+
+locale_SRC := $(locale_OUT)/locale_data.c
+locale_OBJ := $(locale_OUT)/locale_data.o
+
+CFLAGS-locale_data.c := -D__WCHAR_ENABLED -I$(locale_OUT) -I$(locale_DIR)
+
+#headers-$(UCLIBC_HAS_LOCALE) += $(locale_headers-y)
+headers: $(locale_headers-y)
+
+libc-$(UCLIBC_HAS_LOCALE) += $(locale_OBJ)
+libc-nomulti-$(UCLIBC_HAS_LOCALE) += $(locale_OBJ)
+
+$(locale_OUT)%.o:  $(locale_OUT)%.c FORCE ; $(compile.c)
+$(locale_OUT)%.os: $(locale_OUT)%.c FORCE ; $(compile.c)
+$(locale_OUT)%.oS: $(locale_OUT)%.c FORCE ; $(compile.c)
+$(locale_OUT)%.o:  $(locale_OUT)%.S FORCE ; $(compile.S)
+$(locale_OUT)%.os: $(locale_OUT)%.S FORCE ; $(compile.S)
+$(locale_OUT)%.oS: $(locale_OUT)%.S FORCE ; $(compile.S)
+$(locale_OUT)%.o:  $(locale_OUT)%.s FORCE ; $(compile.S)
+$(locale_OUT)%.os: $(locale_OUT)%.s FORCE ; $(compile.S)
+$(locale_OUT)%.oS: $(locale_OUT)%.s FORCE ; $(compile.S)
+$(locale_OUT)%.i:  $(locale_OUT)%.c FORCE ; $(compile.i)
+$(locale_OUT)%.i:  $(locale_OUT)%.S FORCE ; $(compile.i)
+$(locale_OUT)%.s:  $(locale_OUT)%.c FORCE ; $(compile.s)
+$(locale_OUT)%.s:  $(locale_OUT)%.S FORCE ; $(compile.s)
+$(locale_OUT)%.dep:
+
+
+locale_headers: headers $(top_builddir)include/bits/uClibc_locale_data.h
+
+# make sure that the host system has locales (this check is ok for uClibc/glibc)
+# we do not know though which locales were really enabled for libc at build time
+ifeq ($(wildcard /usr/include/iconv.h),)
+
+$(locale_OUT)/codesets.txt:
+	@if [ ! -f $@ ] ; then \
+	    set -e; \
+	    echo " "; \
+	    echo "You do not have a codesets.txt file.  Please create this "; \
+	    echo "file in the $(locale_OUT) directory by running something like: "; \
+	    echo "  find $(CURDIR)/$(locale_DIR)/charmaps -name \"*.pairs\" > \\"; \
+	    echo "        $@"; \
+	    echo "and then edit that file to disable/enable the codesets you wish to support. "; \
+	    echo " "; \
+	    false; \
+	fi
+
+$(locale_OUT)/locales.txt:
+	@if [ ! -f $@ ] ; then \
+	    set -e; \
+	    echo " "; \
+	    echo "You do not have a locales.txt file in the $(locale_OUT) "; \
+	    echo "directory, Please copy the LOCALES file to locales.txt by "; \
+	    echo "running something like: "; \
+	    echo "  cp $(locale_DIR)/LOCALES \\ "; \
+	    echo "      $@ "; \
+	    echo "then edit locales.txt to disable/enable the locales you wish "; \
+	    echo "to support. "; \
+	    echo " "; \
+	    false; \
+	fi
+
+else
+
+$(locale_OUT)/codesets.txt:
+	@$(disp_gen)
+ifeq ($(UCLIBC_BUILD_MINIMAL_LOCALE),y)
+	$(Q)echo "$(CURDIR)/$(locale_DIR)/charmaps/ASCII.pairs" > $@
+	$(Q)echo "$(CURDIR)/$(locale_DIR)/charmaps/ISO-8859-1.pairs" >> $@
+else
+	$(Q)set -e; \
+		tmp=`mktemp $@.XXXXXX 2>/dev/null || true`; \
+		[ -z "$$tmp" ] && tmp='$@.new'; \
+		find $(CURDIR)/$(locale_DIR)/charmaps/ -name '*.pairs' | \
+			sort > $$tmp; \
+		[ -s $$tmp ]; \
+		if cmp $@ $$tmp >/dev/null 2>&1; then \
+			$(RM) $$tmp; \
+		else \
+			mv -f $$tmp $@; \
+		fi
+endif
+
+# the lines beginning w/ '#-' are mandatory
+# at least one conversion is needed (euro/cyrillic)
+$(locale_OUT)/locales.txt: $(locale_DIR)/LOCALES
+	@$(disp_gen)
+ifeq ($(UCLIBC_BUILD_MINIMAL_LOCALE),y)
+	$(Q)echo "@euro e" > $@
+	$(Q)echo "#-" >> $@
+	$(Q)echo "UTF-8 yes" >> $@
+	$(Q)echo "8-BIT yes" >> $@
+	$(Q)echo "#-" >> $@
+	$(Q)for locale in $(call qstrip,$(UCLIBC_BUILD_MINIMAL_LOCALES)); do \
+		echo "$$locale.UTF-8 UTF-8"; \
+		echo "$$locale ISO-8859-1"; \
+	done >> $@
+else
+	$(Q)cat $< > $@
+endif
+
+endif
+
+$(locale_DIR)/gen_collate.c: $(DEPH-gen_collate)
+$(locale_OUT)/gen_collate : $(locale_DIR)/gen_collate.c
+	$(hcompile.u)
+$(locale_DIR)/gen_ldc.c: $(DEPH-gen_ldc)
+$(locale_OUT)/gen_ldc : $(locale_DIR)/gen_ldc.c
+	$(hcompile.u)
+$(locale_DIR)/gen_locale.c: $(DEPH-gen_locale)
+$(locale_OUT)/gen_locale : $(locale_DIR)/gen_locale.c
+	$(hcompile.u)
+$(locale_DIR)/gen_wc8bit.c: $(DEPH-gen_wc8bit)
+$(locale_OUT)/gen_wc8bit : $(locale_DIR)/gen_wc8bit.c
+	$(hcompile.u)
+$(locale_DIR)/gen_wctype.c: $(DEPH-gen_wctype)
+$(locale_OUT)/gen_wctype : $(locale_DIR)/gen_wctype.c
+	$(hcompile.u)
+
+ifneq ($(V),)
+ifeq ($(V),1)
+FLAG-locale-verbose := -v
+endif
+ifeq ($(V),2)
+FLAG-locale-verbose := -v -v
+endif
+endif
+
+# code needs to be modified to support top_builddir in almost all apps that write directly to a file
+# grep fopen *.c
+$(locale_OUT)/c8tables.h: $(locale_OUT)/gen_wc8bit $(locale_OUT)/codesets.txt
+	@$(disp_gen)
+	$(Q)$< `cat $(word 2,$^)` > $@
+
+# Warning! Beware tr_TR toupper/tolower exceptions!
+$(locale_OUT)/wctables.h: $(locale_OUT)/gen_wctype
+	@$(disp_gen)
+	$(Q)for locale in $(call qstrip,$(UCLIBC_BUILD_MINIMAL_LOCALES)) en_US en_GB; do \
+		$< $(FLAG-locale-verbose) $$locale > $@ || \
+		$< $(FLAG-locale-verbose) $$locale.UTF-8 > $@ || \
+		$< $(FLAG-locale-verbose) $$locale.iso8859-1 > $@ && break; \
+	done
+
+$(locale_OUT)/locale_tables.h: $(locale_OUT)/gen_locale $(locale_OUT)/locales.txt
+	@$(disp_gen)
+	$(Q)$< $(FLAG-locale-verbose) -o $@ $(word 2,$^)
+
+$(locale_OUT)/lt_defines.h: $(locale_OUT)/locale_tables.h $(locale_OUT)/locale_collate.h
+	@$(disp_gen)
+	$(Q)grep "^#define" $< > $@
+	$(Q)grep "^#define __lc" $(word 2,$^) >> $@
+
+$(locale_OUT)/locale_collate.h: $(locale_OUT)/gen_collate $(locale_OUT)/locale_tables.h
+	@$(disp_gen)
+	$(Q)grep COL_IDX_ $(word 2,$^) | \
+		$(SED) -e "s/^.*COL_IDX_\([^, ]*\).*$$/\1/" | sort | uniq | \
+		xargs $< $(locale_DIR)/collation $(FLAG-locale-verbose) -o $@
+
+$(locale_OUT)/$(LOCALE_DATA_FILENAME):
+ifeq ($(UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA),y)
+	( cd $(@D); $(WGET) http://www.uclibc.org/downloads/$(@F) )
+endif
+
+ifeq ($(UCLIBC_PREGENERATED_LOCALE_DATA),y)
+
+$(locale_SRC): $(locale_OUT)/$(LOCALE_DATA_FILENAME)
+	zcat $< | $(TAR) -xv -C $(@D) -f -
+	touch $@
+	# we use the one in locale_DIR
+	#$(RM) $(locale_OUT)/locale_mmap.h
+
+# for arch specific versions we have to at least overwrite
+# lt_defines.h/locale_data.c/uClibc_locale_data.h
+
+$(locale_OUT)/uClibc_locale_data.h: $(locale_SRC)
+
+else
+
+$(locale_SRC): $(locale_OUT)/gen_ldc $(locale_OUT)/lt_defines.h
+	@$(disp_gen)
+	$(Q)$< $@
+
+$(locale_OUT)/uClibc_locale_data.h: $(locale_OUT)/lt_defines.h $(locale_OUT)/c8tables.h $(locale_OUT)/wctables.h $(locale_DIR)/locale_mmap.h | $(locale_SRC)
+	@$(disp_gen)
+	$(Q)grep -v "define __LC" $< > $@
+	$(Q)cat $(wordlist 2,4,$^) >> $@
+
+endif
+
+$(top_builddir)include/bits/uClibc_locale_data.h: $(locale_OUT)/uClibc_locale_data.h | $(top_builddir)include/bits/uClibc_config.h
+	@$(disp_gen)
+	$(Q)$(AWK) 'BEGIN{i=1}{if (/WANT_/) i=/endif/;else if (i) print $0}' \
+		$< > $@
+
+objclean-y += CLEAN_extra/locale
+
+# lmmtolso.c/gen_mmap.c/tst-*.c not used
+CLEAN_extra/locale:
+	$(do_rm) $(locale_HOBJ) $(locale_SRC) $(addprefix $(locale_OUT)/*., o os txt) \
+		$(addprefix $(locale_OUT)/,$(addsuffix .h,uClibc_locale_data lt_defines c8tables wctables locale_tables locale_collate) lmmtolso gen_mmap locale.mmap)
diff --git a/ap/build/uClibc/extra/locale/README b/ap/build/uClibc/extra/locale/README
new file mode 100644
index 0000000..244b925
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/README
@@ -0,0 +1,71 @@
+Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!
+Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!
+
+The programs in this directory are strictly cut-and-paste hack jobs to
+extract the data I needed from glibc's locale database.  I'm ashamed to
+even let them into the light of day, and I consider them complete garbage.
+
+However, they are currently necessary to build the data needed for the
+locale support I've implemented, so I'm forced to include them here.
+
+NOTE: While its possible to use this stuff for native != target arch,
+you'll have to either write a converter to account for endianess and
+struct padding issues, or run the mmap file generator on your target
+arch.  But all these programs will be rewritten at some point.
+
+All that being said, LC_CTYPE support has been added and supports the
+ctype.h and wctype.h function.  Also, LC_TIME, LC_MONETARY, LC_NUMERIC,
+and LC_MESSAGES are supported wrt SUSv3.  localeconv() works in both
+real and stub locale modes.  nl_langinfo() currently only works with
+real locales enabled.  That will be fixed though.  wc->mb unsupported
+char replacement and basic translit support is on the way as well.
+Finally, some basic 8-bit codeset LC_COLLATE support should be in place
+in the next week or two (similar to what was in the previous locale
+implementation).
+
+Also, as one can probably guess, I'm working towards having the locale
+data accessed via a shared mmap.  That will allow non-mmu platforms
+to use this without the current bloat.
+
+Currently, the output of size for my locale_data.o file is
+  text    data     bss     dec     hex filename
+  59072       4       0   59076    e6c4 extra/locale/locale_data.o
+which is for the C locale (automatic of course) + all codesets in
+charmaps/ and all 268 locales in LOCALES.  I estimate that the
+translit support for those 8-bit codesets will add another 7-10k.
+
+One difference of note is that the special case upper/lower mappings
+in the turkish locale are currently not implemented.  That will be
+fixed.
+
+Manuel
+
+Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!
+Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!   Warning!!!
+
+
+1) In the toplevel dir,  'make headers'.
+
+2) Create a codesets.txt file in this dir listing the codesets you want
+   to support.  The easiest way to do this is to edit the output of
+	'find ./charmaps -name "*.pairs" > codesets.txt'.
+   NOTE: UTF-8 support is always included if you build with wide chars enabled.
+   NOTE: The files in charmaps/ were created from glibc's charmap files
+         with the awk script at the end of this file.  You can add others
+	 but only single byte codesets are supported.
+
+3) Create a locales.txt file to select the locales you want to support.
+   You can copy and edit the LOCALES file for example.  Other locales could
+   added provided you've included the appropriate codesets in step 2.
+   NOTE: You have to have the approprite locales available for glibc!
+
+4) Run make here.
+
+5) Continue building uClibc from the toplevel dir.
+
+
+
+
+Script used to generate the charmaps/*.pairs files:
+
+cat $1 | awk 'BEGIN { i = 0 } ; { if ($1 == "CHARMAP") i=1 ; else if ($1 == "END") i=0 ; else if (i==1) { sub("/","0",$2) ; sub("<U","0x",$1) ; sub(">","",$1) ; print "{", $2, ",", $1, "}," } }'
diff --git a/ap/build/uClibc/extra/locale/charmaps/ARMSCII-8.pairs b/ap/build/uClibc/extra/locale/charmaps/ARMSCII-8.pairs
new file mode 100644
index 0000000..6a0f441
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ARMSCII-8.pairs
@@ -0,0 +1,254 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa2 , 0x0587 },
+{ 0xa3 , 0x0589 },
+{ 0xa4 , 0x0029 },
+{ 0xa5 , 0x0028 },
+{ 0xa6 , 0x00BB },
+{ 0xa7 , 0x00AB },
+{ 0xa8 , 0x2014 },
+{ 0xa9 , 0x002E },
+{ 0xaa , 0x055D },
+{ 0xab , 0x002C },
+{ 0xac , 0x002D },
+{ 0xad , 0x058A },
+{ 0xae , 0x2026 },
+{ 0xaf , 0x055C },
+{ 0xb0 , 0x055B },
+{ 0xb1 , 0x055E },
+{ 0xb2 , 0x0531 },
+{ 0xb3 , 0x0561 },
+{ 0xb4 , 0x0532 },
+{ 0xb5 , 0x0562 },
+{ 0xb6 , 0x0533 },
+{ 0xb7 , 0x0563 },
+{ 0xb8 , 0x0534 },
+{ 0xb9 , 0x0564 },
+{ 0xba , 0x0535 },
+{ 0xbb , 0x0565 },
+{ 0xbc , 0x0536 },
+{ 0xbd , 0x0566 },
+{ 0xbe , 0x0537 },
+{ 0xbf , 0x0567 },
+{ 0xc0 , 0x0538 },
+{ 0xc1 , 0x0568 },
+{ 0xc2 , 0x0539 },
+{ 0xc3 , 0x0569 },
+{ 0xc4 , 0x053A },
+{ 0xc5 , 0x056A },
+{ 0xc6 , 0x053B },
+{ 0xc7 , 0x056B },
+{ 0xc8 , 0x053C },
+{ 0xc9 , 0x056C },
+{ 0xca , 0x053D },
+{ 0xcb , 0x056D },
+{ 0xcc , 0x053E },
+{ 0xcd , 0x056E },
+{ 0xce , 0x053F },
+{ 0xcf , 0x056F },
+{ 0xd0 , 0x0540 },
+{ 0xd1 , 0x0570 },
+{ 0xd2 , 0x0541 },
+{ 0xd3 , 0x0571 },
+{ 0xd4 , 0x0542 },
+{ 0xd5 , 0x0572 },
+{ 0xd6 , 0x0543 },
+{ 0xd7 , 0x0573 },
+{ 0xd8 , 0x0544 },
+{ 0xd9 , 0x0574 },
+{ 0xda , 0x0545 },
+{ 0xdb , 0x0575 },
+{ 0xdc , 0x0546 },
+{ 0xdd , 0x0576 },
+{ 0xde , 0x0547 },
+{ 0xdf , 0x0577 },
+{ 0xe0 , 0x0548 },
+{ 0xe1 , 0x0578 },
+{ 0xe2 , 0x0549 },
+{ 0xe3 , 0x0579 },
+{ 0xe4 , 0x054A },
+{ 0xe5 , 0x057A },
+{ 0xe6 , 0x054B },
+{ 0xe7 , 0x057B },
+{ 0xe8 , 0x054C },
+{ 0xe9 , 0x057C },
+{ 0xea , 0x054D },
+{ 0xeb , 0x057D },
+{ 0xec , 0x054E },
+{ 0xed , 0x057E },
+{ 0xee , 0x054F },
+{ 0xef , 0x057F },
+{ 0xf0 , 0x0550 },
+{ 0xf1 , 0x0580 },
+{ 0xf2 , 0x0551 },
+{ 0xf3 , 0x0581 },
+{ 0xf4 , 0x0552 },
+{ 0xf5 , 0x0582 },
+{ 0xf6 , 0x0553 },
+{ 0xf7 , 0x0583 },
+{ 0xf8 , 0x0554 },
+{ 0xf9 , 0x0584 },
+{ 0xfa , 0x0555 },
+{ 0xfb , 0x0585 },
+{ 0xfc , 0x0556 },
+{ 0xfd , 0x0586 },
+{ 0xfe , 0x055A },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ASCII.pairs b/ap/build/uClibc/extra/locale/charmaps/ASCII.pairs
new file mode 100644
index 0000000..038314d
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ASCII.pairs
@@ -0,0 +1,128 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
diff --git a/ap/build/uClibc/extra/locale/charmaps/CP1251.pairs b/ap/build/uClibc/extra/locale/charmaps/CP1251.pairs
new file mode 100644
index 0000000..a5a80d6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/CP1251.pairs
@@ -0,0 +1,255 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0402 },
+{ 0x81 , 0x0403 },
+{ 0x82 , 0x201A },
+{ 0x83 , 0x0453 },
+{ 0x84 , 0x201E },
+{ 0x85 , 0x2026 },
+{ 0x86 , 0x2020 },
+{ 0x87 , 0x2021 },
+{ 0x88 , 0x20AC },
+{ 0x89 , 0x2030 },
+{ 0x8a , 0x0409 },
+{ 0x8b , 0x2039 },
+{ 0x8c , 0x040A },
+{ 0x8d , 0x040C },
+{ 0x8e , 0x040B },
+{ 0x8f , 0x040F },
+{ 0x90 , 0x0452 },
+{ 0x91 , 0x2018 },
+{ 0x92 , 0x2019 },
+{ 0x93 , 0x201C },
+{ 0x94 , 0x201D },
+{ 0x95 , 0x2022 },
+{ 0x96 , 0x2013 },
+{ 0x97 , 0x2014 },
+{ 0x99 , 0x2122 },
+{ 0x9a , 0x0459 },
+{ 0x9b , 0x203A },
+{ 0x9c , 0x045A },
+{ 0x9d , 0x045C },
+{ 0x9e , 0x045B },
+{ 0x9f , 0x045F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x040E },
+{ 0xa2 , 0x045E },
+{ 0xa3 , 0x0408 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x0490 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x0401 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x0404 },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x0407 },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x0406 },
+{ 0xb3 , 0x0456 },
+{ 0xb4 , 0x0491 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x0451 },
+{ 0xb9 , 0x2116 },
+{ 0xba , 0x0454 },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x0458 },
+{ 0xbd , 0x0405 },
+{ 0xbe , 0x0455 },
+{ 0xbf , 0x0457 },
+{ 0xc0 , 0x0410 },
+{ 0xc1 , 0x0411 },
+{ 0xc2 , 0x0412 },
+{ 0xc3 , 0x0413 },
+{ 0xc4 , 0x0414 },
+{ 0xc5 , 0x0415 },
+{ 0xc6 , 0x0416 },
+{ 0xc7 , 0x0417 },
+{ 0xc8 , 0x0418 },
+{ 0xc9 , 0x0419 },
+{ 0xca , 0x041A },
+{ 0xcb , 0x041B },
+{ 0xcc , 0x041C },
+{ 0xcd , 0x041D },
+{ 0xce , 0x041E },
+{ 0xcf , 0x041F },
+{ 0xd0 , 0x0420 },
+{ 0xd1 , 0x0421 },
+{ 0xd2 , 0x0422 },
+{ 0xd3 , 0x0423 },
+{ 0xd4 , 0x0424 },
+{ 0xd5 , 0x0425 },
+{ 0xd6 , 0x0426 },
+{ 0xd7 , 0x0427 },
+{ 0xd8 , 0x0428 },
+{ 0xd9 , 0x0429 },
+{ 0xda , 0x042A },
+{ 0xdb , 0x042B },
+{ 0xdc , 0x042C },
+{ 0xdd , 0x042D },
+{ 0xde , 0x042E },
+{ 0xdf , 0x042F },
+{ 0xe0 , 0x0430 },
+{ 0xe1 , 0x0431 },
+{ 0xe2 , 0x0432 },
+{ 0xe3 , 0x0433 },
+{ 0xe4 , 0x0434 },
+{ 0xe5 , 0x0435 },
+{ 0xe6 , 0x0436 },
+{ 0xe7 , 0x0437 },
+{ 0xe8 , 0x0438 },
+{ 0xe9 , 0x0439 },
+{ 0xea , 0x043A },
+{ 0xeb , 0x043B },
+{ 0xec , 0x043C },
+{ 0xed , 0x043D },
+{ 0xee , 0x043E },
+{ 0xef , 0x043F },
+{ 0xf0 , 0x0440 },
+{ 0xf1 , 0x0441 },
+{ 0xf2 , 0x0442 },
+{ 0xf3 , 0x0443 },
+{ 0xf4 , 0x0444 },
+{ 0xf5 , 0x0445 },
+{ 0xf6 , 0x0446 },
+{ 0xf7 , 0x0447 },
+{ 0xf8 , 0x0448 },
+{ 0xf9 , 0x0449 },
+{ 0xfa , 0x044A },
+{ 0xfb , 0x044B },
+{ 0xfc , 0x044C },
+{ 0xfd , 0x044D },
+{ 0xfe , 0x044E },
+{ 0xff , 0x044F },
diff --git a/ap/build/uClibc/extra/locale/charmaps/CP1255.pairs b/ap/build/uClibc/extra/locale/charmaps/CP1255.pairs
new file mode 100644
index 0000000..123bb5a
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/CP1255.pairs
@@ -0,0 +1,233 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x20AC },
+{ 0x82 , 0x201A },
+{ 0x83 , 0x0192 },
+{ 0x84 , 0x201E },
+{ 0x85 , 0x2026 },
+{ 0x86 , 0x2020 },
+{ 0x87 , 0x2021 },
+{ 0x88 , 0x02C6 },
+{ 0x89 , 0x2030 },
+{ 0x8b , 0x2039 },
+{ 0x91 , 0x2018 },
+{ 0x92 , 0x2019 },
+{ 0x93 , 0x201C },
+{ 0x94 , 0x201D },
+{ 0x95 , 0x2022 },
+{ 0x96 , 0x2013 },
+{ 0x97 , 0x2014 },
+{ 0x98 , 0x02DC },
+{ 0x99 , 0x2122 },
+{ 0x9b , 0x203A },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x00A1 },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x20AA },
+{ 0xa5 , 0x00A5 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x00D7 },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x00F7 },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x00BC },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x00BE },
+{ 0xbf , 0x00BF },
+{ 0xc0 , 0x05B0 },
+{ 0xc1 , 0x05B1 },
+{ 0xc2 , 0x05B2 },
+{ 0xc3 , 0x05B3 },
+{ 0xc4 , 0x05B4 },
+{ 0xc5 , 0x05B5 },
+{ 0xc6 , 0x05B6 },
+{ 0xc7 , 0x05B7 },
+{ 0xc8 , 0x05B8 },
+{ 0xc9 , 0x05B9 },
+{ 0xcb , 0x05BB },
+{ 0xcc , 0x05BC },
+{ 0xcd , 0x05BD },
+{ 0xce , 0x05BE },
+{ 0xcf , 0x05BF },
+{ 0xd0 , 0x05C0 },
+{ 0xd1 , 0x05C1 },
+{ 0xd2 , 0x05C2 },
+{ 0xd3 , 0x05C3 },
+{ 0xd4 , 0x05F0 },
+{ 0xd5 , 0x05F1 },
+{ 0xd6 , 0x05F2 },
+{ 0xd7 , 0x05F3 },
+{ 0xd8 , 0x05F4 },
+{ 0xe0 , 0x05D0 },
+{ 0xe1 , 0x05D1 },
+{ 0xe2 , 0x05D2 },
+{ 0xe3 , 0x05D3 },
+{ 0xe4 , 0x05D4 },
+{ 0xe5 , 0x05D5 },
+{ 0xe6 , 0x05D6 },
+{ 0xe7 , 0x05D7 },
+{ 0xe8 , 0x05D8 },
+{ 0xe9 , 0x05D9 },
+{ 0xea , 0x05DA },
+{ 0xeb , 0x05DB },
+{ 0xec , 0x05DC },
+{ 0xed , 0x05DD },
+{ 0xee , 0x05DE },
+{ 0xef , 0x05DF },
+{ 0xf0 , 0x05E0 },
+{ 0xf1 , 0x05E1 },
+{ 0xf2 , 0x05E2 },
+{ 0xf3 , 0x05E3 },
+{ 0xf4 , 0x05E4 },
+{ 0xf5 , 0x05E5 },
+{ 0xf6 , 0x05E6 },
+{ 0xf7 , 0x05E7 },
+{ 0xf8 , 0x05E8 },
+{ 0xf9 , 0x05E9 },
+{ 0xfa , 0x05EA },
+{ 0xfd , 0x200E },
+{ 0xfe , 0x200F },
diff --git a/ap/build/uClibc/extra/locale/charmaps/GEORGIAN-PS.pairs b/ap/build/uClibc/extra/locale/charmaps/GEORGIAN-PS.pairs
new file mode 100644
index 0000000..815b2e6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/GEORGIAN-PS.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x201A },
+{ 0x83 , 0x0192 },
+{ 0x84 , 0x201E },
+{ 0x85 , 0x2026 },
+{ 0x86 , 0x2020 },
+{ 0x87 , 0x2021 },
+{ 0x88 , 0x02C6 },
+{ 0x89 , 0x2030 },
+{ 0x8a , 0x0160 },
+{ 0x8b , 0x2039 },
+{ 0x8c , 0x0152 },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x2018 },
+{ 0x92 , 0x2019 },
+{ 0x93 , 0x201C },
+{ 0x94 , 0x201D },
+{ 0x95 , 0x2022 },
+{ 0x96 , 0x2013 },
+{ 0x97 , 0x2014 },
+{ 0x98 , 0x02DC },
+{ 0x99 , 0x2122 },
+{ 0x9a , 0x0161 },
+{ 0x9b , 0x203A },
+{ 0x9c , 0x0153 },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x0178 },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x00A1 },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x00A5 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x00AA },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x00BA },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x00BC },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x00BE },
+{ 0xbf , 0x00BF },
+{ 0xc0 , 0x10D0 },
+{ 0xc1 , 0x10D1 },
+{ 0xc2 , 0x10D2 },
+{ 0xc3 , 0x10D3 },
+{ 0xc4 , 0x10D4 },
+{ 0xc5 , 0x10D5 },
+{ 0xc6 , 0x10D6 },
+{ 0xc7 , 0x10F1 },
+{ 0xc8 , 0x10D7 },
+{ 0xc9 , 0x10D8 },
+{ 0xca , 0x10D9 },
+{ 0xcb , 0x10DA },
+{ 0xcc , 0x10DB },
+{ 0xcd , 0x10DC },
+{ 0xce , 0x10F2 },
+{ 0xcf , 0x10DD },
+{ 0xd0 , 0x10DE },
+{ 0xd1 , 0x10DF },
+{ 0xd2 , 0x10E0 },
+{ 0xd3 , 0x10E1 },
+{ 0xd4 , 0x10E2 },
+{ 0xd5 , 0x10F3 },
+{ 0xd6 , 0x10E3 },
+{ 0xd7 , 0x10E4 },
+{ 0xd8 , 0x10E5 },
+{ 0xd9 , 0x10E6 },
+{ 0xda , 0x10E7 },
+{ 0xdb , 0x10E8 },
+{ 0xdc , 0x10E9 },
+{ 0xdd , 0x10EA },
+{ 0xde , 0x10EB },
+{ 0xdf , 0x10EC },
+{ 0xe0 , 0x10ED },
+{ 0xe1 , 0x10EE },
+{ 0xe2 , 0x10F4 },
+{ 0xe3 , 0x10EF },
+{ 0xe4 , 0x10F0 },
+{ 0xe5 , 0x10F5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x00F0 },
+{ 0xf1 , 0x00F1 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x00FD },
+{ 0xfe , 0x00FE },
+{ 0xff , 0x00FF },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-1.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-1.pairs
new file mode 100644
index 0000000..97812a0
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-1.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x00A1 },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x00A5 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x00AA },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x00BA },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x00BC },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x00BE },
+{ 0xbf , 0x00BF },
+{ 0xc0 , 0x00C0 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x00C3 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x00C8 },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x00CA },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x00CC },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd0 , 0x00D0 },
+{ 0xd1 , 0x00D1 },
+{ 0xd2 , 0x00D2 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x00D8 },
+{ 0xd9 , 0x00D9 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x00DD },
+{ 0xde , 0x00DE },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x00E0 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x00E3 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x00F0 },
+{ 0xf1 , 0x00F1 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x00FD },
+{ 0xfe , 0x00FE },
+{ 0xff , 0x00FF },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-10.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-10.pairs
new file mode 100644
index 0000000..a39892f
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-10.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x0104 },
+{ 0xa2 , 0x0112 },
+{ 0xa3 , 0x0122 },
+{ 0xa4 , 0x012A },
+{ 0xa5 , 0x0128 },
+{ 0xa6 , 0x0136 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x013B },
+{ 0xa9 , 0x0110 },
+{ 0xaa , 0x0160 },
+{ 0xab , 0x0166 },
+{ 0xac , 0x017D },
+{ 0xad , 0x00AD },
+{ 0xae , 0x016A },
+{ 0xaf , 0x014A },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x0105 },
+{ 0xb2 , 0x0113 },
+{ 0xb3 , 0x0123 },
+{ 0xb4 , 0x012B },
+{ 0xb5 , 0x0129 },
+{ 0xb6 , 0x0137 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x013C },
+{ 0xb9 , 0x0111 },
+{ 0xba , 0x0161 },
+{ 0xbb , 0x0167 },
+{ 0xbc , 0x017E },
+{ 0xbd , 0x2015 },
+{ 0xbe , 0x016B },
+{ 0xbf , 0x014B },
+{ 0xc0 , 0x0100 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x00C3 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x012E },
+{ 0xc8 , 0x010C },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x0118 },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x0116 },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd0 , 0x00D0 },
+{ 0xd1 , 0x0145 },
+{ 0xd2 , 0x014C },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x0168 },
+{ 0xd8 , 0x00D8 },
+{ 0xd9 , 0x0172 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x00DD },
+{ 0xde , 0x00DE },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x0101 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x00E3 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x012F },
+{ 0xe8 , 0x010D },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x0119 },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x0117 },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x00F0 },
+{ 0xf1 , 0x0146 },
+{ 0xf2 , 0x014D },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x0169 },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x0173 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x00FD },
+{ 0xfe , 0x00FE },
+{ 0xff , 0x0138 },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-13.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-13.pairs
new file mode 100644
index 0000000..ff95fb4
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-13.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x201D },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x201E },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00D8 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x0156 },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00C6 },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x201C },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00F8 },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x0157 },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x00BC },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x00BE },
+{ 0xbf , 0x00E6 },
+{ 0xc0 , 0x0104 },
+{ 0xc1 , 0x012E },
+{ 0xc2 , 0x0100 },
+{ 0xc3 , 0x0106 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x0118 },
+{ 0xc7 , 0x0112 },
+{ 0xc8 , 0x010C },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x0179 },
+{ 0xcb , 0x0116 },
+{ 0xcc , 0x0122 },
+{ 0xcd , 0x0136 },
+{ 0xce , 0x012A },
+{ 0xcf , 0x013B },
+{ 0xd0 , 0x0160 },
+{ 0xd1 , 0x0143 },
+{ 0xd2 , 0x0145 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x014C },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x0172 },
+{ 0xd9 , 0x0141 },
+{ 0xda , 0x015A },
+{ 0xdb , 0x016A },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x017B },
+{ 0xde , 0x017D },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x0105 },
+{ 0xe1 , 0x012F },
+{ 0xe2 , 0x0101 },
+{ 0xe3 , 0x0107 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x0119 },
+{ 0xe7 , 0x0113 },
+{ 0xe8 , 0x010D },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x017A },
+{ 0xeb , 0x0117 },
+{ 0xec , 0x0123 },
+{ 0xed , 0x0137 },
+{ 0xee , 0x012B },
+{ 0xef , 0x013C },
+{ 0xf0 , 0x0161 },
+{ 0xf1 , 0x0144 },
+{ 0xf2 , 0x0146 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x014D },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x0173 },
+{ 0xf9 , 0x0142 },
+{ 0xfa , 0x015B },
+{ 0xfb , 0x016B },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x017C },
+{ 0xfe , 0x017E },
+{ 0xff , 0x2019 },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-14.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-14.pairs
new file mode 100644
index 0000000..8a8f06e
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-14.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x1E02 },
+{ 0xa2 , 0x1E03 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x010A },
+{ 0xa5 , 0x010B },
+{ 0xa6 , 0x1E0A },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x1E80 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x1E82 },
+{ 0xab , 0x1E0B },
+{ 0xac , 0x1EF2 },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x0178 },
+{ 0xb0 , 0x1E1E },
+{ 0xb1 , 0x1E1F },
+{ 0xb2 , 0x0120 },
+{ 0xb3 , 0x0121 },
+{ 0xb4 , 0x1E40 },
+{ 0xb5 , 0x1E41 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x1E56 },
+{ 0xb8 , 0x1E81 },
+{ 0xb9 , 0x1E57 },
+{ 0xba , 0x1E83 },
+{ 0xbb , 0x1E60 },
+{ 0xbc , 0x1EF3 },
+{ 0xbd , 0x1E84 },
+{ 0xbe , 0x1E85 },
+{ 0xbf , 0x1E61 },
+{ 0xc0 , 0x00C0 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x00C3 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x00C8 },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x00CA },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x00CC },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd0 , 0x0174 },
+{ 0xd1 , 0x00D1 },
+{ 0xd2 , 0x00D2 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x1E6A },
+{ 0xd8 , 0x00D8 },
+{ 0xd9 , 0x00D9 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x00DD },
+{ 0xde , 0x0176 },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x00E0 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x00E3 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x0175 },
+{ 0xf1 , 0x00F1 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x1E6B },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x00FD },
+{ 0xfe , 0x0177 },
+{ 0xff , 0x00FF },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-15.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-15.pairs
new file mode 100644
index 0000000..ca50e22
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-15.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x00A1 },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x20AC },
+{ 0xa5 , 0x00A5 },
+{ 0xa6 , 0x0160 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x0161 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x00AA },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x017D },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x017E },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x00BA },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x0152 },
+{ 0xbd , 0x0153 },
+{ 0xbe , 0x0178 },
+{ 0xbf , 0x00BF },
+{ 0xc0 , 0x00C0 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x00C3 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x00C8 },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x00CA },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x00CC },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd0 , 0x00D0 },
+{ 0xd1 , 0x00D1 },
+{ 0xd2 , 0x00D2 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x00D8 },
+{ 0xd9 , 0x00D9 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x00DD },
+{ 0xde , 0x00DE },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x00E0 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x00E3 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x00F0 },
+{ 0xf1 , 0x00F1 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x00FD },
+{ 0xfe , 0x00FE },
+{ 0xff , 0x00FF },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-16.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-16.pairs
new file mode 100644
index 0000000..6b74963
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-16.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x0104 },
+{ 0xa2 , 0x0105 },
+{ 0xa3 , 0x0141 },
+{ 0xa4 , 0x20AC },
+{ 0xa5 , 0x00AB },
+{ 0xa6 , 0x0160 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x0161 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x0218 },
+{ 0xab , 0x201E },
+{ 0xac , 0x0179 },
+{ 0xad , 0x00AD },
+{ 0xae , 0x017A },
+{ 0xaf , 0x017B },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x010C },
+{ 0xb3 , 0x0142 },
+{ 0xb4 , 0x017D },
+{ 0xb5 , 0x201D },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x017E },
+{ 0xb9 , 0x010D },
+{ 0xba , 0x0219 },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x0152 },
+{ 0xbd , 0x0153 },
+{ 0xbe , 0x0178 },
+{ 0xbf , 0x017C },
+{ 0xc0 , 0x00C0 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x0102 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x0106 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x00C8 },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x00CA },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x00CC },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd0 , 0x0110 },
+{ 0xd1 , 0x0143 },
+{ 0xd2 , 0x00D2 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x0150 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x015A },
+{ 0xd8 , 0x0170 },
+{ 0xd9 , 0x00D9 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x0118 },
+{ 0xde , 0x021A },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x00E0 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x0103 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x0107 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x0111 },
+{ 0xf1 , 0x0144 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x0151 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x015B },
+{ 0xf8 , 0x0171 },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x0119 },
+{ 0xfe , 0x021B },
+{ 0xff , 0x00FF },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-2.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-2.pairs
new file mode 100644
index 0000000..4e92f94
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-2.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x0104 },
+{ 0xa2 , 0x02D8 },
+{ 0xa3 , 0x0141 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x013D },
+{ 0xa6 , 0x015A },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x0160 },
+{ 0xaa , 0x015E },
+{ 0xab , 0x0164 },
+{ 0xac , 0x0179 },
+{ 0xad , 0x00AD },
+{ 0xae , 0x017D },
+{ 0xaf , 0x017B },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x0105 },
+{ 0xb2 , 0x02DB },
+{ 0xb3 , 0x0142 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x013E },
+{ 0xb6 , 0x015B },
+{ 0xb7 , 0x02C7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x0161 },
+{ 0xba , 0x015F },
+{ 0xbb , 0x0165 },
+{ 0xbc , 0x017A },
+{ 0xbd , 0x02DD },
+{ 0xbe , 0x017E },
+{ 0xbf , 0x017C },
+{ 0xc0 , 0x0154 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x0102 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x0139 },
+{ 0xc6 , 0x0106 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x010C },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x0118 },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x011A },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x010E },
+{ 0xd0 , 0x0110 },
+{ 0xd1 , 0x0143 },
+{ 0xd2 , 0x0147 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x0150 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x0158 },
+{ 0xd9 , 0x016E },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x0170 },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x00DD },
+{ 0xde , 0x0162 },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x0155 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x0103 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x013A },
+{ 0xe6 , 0x0107 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x010D },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x0119 },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x011B },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x010F },
+{ 0xf0 , 0x0111 },
+{ 0xf1 , 0x0144 },
+{ 0xf2 , 0x0148 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x0151 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x0159 },
+{ 0xf9 , 0x016F },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x0171 },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x00FD },
+{ 0xfe , 0x0163 },
+{ 0xff , 0x02D9 },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-3.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-3.pairs
new file mode 100644
index 0000000..3a8814c
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-3.pairs
@@ -0,0 +1,249 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x0126 },
+{ 0xa2 , 0x02D8 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x00A4 },
+{ 0xa6 , 0x0124 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x0130 },
+{ 0xaa , 0x015E },
+{ 0xab , 0x011E },
+{ 0xac , 0x0134 },
+{ 0xad , 0x00AD },
+{ 0xaf , 0x017B },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x0127 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x0125 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x0131 },
+{ 0xba , 0x015F },
+{ 0xbb , 0x011F },
+{ 0xbc , 0x0135 },
+{ 0xbd , 0x00BD },
+{ 0xbf , 0x017C },
+{ 0xc0 , 0x00C0 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x010A },
+{ 0xc6 , 0x0108 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x00C8 },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x00CA },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x00CC },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd1 , 0x00D1 },
+{ 0xd2 , 0x00D2 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x0120 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x011C },
+{ 0xd9 , 0x00D9 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x016C },
+{ 0xde , 0x015C },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x00E0 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x010B },
+{ 0xe6 , 0x0109 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf1 , 0x00F1 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x0121 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x011D },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x016D },
+{ 0xfe , 0x015D },
+{ 0xff , 0x02D9 },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-4.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-4.pairs
new file mode 100644
index 0000000..dda865c
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-4.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x0104 },
+{ 0xa2 , 0x0138 },
+{ 0xa3 , 0x0156 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x0128 },
+{ 0xa6 , 0x013B },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x0160 },
+{ 0xaa , 0x0112 },
+{ 0xab , 0x0122 },
+{ 0xac , 0x0166 },
+{ 0xad , 0x00AD },
+{ 0xae , 0x017D },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x0105 },
+{ 0xb2 , 0x02DB },
+{ 0xb3 , 0x0157 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x0129 },
+{ 0xb6 , 0x013C },
+{ 0xb7 , 0x02C7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x0161 },
+{ 0xba , 0x0113 },
+{ 0xbb , 0x0123 },
+{ 0xbc , 0x0167 },
+{ 0xbd , 0x014A },
+{ 0xbe , 0x017E },
+{ 0xbf , 0x014B },
+{ 0xc0 , 0x0100 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x00C3 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x012E },
+{ 0xc8 , 0x010C },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x0118 },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x0116 },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x012A },
+{ 0xd0 , 0x0110 },
+{ 0xd1 , 0x0145 },
+{ 0xd2 , 0x014C },
+{ 0xd3 , 0x0136 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x00D8 },
+{ 0xd9 , 0x0172 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x0168 },
+{ 0xde , 0x016A },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x0101 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x00E3 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x012F },
+{ 0xe8 , 0x010D },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x0119 },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x0117 },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x012B },
+{ 0xf0 , 0x0111 },
+{ 0xf1 , 0x0146 },
+{ 0xf2 , 0x014D },
+{ 0xf3 , 0x0137 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x0173 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x0169 },
+{ 0xfe , 0x016B },
+{ 0xff , 0x02D9 },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-5.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-5.pairs
new file mode 100644
index 0000000..08ebcae
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-5.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x0401 },
+{ 0xa2 , 0x0402 },
+{ 0xa3 , 0x0403 },
+{ 0xa4 , 0x0404 },
+{ 0xa5 , 0x0405 },
+{ 0xa6 , 0x0406 },
+{ 0xa7 , 0x0407 },
+{ 0xa8 , 0x0408 },
+{ 0xa9 , 0x0409 },
+{ 0xaa , 0x040A },
+{ 0xab , 0x040B },
+{ 0xac , 0x040C },
+{ 0xad , 0x00AD },
+{ 0xae , 0x040E },
+{ 0xaf , 0x040F },
+{ 0xb0 , 0x0410 },
+{ 0xb1 , 0x0411 },
+{ 0xb2 , 0x0412 },
+{ 0xb3 , 0x0413 },
+{ 0xb4 , 0x0414 },
+{ 0xb5 , 0x0415 },
+{ 0xb6 , 0x0416 },
+{ 0xb7 , 0x0417 },
+{ 0xb8 , 0x0418 },
+{ 0xb9 , 0x0419 },
+{ 0xba , 0x041A },
+{ 0xbb , 0x041B },
+{ 0xbc , 0x041C },
+{ 0xbd , 0x041D },
+{ 0xbe , 0x041E },
+{ 0xbf , 0x041F },
+{ 0xc0 , 0x0420 },
+{ 0xc1 , 0x0421 },
+{ 0xc2 , 0x0422 },
+{ 0xc3 , 0x0423 },
+{ 0xc4 , 0x0424 },
+{ 0xc5 , 0x0425 },
+{ 0xc6 , 0x0426 },
+{ 0xc7 , 0x0427 },
+{ 0xc8 , 0x0428 },
+{ 0xc9 , 0x0429 },
+{ 0xca , 0x042A },
+{ 0xcb , 0x042B },
+{ 0xcc , 0x042C },
+{ 0xcd , 0x042D },
+{ 0xce , 0x042E },
+{ 0xcf , 0x042F },
+{ 0xd0 , 0x0430 },
+{ 0xd1 , 0x0431 },
+{ 0xd2 , 0x0432 },
+{ 0xd3 , 0x0433 },
+{ 0xd4 , 0x0434 },
+{ 0xd5 , 0x0435 },
+{ 0xd6 , 0x0436 },
+{ 0xd7 , 0x0437 },
+{ 0xd8 , 0x0438 },
+{ 0xd9 , 0x0439 },
+{ 0xda , 0x043A },
+{ 0xdb , 0x043B },
+{ 0xdc , 0x043C },
+{ 0xdd , 0x043D },
+{ 0xde , 0x043E },
+{ 0xdf , 0x043F },
+{ 0xe0 , 0x0440 },
+{ 0xe1 , 0x0441 },
+{ 0xe2 , 0x0442 },
+{ 0xe3 , 0x0443 },
+{ 0xe4 , 0x0444 },
+{ 0xe5 , 0x0445 },
+{ 0xe6 , 0x0446 },
+{ 0xe7 , 0x0447 },
+{ 0xe8 , 0x0448 },
+{ 0xe9 , 0x0449 },
+{ 0xea , 0x044A },
+{ 0xeb , 0x044B },
+{ 0xec , 0x044C },
+{ 0xed , 0x044D },
+{ 0xee , 0x044E },
+{ 0xef , 0x044F },
+{ 0xf0 , 0x2116 },
+{ 0xf1 , 0x0451 },
+{ 0xf2 , 0x0452 },
+{ 0xf3 , 0x0453 },
+{ 0xf4 , 0x0454 },
+{ 0xf5 , 0x0455 },
+{ 0xf6 , 0x0456 },
+{ 0xf7 , 0x0457 },
+{ 0xf8 , 0x0458 },
+{ 0xf9 , 0x0459 },
+{ 0xfa , 0x045A },
+{ 0xfb , 0x045B },
+{ 0xfc , 0x045C },
+{ 0xfd , 0x00A7 },
+{ 0xfe , 0x045E },
+{ 0xff , 0x045F },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-6.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-6.pairs
new file mode 100644
index 0000000..ccba9f9
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-6.pairs
@@ -0,0 +1,211 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa4 , 0x00A4 },
+{ 0xac , 0x060C },
+{ 0xad , 0x00AD },
+{ 0xbb , 0x061B },
+{ 0xbf , 0x061F },
+{ 0xc1 , 0x0621 },
+{ 0xc2 , 0x0622 },
+{ 0xc3 , 0x0623 },
+{ 0xc4 , 0x0624 },
+{ 0xc5 , 0x0625 },
+{ 0xc6 , 0x0626 },
+{ 0xc7 , 0x0627 },
+{ 0xc8 , 0x0628 },
+{ 0xc9 , 0x0629 },
+{ 0xca , 0x062A },
+{ 0xcb , 0x062B },
+{ 0xcc , 0x062C },
+{ 0xcd , 0x062D },
+{ 0xce , 0x062E },
+{ 0xcf , 0x062F },
+{ 0xd0 , 0x0630 },
+{ 0xd1 , 0x0631 },
+{ 0xd2 , 0x0632 },
+{ 0xd3 , 0x0633 },
+{ 0xd4 , 0x0634 },
+{ 0xd5 , 0x0635 },
+{ 0xd6 , 0x0636 },
+{ 0xd7 , 0x0637 },
+{ 0xd8 , 0x0638 },
+{ 0xd9 , 0x0639 },
+{ 0xda , 0x063A },
+{ 0xe0 , 0x0640 },
+{ 0xe1 , 0x0641 },
+{ 0xe2 , 0x0642 },
+{ 0xe3 , 0x0643 },
+{ 0xe4 , 0x0644 },
+{ 0xe5 , 0x0645 },
+{ 0xe6 , 0x0646 },
+{ 0xe7 , 0x0647 },
+{ 0xe8 , 0x0648 },
+{ 0xe9 , 0x0649 },
+{ 0xea , 0x064A },
+{ 0xeb , 0x064B },
+{ 0xec , 0x064C },
+{ 0xed , 0x064D },
+{ 0xee , 0x064E },
+{ 0xef , 0x064F },
+{ 0xf0 , 0x0650 },
+{ 0xf1 , 0x0651 },
+{ 0xf2 , 0x0652 },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-7.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-7.pairs
new file mode 100644
index 0000000..36b8ba2
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-7.pairs
@@ -0,0 +1,250 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x2018 },
+{ 0xa2 , 0x2019 },
+{ 0xa3 , 0x00A3 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x00A9 },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xaf , 0x2015 },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x0384 },
+{ 0xb5 , 0x0385 },
+{ 0xb6 , 0x0386 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x0388 },
+{ 0xb9 , 0x0389 },
+{ 0xba , 0x038A },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x038C },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x038E },
+{ 0xbf , 0x038F },
+{ 0xc0 , 0x0390 },
+{ 0xc1 , 0x0391 },
+{ 0xc2 , 0x0392 },
+{ 0xc3 , 0x0393 },
+{ 0xc4 , 0x0394 },
+{ 0xc5 , 0x0395 },
+{ 0xc6 , 0x0396 },
+{ 0xc7 , 0x0397 },
+{ 0xc8 , 0x0398 },
+{ 0xc9 , 0x0399 },
+{ 0xca , 0x039A },
+{ 0xcb , 0x039B },
+{ 0xcc , 0x039C },
+{ 0xcd , 0x039D },
+{ 0xce , 0x039E },
+{ 0xcf , 0x039F },
+{ 0xd0 , 0x03A0 },
+{ 0xd1 , 0x03A1 },
+{ 0xd3 , 0x03A3 },
+{ 0xd4 , 0x03A4 },
+{ 0xd5 , 0x03A5 },
+{ 0xd6 , 0x03A6 },
+{ 0xd7 , 0x03A7 },
+{ 0xd8 , 0x03A8 },
+{ 0xd9 , 0x03A9 },
+{ 0xda , 0x03AA },
+{ 0xdb , 0x03AB },
+{ 0xdc , 0x03AC },
+{ 0xdd , 0x03AD },
+{ 0xde , 0x03AE },
+{ 0xdf , 0x03AF },
+{ 0xe0 , 0x03B0 },
+{ 0xe1 , 0x03B1 },
+{ 0xe2 , 0x03B2 },
+{ 0xe3 , 0x03B3 },
+{ 0xe4 , 0x03B4 },
+{ 0xe5 , 0x03B5 },
+{ 0xe6 , 0x03B6 },
+{ 0xe7 , 0x03B7 },
+{ 0xe8 , 0x03B8 },
+{ 0xe9 , 0x03B9 },
+{ 0xea , 0x03BA },
+{ 0xeb , 0x03BB },
+{ 0xec , 0x03BC },
+{ 0xed , 0x03BD },
+{ 0xee , 0x03BE },
+{ 0xef , 0x03BF },
+{ 0xf0 , 0x03C0 },
+{ 0xf1 , 0x03C1 },
+{ 0xf2 , 0x03C2 },
+{ 0xf3 , 0x03C3 },
+{ 0xf4 , 0x03C4 },
+{ 0xf5 , 0x03C5 },
+{ 0xf6 , 0x03C6 },
+{ 0xf7 , 0x03C7 },
+{ 0xf8 , 0x03C8 },
+{ 0xf9 , 0x03C9 },
+{ 0xfa , 0x03CA },
+{ 0xfb , 0x03CB },
+{ 0xfc , 0x03CC },
+{ 0xfd , 0x03CD },
+{ 0xfe , 0x03CE },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-8.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-8.pairs
new file mode 100644
index 0000000..8d32dd8
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-8.pairs
@@ -0,0 +1,220 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x00A5 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x00D7 },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x00F7 },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x00BC },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x00BE },
+{ 0xdf , 0x2017 },
+{ 0xe0 , 0x05D0 },
+{ 0xe1 , 0x05D1 },
+{ 0xe2 , 0x05D2 },
+{ 0xe3 , 0x05D3 },
+{ 0xe4 , 0x05D4 },
+{ 0xe5 , 0x05D5 },
+{ 0xe6 , 0x05D6 },
+{ 0xe7 , 0x05D7 },
+{ 0xe8 , 0x05D8 },
+{ 0xe9 , 0x05D9 },
+{ 0xea , 0x05DA },
+{ 0xeb , 0x05DB },
+{ 0xec , 0x05DC },
+{ 0xed , 0x05DD },
+{ 0xee , 0x05DE },
+{ 0xef , 0x05DF },
+{ 0xf0 , 0x05E0 },
+{ 0xf1 , 0x05E1 },
+{ 0xf2 , 0x05E2 },
+{ 0xf3 , 0x05E3 },
+{ 0xf4 , 0x05E4 },
+{ 0xf5 , 0x05E5 },
+{ 0xf6 , 0x05E6 },
+{ 0xf7 , 0x05E7 },
+{ 0xf8 , 0x05E8 },
+{ 0xf9 , 0x05E9 },
+{ 0xfa , 0x05EA },
+{ 0xfd , 0x200E },
+{ 0xfe , 0x200F },
diff --git a/ap/build/uClibc/extra/locale/charmaps/ISO-8859-9.pairs b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-9.pairs
new file mode 100644
index 0000000..a5748cd
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/ISO-8859-9.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x0080 },
+{ 0x81 , 0x0081 },
+{ 0x82 , 0x0082 },
+{ 0x83 , 0x0083 },
+{ 0x84 , 0x0084 },
+{ 0x85 , 0x0085 },
+{ 0x86 , 0x0086 },
+{ 0x87 , 0x0087 },
+{ 0x88 , 0x0088 },
+{ 0x89 , 0x0089 },
+{ 0x8a , 0x008A },
+{ 0x8b , 0x008B },
+{ 0x8c , 0x008C },
+{ 0x8d , 0x008D },
+{ 0x8e , 0x008E },
+{ 0x8f , 0x008F },
+{ 0x90 , 0x0090 },
+{ 0x91 , 0x0091 },
+{ 0x92 , 0x0092 },
+{ 0x93 , 0x0093 },
+{ 0x94 , 0x0094 },
+{ 0x95 , 0x0095 },
+{ 0x96 , 0x0096 },
+{ 0x97 , 0x0097 },
+{ 0x98 , 0x0098 },
+{ 0x99 , 0x0099 },
+{ 0x9a , 0x009A },
+{ 0x9b , 0x009B },
+{ 0x9c , 0x009C },
+{ 0x9d , 0x009D },
+{ 0x9e , 0x009E },
+{ 0x9f , 0x009F },
+{ 0xa0 , 0x00A0 },
+{ 0xa1 , 0x00A1 },
+{ 0xa2 , 0x00A2 },
+{ 0xa3 , 0x00A3 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x00A5 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xa8 , 0x00A8 },
+{ 0xa9 , 0x00A9 },
+{ 0xaa , 0x00AA },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xaf , 0x00AF },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x00B3 },
+{ 0xb4 , 0x00B4 },
+{ 0xb5 , 0x00B5 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb8 , 0x00B8 },
+{ 0xb9 , 0x00B9 },
+{ 0xba , 0x00BA },
+{ 0xbb , 0x00BB },
+{ 0xbc , 0x00BC },
+{ 0xbd , 0x00BD },
+{ 0xbe , 0x00BE },
+{ 0xbf , 0x00BF },
+{ 0xc0 , 0x00C0 },
+{ 0xc1 , 0x00C1 },
+{ 0xc2 , 0x00C2 },
+{ 0xc3 , 0x00C3 },
+{ 0xc4 , 0x00C4 },
+{ 0xc5 , 0x00C5 },
+{ 0xc6 , 0x00C6 },
+{ 0xc7 , 0x00C7 },
+{ 0xc8 , 0x00C8 },
+{ 0xc9 , 0x00C9 },
+{ 0xca , 0x00CA },
+{ 0xcb , 0x00CB },
+{ 0xcc , 0x00CC },
+{ 0xcd , 0x00CD },
+{ 0xce , 0x00CE },
+{ 0xcf , 0x00CF },
+{ 0xd0 , 0x011E },
+{ 0xd1 , 0x00D1 },
+{ 0xd2 , 0x00D2 },
+{ 0xd3 , 0x00D3 },
+{ 0xd4 , 0x00D4 },
+{ 0xd5 , 0x00D5 },
+{ 0xd6 , 0x00D6 },
+{ 0xd7 , 0x00D7 },
+{ 0xd8 , 0x00D8 },
+{ 0xd9 , 0x00D9 },
+{ 0xda , 0x00DA },
+{ 0xdb , 0x00DB },
+{ 0xdc , 0x00DC },
+{ 0xdd , 0x0130 },
+{ 0xde , 0x015E },
+{ 0xdf , 0x00DF },
+{ 0xe0 , 0x00E0 },
+{ 0xe1 , 0x00E1 },
+{ 0xe2 , 0x00E2 },
+{ 0xe3 , 0x00E3 },
+{ 0xe4 , 0x00E4 },
+{ 0xe5 , 0x00E5 },
+{ 0xe6 , 0x00E6 },
+{ 0xe7 , 0x00E7 },
+{ 0xe8 , 0x00E8 },
+{ 0xe9 , 0x00E9 },
+{ 0xea , 0x00EA },
+{ 0xeb , 0x00EB },
+{ 0xec , 0x00EC },
+{ 0xed , 0x00ED },
+{ 0xee , 0x00EE },
+{ 0xef , 0x00EF },
+{ 0xf0 , 0x011F },
+{ 0xf1 , 0x00F1 },
+{ 0xf2 , 0x00F2 },
+{ 0xf3 , 0x00F3 },
+{ 0xf4 , 0x00F4 },
+{ 0xf5 , 0x00F5 },
+{ 0xf6 , 0x00F6 },
+{ 0xf7 , 0x00F7 },
+{ 0xf8 , 0x00F8 },
+{ 0xf9 , 0x00F9 },
+{ 0xfa , 0x00FA },
+{ 0xfb , 0x00FB },
+{ 0xfc , 0x00FC },
+{ 0xfd , 0x0131 },
+{ 0xfe , 0x015F },
+{ 0xff , 0x00FF },
diff --git a/ap/build/uClibc/extra/locale/charmaps/KOI8-R.pairs b/ap/build/uClibc/extra/locale/charmaps/KOI8-R.pairs
new file mode 100644
index 0000000..f34053d
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/KOI8-R.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x2500 },
+{ 0x81 , 0x2502 },
+{ 0x82 , 0x250C },
+{ 0x83 , 0x2510 },
+{ 0x84 , 0x2514 },
+{ 0x85 , 0x2518 },
+{ 0x86 , 0x251C },
+{ 0x87 , 0x2524 },
+{ 0x88 , 0x252C },
+{ 0x89 , 0x2534 },
+{ 0x8a , 0x253C },
+{ 0x8b , 0x2580 },
+{ 0x8c , 0x2584 },
+{ 0x8d , 0x2588 },
+{ 0x8e , 0x258C },
+{ 0x8f , 0x2590 },
+{ 0x90 , 0x2591 },
+{ 0x91 , 0x2592 },
+{ 0x92 , 0x2593 },
+{ 0x93 , 0x2320 },
+{ 0x94 , 0x25A0 },
+{ 0x95 , 0x2219 },
+{ 0x96 , 0x221A },
+{ 0x97 , 0x2248 },
+{ 0x98 , 0x2264 },
+{ 0x99 , 0x2265 },
+{ 0x9a , 0x00A0 },
+{ 0x9b , 0x2321 },
+{ 0x9c , 0x00B0 },
+{ 0x9d , 0x00B2 },
+{ 0x9e , 0x00B7 },
+{ 0x9f , 0x00F7 },
+{ 0xa0 , 0x2550 },
+{ 0xa1 , 0x2551 },
+{ 0xa2 , 0x2552 },
+{ 0xa3 , 0x0451 },
+{ 0xa4 , 0x2553 },
+{ 0xa5 , 0x2554 },
+{ 0xa6 , 0x2555 },
+{ 0xa7 , 0x2556 },
+{ 0xa8 , 0x2557 },
+{ 0xa9 , 0x2558 },
+{ 0xaa , 0x2559 },
+{ 0xab , 0x255A },
+{ 0xac , 0x255B },
+{ 0xad , 0x255C },
+{ 0xae , 0x255D },
+{ 0xaf , 0x255E },
+{ 0xb0 , 0x255F },
+{ 0xb1 , 0x2560 },
+{ 0xb2 , 0x2561 },
+{ 0xb3 , 0x0401 },
+{ 0xb4 , 0x2562 },
+{ 0xb5 , 0x2563 },
+{ 0xb6 , 0x2564 },
+{ 0xb7 , 0x2565 },
+{ 0xb8 , 0x2566 },
+{ 0xb9 , 0x2567 },
+{ 0xba , 0x2568 },
+{ 0xbb , 0x2569 },
+{ 0xbc , 0x256A },
+{ 0xbd , 0x256B },
+{ 0xbe , 0x256C },
+{ 0xbf , 0x00A9 },
+{ 0xc0 , 0x044E },
+{ 0xc1 , 0x0430 },
+{ 0xc2 , 0x0431 },
+{ 0xc3 , 0x0446 },
+{ 0xc4 , 0x0434 },
+{ 0xc5 , 0x0435 },
+{ 0xc6 , 0x0444 },
+{ 0xc7 , 0x0433 },
+{ 0xc8 , 0x0445 },
+{ 0xc9 , 0x0438 },
+{ 0xca , 0x0439 },
+{ 0xcb , 0x043A },
+{ 0xcc , 0x043B },
+{ 0xcd , 0x043C },
+{ 0xce , 0x043D },
+{ 0xcf , 0x043E },
+{ 0xd0 , 0x043F },
+{ 0xd1 , 0x044F },
+{ 0xd2 , 0x0440 },
+{ 0xd3 , 0x0441 },
+{ 0xd4 , 0x0442 },
+{ 0xd5 , 0x0443 },
+{ 0xd6 , 0x0436 },
+{ 0xd7 , 0x0432 },
+{ 0xd8 , 0x044C },
+{ 0xd9 , 0x044B },
+{ 0xda , 0x0437 },
+{ 0xdb , 0x0448 },
+{ 0xdc , 0x044D },
+{ 0xdd , 0x0449 },
+{ 0xde , 0x0447 },
+{ 0xdf , 0x044A },
+{ 0xe0 , 0x042E },
+{ 0xe1 , 0x0410 },
+{ 0xe2 , 0x0411 },
+{ 0xe3 , 0x0426 },
+{ 0xe4 , 0x0414 },
+{ 0xe5 , 0x0415 },
+{ 0xe6 , 0x0424 },
+{ 0xe7 , 0x0413 },
+{ 0xe8 , 0x0425 },
+{ 0xe9 , 0x0418 },
+{ 0xea , 0x0419 },
+{ 0xeb , 0x041A },
+{ 0xec , 0x041B },
+{ 0xed , 0x041C },
+{ 0xee , 0x041D },
+{ 0xef , 0x041E },
+{ 0xf0 , 0x041F },
+{ 0xf1 , 0x042F },
+{ 0xf2 , 0x0420 },
+{ 0xf3 , 0x0421 },
+{ 0xf4 , 0x0422 },
+{ 0xf5 , 0x0423 },
+{ 0xf6 , 0x0416 },
+{ 0xf7 , 0x0412 },
+{ 0xf8 , 0x042C },
+{ 0xf9 , 0x042B },
+{ 0xfa , 0x0417 },
+{ 0xfb , 0x0428 },
+{ 0xfc , 0x042D },
+{ 0xfd , 0x0429 },
+{ 0xfe , 0x0427 },
+{ 0xff , 0x042A },
diff --git a/ap/build/uClibc/extra/locale/charmaps/KOI8-T.pairs b/ap/build/uClibc/extra/locale/charmaps/KOI8-T.pairs
new file mode 100644
index 0000000..aeba582
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/KOI8-T.pairs
@@ -0,0 +1,237 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x049B },
+{ 0x81 , 0x0493 },
+{ 0x82 , 0x201A },
+{ 0x83 , 0x0492 },
+{ 0x84 , 0x201E },
+{ 0x85 , 0x2026 },
+{ 0x86 , 0x2020 },
+{ 0x87 , 0x2021 },
+{ 0x89 , 0x2030 },
+{ 0x8a , 0x04B3 },
+{ 0x8b , 0x2039 },
+{ 0x8c , 0x04B2 },
+{ 0x8d , 0x04B7 },
+{ 0x8e , 0x04B6 },
+{ 0x90 , 0x049A },
+{ 0x91 , 0x2018 },
+{ 0x92 , 0x2019 },
+{ 0x93 , 0x201C },
+{ 0x94 , 0x201D },
+{ 0x95 , 0x2022 },
+{ 0x96 , 0x2013 },
+{ 0x97 , 0x2014 },
+{ 0x99 , 0x2122 },
+{ 0x9b , 0x203A },
+{ 0xa1 , 0x04EF },
+{ 0xa2 , 0x04EE },
+{ 0xa3 , 0x0451 },
+{ 0xa4 , 0x00A4 },
+{ 0xa5 , 0x04E3 },
+{ 0xa6 , 0x00A6 },
+{ 0xa7 , 0x00A7 },
+{ 0xab , 0x00AB },
+{ 0xac , 0x00AC },
+{ 0xad , 0x00AD },
+{ 0xae , 0x00AE },
+{ 0xb0 , 0x00B0 },
+{ 0xb1 , 0x00B1 },
+{ 0xb2 , 0x00B2 },
+{ 0xb3 , 0x0401 },
+{ 0xb5 , 0x04E2 },
+{ 0xb6 , 0x00B6 },
+{ 0xb7 , 0x00B7 },
+{ 0xb9 , 0x2116 },
+{ 0xbb , 0x00BB },
+{ 0xbf , 0x00A9 },
+{ 0xc0 , 0x044E },
+{ 0xc1 , 0x0430 },
+{ 0xc2 , 0x0431 },
+{ 0xc3 , 0x0446 },
+{ 0xc4 , 0x0434 },
+{ 0xc5 , 0x0435 },
+{ 0xc6 , 0x0444 },
+{ 0xc7 , 0x0433 },
+{ 0xc8 , 0x0445 },
+{ 0xc9 , 0x0438 },
+{ 0xca , 0x0439 },
+{ 0xcb , 0x043A },
+{ 0xcc , 0x043B },
+{ 0xcd , 0x043C },
+{ 0xce , 0x043D },
+{ 0xcf , 0x043E },
+{ 0xd0 , 0x043F },
+{ 0xd1 , 0x044F },
+{ 0xd2 , 0x0440 },
+{ 0xd3 , 0x0441 },
+{ 0xd4 , 0x0442 },
+{ 0xd5 , 0x0443 },
+{ 0xd6 , 0x0436 },
+{ 0xd7 , 0x0432 },
+{ 0xd8 , 0x044C },
+{ 0xd9 , 0x044B },
+{ 0xda , 0x0437 },
+{ 0xdb , 0x0448 },
+{ 0xdc , 0x044D },
+{ 0xdd , 0x0449 },
+{ 0xde , 0x0447 },
+{ 0xdf , 0x044A },
+{ 0xe0 , 0x042E },
+{ 0xe1 , 0x0410 },
+{ 0xe2 , 0x0411 },
+{ 0xe3 , 0x0426 },
+{ 0xe4 , 0x0414 },
+{ 0xe5 , 0x0415 },
+{ 0xe6 , 0x0424 },
+{ 0xe7 , 0x0413 },
+{ 0xe8 , 0x0425 },
+{ 0xe9 , 0x0418 },
+{ 0xea , 0x0419 },
+{ 0xeb , 0x041A },
+{ 0xec , 0x041B },
+{ 0xed , 0x041C },
+{ 0xee , 0x041D },
+{ 0xef , 0x041E },
+{ 0xf0 , 0x041F },
+{ 0xf1 , 0x042F },
+{ 0xf2 , 0x0420 },
+{ 0xf3 , 0x0421 },
+{ 0xf4 , 0x0422 },
+{ 0xf5 , 0x0423 },
+{ 0xf6 , 0x0416 },
+{ 0xf7 , 0x0412 },
+{ 0xf8 , 0x042C },
+{ 0xf9 , 0x042B },
+{ 0xfa , 0x0417 },
+{ 0xfb , 0x0428 },
+{ 0xfc , 0x042D },
+{ 0xfd , 0x0429 },
+{ 0xfe , 0x0427 },
+{ 0xff , 0x042A },
diff --git a/ap/build/uClibc/extra/locale/charmaps/KOI8-U.pairs b/ap/build/uClibc/extra/locale/charmaps/KOI8-U.pairs
new file mode 100644
index 0000000..ff05ed2
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/KOI8-U.pairs
@@ -0,0 +1,256 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0x80 , 0x2500 },
+{ 0x81 , 0x2502 },
+{ 0x82 , 0x250C },
+{ 0x83 , 0x2510 },
+{ 0x84 , 0x2514 },
+{ 0x85 , 0x2518 },
+{ 0x86 , 0x251C },
+{ 0x87 , 0x2524 },
+{ 0x88 , 0x252C },
+{ 0x89 , 0x2534 },
+{ 0x8a , 0x253C },
+{ 0x8b , 0x2580 },
+{ 0x8c , 0x2584 },
+{ 0x8d , 0x2588 },
+{ 0x8e , 0x258C },
+{ 0x8f , 0x2590 },
+{ 0x90 , 0x2591 },
+{ 0x91 , 0x2592 },
+{ 0x92 , 0x2593 },
+{ 0x93 , 0x2320 },
+{ 0x94 , 0x25A0 },
+{ 0x95 , 0x2219 },
+{ 0x96 , 0x221A },
+{ 0x97 , 0x2248 },
+{ 0x98 , 0x2264 },
+{ 0x99 , 0x2265 },
+{ 0x9a , 0x00A0 },
+{ 0x9b , 0x2321 },
+{ 0x9c , 0x00B0 },
+{ 0x9d , 0x00B2 },
+{ 0x9e , 0x00B7 },
+{ 0x9f , 0x00F7 },
+{ 0xa0 , 0x2550 },
+{ 0xa1 , 0x2551 },
+{ 0xa2 , 0x2552 },
+{ 0xa3 , 0x0451 },
+{ 0xa4 , 0x0454 },
+{ 0xa5 , 0x2554 },
+{ 0xa6 , 0x0456 },
+{ 0xa7 , 0x0457 },
+{ 0xa8 , 0x2557 },
+{ 0xa9 , 0x2558 },
+{ 0xaa , 0x2559 },
+{ 0xab , 0x255A },
+{ 0xac , 0x255B },
+{ 0xad , 0x0491 },
+{ 0xae , 0x255D },
+{ 0xaf , 0x255E },
+{ 0xb0 , 0x255F },
+{ 0xb1 , 0x2560 },
+{ 0xb2 , 0x2561 },
+{ 0xb3 , 0x0401 },
+{ 0xb4 , 0x0404 },
+{ 0xb5 , 0x2563 },
+{ 0xb6 , 0x0406 },
+{ 0xb7 , 0x0407 },
+{ 0xb8 , 0x2566 },
+{ 0xb9 , 0x2567 },
+{ 0xba , 0x2568 },
+{ 0xbb , 0x2569 },
+{ 0xbc , 0x256A },
+{ 0xbd , 0x0490 },
+{ 0xbe , 0x256C },
+{ 0xbf , 0x00A9 },
+{ 0xc0 , 0x044E },
+{ 0xc1 , 0x0430 },
+{ 0xc2 , 0x0431 },
+{ 0xc3 , 0x0446 },
+{ 0xc4 , 0x0434 },
+{ 0xc5 , 0x0435 },
+{ 0xc6 , 0x0444 },
+{ 0xc7 , 0x0433 },
+{ 0xc8 , 0x0445 },
+{ 0xc9 , 0x0438 },
+{ 0xca , 0x0439 },
+{ 0xcb , 0x043A },
+{ 0xcc , 0x043B },
+{ 0xcd , 0x043C },
+{ 0xce , 0x043D },
+{ 0xcf , 0x043E },
+{ 0xd0 , 0x043F },
+{ 0xd1 , 0x044F },
+{ 0xd2 , 0x0440 },
+{ 0xd3 , 0x0441 },
+{ 0xd4 , 0x0442 },
+{ 0xd5 , 0x0443 },
+{ 0xd6 , 0x0436 },
+{ 0xd7 , 0x0432 },
+{ 0xd8 , 0x044C },
+{ 0xd9 , 0x044B },
+{ 0xda , 0x0437 },
+{ 0xdb , 0x0448 },
+{ 0xdc , 0x044D },
+{ 0xdd , 0x0449 },
+{ 0xde , 0x0447 },
+{ 0xdf , 0x044A },
+{ 0xe0 , 0x042E },
+{ 0xe1 , 0x0410 },
+{ 0xe2 , 0x0411 },
+{ 0xe3 , 0x0426 },
+{ 0xe4 , 0x0414 },
+{ 0xe5 , 0x0415 },
+{ 0xe6 , 0x0424 },
+{ 0xe7 , 0x0413 },
+{ 0xe8 , 0x0425 },
+{ 0xe9 , 0x0418 },
+{ 0xea , 0x0419 },
+{ 0xeb , 0x041A },
+{ 0xec , 0x041B },
+{ 0xed , 0x041C },
+{ 0xee , 0x041D },
+{ 0xef , 0x041E },
+{ 0xf0 , 0x041F },
+{ 0xf1 , 0x042F },
+{ 0xf2 , 0x0420 },
+{ 0xf3 , 0x0421 },
+{ 0xf4 , 0x0422 },
+{ 0xf5 , 0x0423 },
+{ 0xf6 , 0x0416 },
+{ 0xf7 , 0x0412 },
+{ 0xf8 , 0x042C },
+{ 0xf9 , 0x042B },
+{ 0xfa , 0x0417 },
+{ 0xfb , 0x0428 },
+{ 0xfc , 0x042D },
+{ 0xfd , 0x0429 },
+{ 0xfe , 0x0427 },
+{ 0xff , 0x042A },
diff --git a/ap/build/uClibc/extra/locale/charmaps/TIS-620.pairs b/ap/build/uClibc/extra/locale/charmaps/TIS-620.pairs
new file mode 100644
index 0000000..618a3be
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/charmaps/TIS-620.pairs
@@ -0,0 +1,215 @@
+{ 0x00 , 0x0000 },
+{ 0x01 , 0x0001 },
+{ 0x02 , 0x0002 },
+{ 0x03 , 0x0003 },
+{ 0x04 , 0x0004 },
+{ 0x05 , 0x0005 },
+{ 0x06 , 0x0006 },
+{ 0x07 , 0x0007 },
+{ 0x08 , 0x0008 },
+{ 0x09 , 0x0009 },
+{ 0x0a , 0x000A },
+{ 0x0b , 0x000B },
+{ 0x0c , 0x000C },
+{ 0x0d , 0x000D },
+{ 0x0e , 0x000E },
+{ 0x0f , 0x000F },
+{ 0x10 , 0x0010 },
+{ 0x11 , 0x0011 },
+{ 0x12 , 0x0012 },
+{ 0x13 , 0x0013 },
+{ 0x14 , 0x0014 },
+{ 0x15 , 0x0015 },
+{ 0x16 , 0x0016 },
+{ 0x17 , 0x0017 },
+{ 0x18 , 0x0018 },
+{ 0x19 , 0x0019 },
+{ 0x1a , 0x001A },
+{ 0x1b , 0x001B },
+{ 0x1c , 0x001C },
+{ 0x1d , 0x001D },
+{ 0x1e , 0x001E },
+{ 0x1f , 0x001F },
+{ 0x20 , 0x0020 },
+{ 0x21 , 0x0021 },
+{ 0x22 , 0x0022 },
+{ 0x23 , 0x0023 },
+{ 0x24 , 0x0024 },
+{ 0x25 , 0x0025 },
+{ 0x26 , 0x0026 },
+{ 0x27 , 0x0027 },
+{ 0x28 , 0x0028 },
+{ 0x29 , 0x0029 },
+{ 0x2a , 0x002A },
+{ 0x2b , 0x002B },
+{ 0x2c , 0x002C },
+{ 0x2d , 0x002D },
+{ 0x2e , 0x002E },
+{ 0x2f , 0x002F },
+{ 0x30 , 0x0030 },
+{ 0x31 , 0x0031 },
+{ 0x32 , 0x0032 },
+{ 0x33 , 0x0033 },
+{ 0x34 , 0x0034 },
+{ 0x35 , 0x0035 },
+{ 0x36 , 0x0036 },
+{ 0x37 , 0x0037 },
+{ 0x38 , 0x0038 },
+{ 0x39 , 0x0039 },
+{ 0x3a , 0x003A },
+{ 0x3b , 0x003B },
+{ 0x3c , 0x003C },
+{ 0x3d , 0x003D },
+{ 0x3e , 0x003E },
+{ 0x3f , 0x003F },
+{ 0x40 , 0x0040 },
+{ 0x41 , 0x0041 },
+{ 0x42 , 0x0042 },
+{ 0x43 , 0x0043 },
+{ 0x44 , 0x0044 },
+{ 0x45 , 0x0045 },
+{ 0x46 , 0x0046 },
+{ 0x47 , 0x0047 },
+{ 0x48 , 0x0048 },
+{ 0x49 , 0x0049 },
+{ 0x4a , 0x004A },
+{ 0x4b , 0x004B },
+{ 0x4c , 0x004C },
+{ 0x4d , 0x004D },
+{ 0x4e , 0x004E },
+{ 0x4f , 0x004F },
+{ 0x50 , 0x0050 },
+{ 0x51 , 0x0051 },
+{ 0x52 , 0x0052 },
+{ 0x53 , 0x0053 },
+{ 0x54 , 0x0054 },
+{ 0x55 , 0x0055 },
+{ 0x56 , 0x0056 },
+{ 0x57 , 0x0057 },
+{ 0x58 , 0x0058 },
+{ 0x59 , 0x0059 },
+{ 0x5a , 0x005A },
+{ 0x5b , 0x005B },
+{ 0x5c , 0x005C },
+{ 0x5d , 0x005D },
+{ 0x5e , 0x005E },
+{ 0x5f , 0x005F },
+{ 0x60 , 0x0060 },
+{ 0x61 , 0x0061 },
+{ 0x62 , 0x0062 },
+{ 0x63 , 0x0063 },
+{ 0x64 , 0x0064 },
+{ 0x65 , 0x0065 },
+{ 0x66 , 0x0066 },
+{ 0x67 , 0x0067 },
+{ 0x68 , 0x0068 },
+{ 0x69 , 0x0069 },
+{ 0x6a , 0x006A },
+{ 0x6b , 0x006B },
+{ 0x6c , 0x006C },
+{ 0x6d , 0x006D },
+{ 0x6e , 0x006E },
+{ 0x6f , 0x006F },
+{ 0x70 , 0x0070 },
+{ 0x71 , 0x0071 },
+{ 0x72 , 0x0072 },
+{ 0x73 , 0x0073 },
+{ 0x74 , 0x0074 },
+{ 0x75 , 0x0075 },
+{ 0x76 , 0x0076 },
+{ 0x77 , 0x0077 },
+{ 0x78 , 0x0078 },
+{ 0x79 , 0x0079 },
+{ 0x7a , 0x007A },
+{ 0x7b , 0x007B },
+{ 0x7c , 0x007C },
+{ 0x7d , 0x007D },
+{ 0x7e , 0x007E },
+{ 0x7f , 0x007F },
+{ 0xa1 , 0x0E01 },
+{ 0xa2 , 0x0E02 },
+{ 0xa3 , 0x0E03 },
+{ 0xa4 , 0x0E04 },
+{ 0xa5 , 0x0E05 },
+{ 0xa6 , 0x0E06 },
+{ 0xa7 , 0x0E07 },
+{ 0xa8 , 0x0E08 },
+{ 0xa9 , 0x0E09 },
+{ 0xaa , 0x0E0A },
+{ 0xab , 0x0E0B },
+{ 0xac , 0x0E0C },
+{ 0xad , 0x0E0D },
+{ 0xae , 0x0E0E },
+{ 0xaf , 0x0E0F },
+{ 0xb0 , 0x0E10 },
+{ 0xb1 , 0x0E11 },
+{ 0xb2 , 0x0E12 },
+{ 0xb3 , 0x0E13 },
+{ 0xb4 , 0x0E14 },
+{ 0xb5 , 0x0E15 },
+{ 0xb6 , 0x0E16 },
+{ 0xb7 , 0x0E17 },
+{ 0xb8 , 0x0E18 },
+{ 0xb9 , 0x0E19 },
+{ 0xba , 0x0E1A },
+{ 0xbb , 0x0E1B },
+{ 0xbc , 0x0E1C },
+{ 0xbd , 0x0E1D },
+{ 0xbe , 0x0E1E },
+{ 0xbf , 0x0E1F },
+{ 0xc0 , 0x0E20 },
+{ 0xc1 , 0x0E21 },
+{ 0xc2 , 0x0E22 },
+{ 0xc3 , 0x0E23 },
+{ 0xc4 , 0x0E24 },
+{ 0xc5 , 0x0E25 },
+{ 0xc6 , 0x0E26 },
+{ 0xc7 , 0x0E27 },
+{ 0xc8 , 0x0E28 },
+{ 0xc9 , 0x0E29 },
+{ 0xca , 0x0E2A },
+{ 0xcb , 0x0E2B },
+{ 0xcc , 0x0E2C },
+{ 0xcd , 0x0E2D },
+{ 0xce , 0x0E2E },
+{ 0xcf , 0x0E2F },
+{ 0xd0 , 0x0E30 },
+{ 0xd1 , 0x0E31 },
+{ 0xd2 , 0x0E32 },
+{ 0xd3 , 0x0E33 },
+{ 0xd4 , 0x0E34 },
+{ 0xd5 , 0x0E35 },
+{ 0xd6 , 0x0E36 },
+{ 0xd7 , 0x0E37 },
+{ 0xd8 , 0x0E38 },
+{ 0xd9 , 0x0E39 },
+{ 0xda , 0x0E3A },
+{ 0xdf , 0x0E3F },
+{ 0xe0 , 0x0E40 },
+{ 0xe1 , 0x0E41 },
+{ 0xe2 , 0x0E42 },
+{ 0xe3 , 0x0E43 },
+{ 0xe4 , 0x0E44 },
+{ 0xe5 , 0x0E45 },
+{ 0xe6 , 0x0E46 },
+{ 0xe7 , 0x0E47 },
+{ 0xe8 , 0x0E48 },
+{ 0xe9 , 0x0E49 },
+{ 0xea , 0x0E4A },
+{ 0xeb , 0x0E4B },
+{ 0xec , 0x0E4C },
+{ 0xed , 0x0E4D },
+{ 0xee , 0x0E4E },
+{ 0xef , 0x0E4F },
+{ 0xf0 , 0x0E50 },
+{ 0xf1 , 0x0E51 },
+{ 0xf2 , 0x0E52 },
+{ 0xf3 , 0x0E53 },
+{ 0xf4 , 0x0E54 },
+{ 0xf5 , 0x0E55 },
+{ 0xf6 , 0x0E56 },
+{ 0xf7 , 0x0E57 },
+{ 0xf8 , 0x0E58 },
+{ 0xf9 , 0x0E59 },
+{ 0xfa , 0x0E5A },
+{ 0xfb , 0x0E5B },
diff --git a/ap/build/uClibc/extra/locale/collation/af_ZA b/ap/build/uClibc/extra/locale/collation/af_ZA
new file mode 100644
index 0000000..d66184e
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/af_ZA
@@ -0,0 +1 @@
+copy "en_DK"
diff --git a/ap/build/uClibc/extra/locale/collation/am_ET b/ap/build/uClibc/extra/locale/collation/am_ET
new file mode 100644
index 0000000..94a9181
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/am_ET
@@ -0,0 +1,26 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+% Correct Unicode Addressing
+script <ETHIOPIC>
+order_start <ETHIOPIC>;forward
+# qW qWi
+<U124D>
+<U124A>
+# QW QWi
+<U125D>
+<U125A>
+# hW hWi
+<U128D>
+<U128A>
+# kW kWi
+<U12B5>
+<U12B2>
+# KW KWi
+<U12C5>
+<U12C2>
+# gW gWi
+<U1315>
+<U1312>
+order_end
diff --git a/ap/build/uClibc/extra/locale/collation/ar_AE b/ap/build/uClibc/extra/locale/collation/ar_AE
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_AE
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_BH b/ap/build/uClibc/extra/locale/collation/ar_BH
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_BH
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_DZ b/ap/build/uClibc/extra/locale/collation/ar_DZ
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_DZ
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_EG b/ap/build/uClibc/extra/locale/collation/ar_EG
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_EG
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_IN b/ap/build/uClibc/extra/locale/collation/ar_IN
new file mode 100644
index 0000000..d05f74d
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_IN
@@ -0,0 +1,3 @@
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_IQ b/ap/build/uClibc/extra/locale/collation/ar_IQ
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_IQ
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_JO b/ap/build/uClibc/extra/locale/collation/ar_JO
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_JO
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_KW b/ap/build/uClibc/extra/locale/collation/ar_KW
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_KW
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_LB b/ap/build/uClibc/extra/locale/collation/ar_LB
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_LB
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_LY b/ap/build/uClibc/extra/locale/collation/ar_LY
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_LY
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_MA b/ap/build/uClibc/extra/locale/collation/ar_MA
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_MA
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_OM b/ap/build/uClibc/extra/locale/collation/ar_OM
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_OM
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_QA b/ap/build/uClibc/extra/locale/collation/ar_QA
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_QA
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_SA b/ap/build/uClibc/extra/locale/collation/ar_SA
new file mode 100644
index 0000000..a01c4ec
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_SA
@@ -0,0 +1,220 @@
+
+
+order_start		forward; forward
+<U0020>	<U0020>
+<U0030>	<U0030>
+<U0031>	<U0031>
+<U0032>	<U0032>
+<U0033>	<U0033>
+<U0034>	<U0034>
+<U0035>	<U0035>
+<U0036>	<U0036>
+<U0037>	<U0037>
+<U0038>	<U0038>
+<U0039>	<U0039>
+<U0041>	<U0041>;<U0041>
+<U0061>	<U0041>;<U0061>
+<U0042>	<U0042>;<U0042>
+<U0062>	<U0042>;<U0062>
+<U0043>	<U0043>;<U0043>
+<U0063>	<U0043>;<U0063>
+<U0044>	<U0044>;<U0044>
+<U0064>	<U0044>;<U0064>
+<U0045>	<U0045>;<U0045>
+<U0065>	<U0045>;<U0065>
+<U0046>	<U0046>;<U0046>
+<U0066>	<U0046>;<U0066>
+<U0047>	<U0047>;<U0047>
+<U0067>	<U0047>;<U0067>
+<U0048>	<U0048>;<U0048>
+<U0068>	<U0048>;<U0068>
+<U0049>	<U0049>;<U0049>
+<U0069>	<U0049>;<U0069>
+<U004A>	<U004A>;<U004A>
+<U006A>	<U004A>;<U006A>
+<U004B>	<U004B>;<U004B>
+<U006B>	<U004B>;<U006B>
+<U004C>	<U004C>;<U004C>
+<U006C>	<U004C>;<U006C>
+<U004D>	<U004D>;<U004D>
+<U006D>	<U004D>;<U006D>
+<U004E>	<U004E>;<U004E>
+<U006E>	<U004E>;<U006E>
+<U004F>	<U004F>;<U004F>
+<U006F>	<U004F>;<U006F>
+<U0050>	<U0050>;<U0050>
+<U0070>	<U0050>;<U0070>
+<U0051>	<U0051>;<U0051>
+<U0071>	<U0051>;<U0071>
+<U0052>	<U0052>;<U0052>
+<U0072>	<U0052>;<U0072>
+<U0053>	<U0053>;<U0053>
+<U0073>	<U0053>;<U0073>
+<U0054>	<U0054>;<U0054>
+<U0074>	<U0054>;<U0074>
+<U0055>	<U0055>;<U0055>
+<U0075>	<U0055>;<U0075>
+<U0056>	<U0056>;<U0056>
+<U0076>	<U0056>;<U0076>
+<U0057>	<U0057>;<U0057>
+<U0077>	<U0057>;<U0077>
+<U0058>	<U0058>;<U0058>
+<U0078>	<U0058>;<U0078>
+<U0059>	<U0059>;<U0059>
+<U0079>	<U0059>;<U0079>
+<U005A>	<U005A>;<U005A>
+<U007A>	<U005A>;<U007A>
+<U0021>	<U0021>
+<U0022>	<U0022>
+<U0023>	<U0023>
+<U0024>	<U0024>
+<U0025>	<U0025>
+<U0026>	<U0026>
+<U0027>	<U0027>
+<U0028>	<U0028>
+<U0029>	<U0029>
+<U002A>	<U002A>
+<U002B>	<U002B>
+<U002C>	<U002C>
+<U002D>	<U002D>
+<U002E>	<U002E>
+<U002F>	<U002F>
+<U003A>	<U003A>
+<U003B>	<U003B>
+<U003C>	<U003C>
+<U003D>	<U003D>
+<U003E>	<U003E>
+<U003F>	<U003F>
+<U0040>	<U0040>
+<U005B>	<U005B>
+<U005C>	<U005C>
+<U005D>	<U005D>
+<U005E>	<U005E>
+<U005F>	<U005F>
+<U0060>	<U0060>
+<U007B>	<U007B>
+<U007C>	<U007C>
+<U007D>	<U007D>
+<U007E>	<U007E>
+<U00A0>	<U00A0>
+<U0621>	<U0621>
+<U0622>	<U0622>
+<U0623>	<U0623>
+<U0624>	<U0624>
+<U0625>	<U0625>
+<U0626>	<U0626>
+<U0627>	<U0627>
+<U0628>	<U0628>
+<U0629>	<U0629>
+<U062A>	<U062A>
+<U062B>	<U062B>
+<U062C>	<U062C>
+<U062D>	<U062D>
+<U062E>	<U062E>
+<U062F>	<U062F>
+<U0630>	<U0630>
+<U0631>	<U0631>
+<U0632>	<U0632>
+<U0633>	<U0633>
+<U0634>	<U0634>
+<U0635>	<U0635>
+<U0636>	<U0636>
+<U0637>	<U0637>
+<U0638>	<U0638>
+<U0639>	<U0639>
+<U063A>	<U063A>
+<U0641>	<U0641>
+<U0642>	<U0642>
+<U0643>	<U0643>
+<U0644>	<U0644>
+<U0645>	<U0645>
+<U0646>	<U0646>
+<U0647>	<U0647>
+<U0648>	<U0648>
+<U0649>	<U0649>
+<U064A>	<U064A>
+<U00A4>	<U00A4>
+<U060C>	<U060C>
+<U00AD>	<U00AD>
+<U061B>	<U061B>
+<U061F>	<U061F>
+<U0000>	<U0000>
+<U0001>	<U0001>
+<U0002>	<U0002>
+<U0003>	<U0003>
+<U0004>	<U0004>
+<U0005>	<U0005>
+<U0006>	<U0006>
+<U0007>	<U0007>
+<U0008>	<U0008>
+<U0009>	<U0009>
+<U000A>	<U000A>
+<U000B>	<U000B>
+<U000C>	<U000C>
+<U000D>	<U000D>
+<U000E>	<U000E>
+<U000F>	<U000F>
+<U0010>	<U0010>
+<U0011>	<U0011>
+<U0012>	<U0012>
+<U0013>	<U0013>
+<U0014>	<U0014>
+<U0015>	<U0015>
+<U0016>	<U0016>
+<U0017>	<U0017>
+<U0018>	<U0018>
+<U0019>	<U0019>
+<U001A>	<U001A>
+<U001B>	<U001B>
+<U001C>	<U001C>
+<U001D>	<U001D>
+<U001E>	<U001E>
+<U001F>	<U001F>
+<U0080>	<U0080>
+<U0081>	<U0081>
+<U0082>	<U0082>
+<U0083>	<U0083>
+<U0084>	<U0084>
+<U0085>	<U0085>
+<U0086>	<U0086>
+<U0087>	<U0087>
+<U0088>	<U0088>
+<U0089>	<U0089>
+<U008A>	<U008A>
+<U008B>	<U008B>
+<U008C>	<U008C>
+<U008D>	<U008D>
+<U008E>	<U008E>
+<U008F>	<U008F>
+<U0090>	<U0090>
+<U0091>	<U0091>
+<U0092>	<U0092>
+<U0093>	<U0093>
+<U0094>	<U0094>
+<U0095>	<U0095>
+<U0096>	<U0096>
+<U0097>	<U0097>
+<U0098>	<U0098>
+<U0099>	<U0099>
+<U009A>	<U009A>
+<U009B>	<U009B>
+<U009C>	<U009C>
+<U009D>	<U009D>
+<U009E>	<U009E>
+<U009F>	<U009F>
+<U007F>	<U007F>
+<U0640>	IGNORE
+<U064B>	IGNORE
+<U064C>	IGNORE
+<U064D>	IGNORE
+<U064E>	IGNORE
+<U064F>	IGNORE
+<U0650>	IGNORE
+<U0651>	IGNORE
+<U0652>	IGNORE
+
+% UCLIBC -- add an explicit UNDEFINED entry
+UNDEFINED 
+order_end
+
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_SD b/ap/build/uClibc/extra/locale/collation/ar_SD
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_SD
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_SY b/ap/build/uClibc/extra/locale/collation/ar_SY
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_SY
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_TN b/ap/build/uClibc/extra/locale/collation/ar_TN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_TN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ar_YE b/ap/build/uClibc/extra/locale/collation/ar_YE
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ar_YE
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/az_AZ b/ap/build/uClibc/extra/locale/collation/az_AZ
new file mode 100644
index 0000000..daaeacc
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/az_AZ
@@ -0,0 +1,137 @@
+% The new (1991) latin azeri alphabet is:
+% <a>, <b>, <c>, <c,>, <d>, <e>, <sw>, <f>, <g>, <g(>, <h>, <x>,
+% <i> (dotless i), <i.> (i with dot), <j>, <k>, <q>, <l>, <m>, <n>, <o>,
+% <o:>, <p>, <r>, <s>, <s,>, <t>, <u>, <u:>, <v>, <y>, <z>
+%
+% cyrillic alphabet:
+% <a=>, <b=>, <g=>, <g-=>, <d=>, <e=>, <sw=>, <z%>, <z=>, <i=>, <y=>,
+% <j%>, <k=>, <k//=>, <l=>, <m=>, <n=>, <o=>, <o-=>, <p=>, <r=>, <s=>,
+% <t=>, <u=>, <u'=>, <f=>, <h=>, <h'=>, <c%>, <c%//=>, <s%>
+
+copy "iso14651_t1"
+
+collating-symbol <c,>
+collating-symbol <sw>
+collating-symbol <g(>
+collating-symbol <i.>
+collating-symbol <o:>
+collating-symbol <s,>
+collating-symbol <u:>
+
+collating-symbol <g-=>
+collating-symbol <sw=>
+collating-symbol <k//=>
+collating-symbol <o-=>
+collating-symbol <u'=>
+collating-symbol <h'=>
+collating-symbol <c%//=>
+
+reorder-after <c>
+<c,>
+reorder-after <e>
+<sw>
+reorder-after <g>
+<g(>
+reorder-after <h>
+<x>
+<i>
+<i.>
+<j>
+<k>
+<q>
+reorder-after <o>
+<o:>
+reorder-after <s>
+<s,>
+reorder-after <u>
+<u:>
+
+reorder-after <CYR-GHE>
+<g-=>
+reorder-after <CYR-IE>
+<sw=>
+reorder-after <CYR-KA>
+<k//=>
+reorder-after <CYR-O>
+<o-=>
+reorder-after <CYR-OUBRE>
+<u'=>
+reorder-after <CYR-HA>
+<h'=>
+reorder-after <CYR-CHE>
+<c%//=>
+
+reorder-after <U0063>
+<U00E7> <c,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0043>
+<U00C7> <c,>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0065>
+<U0259> <sw>;<PCL>;<MIN>;IGNORE
+reorder-after <U0045>
+<U018F> <sw>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<U011F> <g(>;<BRE>;<MIN>;IGNORE
+reorder-after <U0047>
+<U011E> <g(>;<BRE>;<CAP>;IGNORE
+
+reorder-after <U0068>
+<U0131> <i>;<BAS>;<MIN>;IGNORE
+<U0069> <i.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0048>
+<U0049> <i>;<BAS>;<CAP>;IGNORE
+<U0130> <i.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U006F>
+<U00F6> <o:>;<REU>;<MIN>;IGNORE
+reorder-after <U004F>
+<U00D6> <o:>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<U015F> <s,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0053>
+<U015E> <s,>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0075>
+<U00FC> <u:>;<REU>;<MIN>;IGNORE
+reorder-after <U0055>
+<U00DC> <u:>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0433>
+<U0493> <g-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0413>
+<U0492> <g-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0435>
+<U04D9> <sw=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0415>
+<U04D8> <sw=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043A>
+<U049D> <k//=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041A>
+<U049C> <k//=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043E>
+<U04E9> <o-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041E>
+<U04E8> <o-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0443>
+<U04AF> <u'=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0423>
+<U04AE> <u'=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0445>
+<U04BB> <h'=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0425>
+<U04BA> <h'=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0447>
+<U04B9> <c%//=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0427>
+<U04B8> <c%//=>;<PCL>;<CAP>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/be_BY b/ap/build/uClibc/extra/locale/collation/be_BY
new file mode 100644
index 0000000..342a761
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/be_BY
@@ -0,0 +1,15 @@
+copy "iso14651_t1"
+
+% iso14651_t1 is missing Ukrainian ghe
+collating-symbol <UKR-GHE>
+
+reorder-after <CYR-GZHE>
+<UKR-GHE>
+
+reorder-after <U0453>
+<U0491> <UKR-GHE>;<BAS>;<MIN>;IGNORE
+
+reorder-after <U0403>
+<U0490> <UKR-GHE>;<BAS>;<CAP>;IGNORE
+
+reorder-end
diff --git a/ap/build/uClibc/extra/locale/collation/bg_BG b/ap/build/uClibc/extra/locale/collation/bg_BG
new file mode 100644
index 0000000..ddf84dc
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/bg_BG
@@ -0,0 +1,106 @@
+
+% We have made the following changes to the basic collation scheme in
+% the file iso14651_t1:
+%   1. The Cyrillic script is first in the order.
+%   2. The non-Bulgarian Cyrillic letters are sorted according to
+%      their transliteration with Bulgarian Cyrillic letters.
+
+copy "iso14651_t1"
+reorder-after <9>
+<CYR-A>
+<CYR-BE>
+<CYR-VE>
+<CYR-GHE>
+<CYR-DE>
+<CYR-GZHE>
+<CYR-DJE>
+<CYR-IE>
+<UKR-IE>
+<CYR-IO>
+<CYR-ZHE>
+<CYR-ZE>
+<CYR-DZE>
+<CYR-I>
+<UKR-I>
+<UKR-YI>
+<CYR-IBRE>
+<CYR-JE>
+<CYR-KA>
+<CYR-EL>
+<CYR-LJE>
+<CYR-EM>
+<CYR-EN>
+<CYR-NJE>
+<CYR-O>
+<CYR-PE>
+<CYR-ER>
+<CYR-ES>
+<CYR-TE>
+<CYR-KJE>
+<CYR-TSHE>
+<CYR-OU>
+<CYR-OUBRE>
+<CYR-EF>
+<CYR-HA>
+<CYR-TSE>
+<CYR-CHE>
+<CYR-DCHE>
+<CYR-SHA>
+<CYR-SHTSHA>
+<CYR-SIGDUR>
+<CYR-YEROU>
+<CYR-SIGMOUIL>
+<CYR-E>
+<CYR-YOU>
+<CYR-YA>
+reorder-after <U0433>
+<U0453> <CYR-GHE>;<CYR-GZHE>;<MIN>;IGNORE % Mac. gje
+reorder-after <U0434>
+<U0452> "<CYR-DE><CYR-ZHE>";"<LIG><LIG>";"<MIN><MIN>";IGNORE % CYR-DJE
+<U045F> "<CYR-DE><CYR-ZHE>";"<CYR-DCHE><LIG>";"<MIN><MIN>";IGNORE % CYR-DCHE
+<U0455> "<CYR-DE><CYR-ZE>";"<LIG><LIG>";"<MIN><MIN>";IGNORE % CYR-DZE
+reorder-after <U0435>
+<U0454> <CYR-IE>;<UKR-IE>;<MIN>;IGNORE
+<U0451> <CYR-IE>;<CYR-IO>;<MIN>;IGNORE
+<U044D> <CYR-IE>;<CYR-E>;<MIN>;IGNORE
+reorder-after <U0438>
+<U0406> <CYR-I>;<UKR-I>;<MIN>;IGNORE
+<U0457> <CYR-I>;<UKR-YI>;<MIN>;IGNORE
+<U044B> <CYR-I>;<CYR-YEROU>;<MIN>;IGNORE
+reorder-after <U043A>
+<U045C> <CYR-KA>;<CYR-KJE>;<MIN>;IGNORE
+reorder-after <U043B>
+<U0459> "<CYR-EL><CYR-SIGMOUIL>";"<LIG><LIG>";"<MIN><MIN>";IGNORE % CYR-LJE
+reorder-after <U043D>
+<U045A> "<CYR-EN><CYR-SIGMOUIL>";"<LIG><LIG>";"<MIN><MIN>";IGNORE % CYR-NJE
+reorder-after <U0443>
+<U045E> <CYR-OU>;<CYR-OUBRE>;<MIN>;IGNORE
+reorder-after <U0447>
+<U045B> <CYR-CHE>;<CYR-TSHE>;<MIN>;IGNORE
+reorder-after <U0413>
+<U0403> <CYR-GHE>;<CYR-GZHE>;<CAP>;IGNORE % Mac. gje
+reorder-after <U0414>
+<U0402> "<CYR-DE><CYR-ZHE>";"<LIG><LIG>";"<CAP><CAP>";IGNORE % CYR-DJE
+<U040F> "<CYR-DE><CYR-ZHE>";"<CYR-DCHE><LIG>";"<CAP><CAP>";IGNORE % CYR-DCHE
+<U0405> "<CYR-DE><CYR-ZE>";"<LIG><LIG>";"<CAP><CAP>";IGNORE % CYR-DZE
+reorder-after <U0415>
+<U0404> <CYR-IE>;<UKR-IE>;<CAP>;IGNORE
+<U0401> <CYR-IE>;<CYR-IO>;<CAP>;IGNORE
+<U042D> <CYR-IE>;<CYR-E>;<CAP>;IGNORE
+reorder-after <U0418>
+<U0456> <CYR-I>;<UKR-I>;<CAP>;IGNORE
+<U0407> <CYR-I>;<UKR-YI>;<CAP>;IGNORE
+<U042B> <CYR-I>;<CYR-YEROU>;<CAP>;IGNORE
+reorder-after <U0419>
+<U0408> <CYR-IBRE>;<CYR-JE>;<CAP>;IGNORE
+reorder-after <U041A>
+<U040C> <CYR-KA>;<CYR-KJE>;<CAP>;IGNORE
+reorder-after <U041B>
+<U0409> "<CYR-EL><CYR-SIGMOUIL>";"<LIG><LIG>";"<CAP><CAP>";IGNORE % CYR-LJE
+reorder-after <U041D>
+<U040A> "<CYR-EN><CYR-SIGMOUIL>";"<LIG><LIG>";"<CAP><CAP>";IGNORE % CYR-NJE
+reorder-after <U0423>
+<U040E> <CYR-OU>;<CYR-OUBRE>;<CAP>;IGNORE
+reorder-after <U0427>
+<U040B> <CYR-CHE>;<CYR-TSHE>;<CAP>;IGNORE
+reorder-end
diff --git a/ap/build/uClibc/extra/locale/collation/bn_BD b/ap/build/uClibc/extra/locale/collation/bn_BD
new file mode 100644
index 0000000..9a3ff3b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/bn_BD
@@ -0,0 +1,2 @@
+% TODO: Bengali sorting should be added
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/bn_IN b/ap/build/uClibc/extra/locale/collation/bn_IN
new file mode 100644
index 0000000..0caba14
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/bn_IN
@@ -0,0 +1,4 @@
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+%
diff --git a/ap/build/uClibc/extra/locale/collation/br_FR b/ap/build/uClibc/extra/locale/collation/br_FR
new file mode 100644
index 0000000..0887c81
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/br_FR
@@ -0,0 +1,40 @@
+copy "iso14651_t1"
+
+%% a b c ch c'h d e f g h i j k l m n o p q r s t u v w x y z
+collating-symbol  <c-h-br>
+collating-element <C-H> from "<U0043><U0048>"
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <c-H> from "<U0063><U0048>"
+collating-symbol  <c-'-h-br>
+collating-element <C'H> from "<U0043><U0027><U0048>"
+collating-element <c'h> from "<U0063><U0027><U0068>"
+collating-element <C'h> from "<U0043><U0027><U0068>"
+collating-element <c'H> from "<U0063><U0027><U0048>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<c-h-br>
+<c-'-h-br>
+
+reorder-after <U0063>
+<c-h>	<c-h-br>;<PCT>;<MIN>;IGNORE
+<c-H>	<c-h-br>;<PCT>;<MIN-CAP>;IGNORE
+<c'h>	<c-'-h-br>;<PCT>;<MIN>;IGNORE
+<c'H>	<c-'-h-br>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0043>
+<C-H>	<c-h-br>;<PCT>;<CAP>;IGNORE
+<C-h>	<c-h-br>;<PCT>;<CAP-MIN>;IGNORE
+<C'H>	<c-'-h-br>;<PCT>;<CAP>;IGNORE
+<C'h>	<c-'-h-br>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/bs_BA b/ap/build/uClibc/extra/locale/collation/bs_BA
new file mode 100644
index 0000000..24be941
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/bs_BA
@@ -0,0 +1,91 @@
+copy "iso14651_t1"
+
+% a b c c' c< d dz< d// e f g h i j k l lj m n nj o p
+% q r s s< t u v w x y z z<
+
+collating-symbol  <d-z-sh>
+collating-element <D-Z<> from "<U0044><U017D>"
+collating-element <D-z<> from "<U0044><U017E>"
+collating-element <d-Z<> from "<U0064><U017D>"
+collating-element <d-z<> from "<U0064><U017E>"
+collating-symbol  <l-j-sh>
+collating-element <L-J> from "<U004C><U004A>"
+collating-element <L-j> from "<U004C><U006A>"
+collating-element <l-J> from "<U006C><U004A>"
+collating-element <l-j> from "<U006C><U006A>"
+collating-symbol  <n-j-sh>
+collating-element <N-J> from "<U004E><U004A>"
+collating-element <N-j> from "<U004E><U006A>"
+collating-element <n-J> from "<U006E><U004A>"
+collating-element <n-j> from "<U006E><U006A>"
+collating-symbol <cacute>
+collating-symbol <ccaron>
+collating-symbol <d//>
+collating-symbol <scaron>
+collating-symbol <zcaron>
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<cacute>
+<ccaron>
+<d>
+<d-z-sh>
+<d//>
+reorder-after <l>
+<l-j-sh>
+reorder-after <n>
+<n-j-sh>
+reorder-after <s>
+<scaron>
+reorder-after <z>
+<zcaron>
+
+reorder-after <U0063>
+<U0107>	<cacute>;<PCT>;<MIN>;IGNORE
+<U010D>	<ccaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U0043>
+<U0106>	<cacute>;<PCT>;<CAP>;IGNORE
+<U010C>	<ccaron>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0064>
+<d-z<>	<d-z-sh>;<PCT>;<MIN>;IGNORE
+<d-Z<>	<d-z-sh>;<PCT>;<MIN-CAP>;IGNORE
+<U0111>	<d//>;<PCT>;<MIN>;IGNORE
+reorder-after <U0044>
+<D-Z<>	<d-z-sh>;<PCT>;<CAP>;IGNORE
+<D-z<>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
+<U0110>	<d//>;<PCT>;<CAP>;IGNORE
+
+%reorder-after <U006C>
+<l-j>	<l-j-sh>;<PCT>;<MIN>;IGNORE
+<l-J>	<l-j-sh>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004C>
+<L-J>	<l-j-sh>;<PCT>;<CAP>;IGNORE
+<L-j>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U006E>
+<n-j>	<n-j-sh>;<PCT>;<MIN>;IGNORE
+<n-J>	<n-j-sh>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004E>
+<N-J>	<n-j-sh>;<PCT>;<CAP>;IGNORE
+<N-j>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0073>
+<U0161>	<scaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U0053>
+<U0160>	<scaron>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U007A>
+<U017E>	<zcaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U005A>
+<U017D>	<zcaron>;<PCT>;<CAP>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/ca_ES b/ap/build/uClibc/extra/locale/collation/ca_ES
new file mode 100644
index 0000000..2c0a033
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ca_ES
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U00D1>	<U00D1>;<NONE>;<CAPITAL>;IGNORE
+<U00F1>	<U00D1>;<NONE>;<SMALL>;IGNORE
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/comm b/ap/build/uClibc/extra/locale/collation/comm
new file mode 100644
index 0000000..356df60
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/comm
@@ -0,0 +1,1872 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<v8>
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/cs_CZ b/ap/build/uClibc/extra/locale/collation/cs_CZ
new file mode 100644
index 0000000..734f4a7
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/cs_CZ
@@ -0,0 +1,2162 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before letters,
+%     numbers after letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+
+% Definice písmene ch
+
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <C-H> from "<U0043><U0048>"
+
+
+% letter;accent;case;specials
+
+%order_start forward;forward;forward;forward
+order_start forward;forward;forward;forward
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+% Poøadí akcentù: nahoøe, dole, vzadu, vpøedu, uvnitø nebo pøes písmeno
+% pokud toto nerozhodne zále¾í na poètu a tvaru
+
+<NONE>
+% nahoøe
+<DOT>		% Teèka
+<MACRON>	% Vodorovná èárka nahoøe
+<ACUTE>		% Èárka ' (napø: á)
+<GRAVE>		% Zpìtná èárka `
+<CIRCUMFLEX>	% Støí¹ka ^ (napø: â)
+<CARON>		% Háèek
+<TILDE>		% Tilda (~)
+<BREVE>		% Dolní pùlkrou¾ek (vypadá jako sjednocení)
+<INVERTED-BREVE>% Horní pùlkrou¾ek (vypadá jako prùnik)
+<RING>		% Krou¾ek
+<HOOK>		% netu¹ím jaké diakritické znaménko to je, pøedpokládám je nahoøe
+<HORN>		% netu¹ím jaké diakritické znaménko to je, pøedpokládám je nahoøe
+
+<DIAERESIS>	% Dvì teèky
+<ACUTE+DOT>
+<DOUBLE-ACUTE>	% Dvì èárky
+<DOUBLE-GRAVE>	% Dvì zpìtné èárky
+<TILDE+ACUTE>
+<BREVE+MACRON>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+TILDE>
+<BREVE+HOOK>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+HOOK>
+<CARON+DOT>
+<RING+ACUTE>
+<MACRON+DOT>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+CIRCUMFLEX>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+TILDE>
+<HORN+HOOK>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<MACRON+DIAERESIS>
+<TILDE+DIAERESIS>
+<CARON+DIAERESIS>
+
+% nahoøe a dole
+<DOT+DOT-BELOW>		% Zde si nejsem jist jak je to mínìno, zda obì pod
+<MACRON+DOT-BELOW>	% nebo pouze to druhé
+<BREVE+DOT-BELOW>
+<CIRCUMFLEX+DOT-BELOW>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK+MACRON>
+<HORN+DOT-BELOW>
+<MACRON+DIAERESIS-BELOW>
+% nahoøe a uprostøed
+<STROKE+ACUTE>
+
+% dole
+<DOT-BELOW>
+<LINE-BELOW>
+<TILDE-BELOW>
+<BREVE-BELOW>
+<CEDILLA>	% Zobáèek pod písmenem vypadá skoro jako s (º)
+<OGONEK>	% Zobáèek pod písmenem obrácený k pøedchozímu (jako c)(ê)
+<RING-BELOW>
+% za
+% pøed
+<PRECEDED-BY-APOSTROPHE>
+% uprostøed
+<STROKE>	% ©krtnutí písmene v prostøedku (polské ³)
+
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;<U00A0>
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Zde jsou v¹echna latinská písmena s diakritikou
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+<U0041>	<U0041>;<NONE>;<CAPITAL>;<U0041>
+<U0061>	<U0041>;<NONE>;<SMALL>;<U0041>
+<U00AA>	<U0041>;<NONE>;<U00AA>;<U0041>
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;<U0041>
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;<U0041>
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;<U0041>
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;<U0041>
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;<U0041>
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;<U0041>
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;<U0041>
+<U0103>	<U0041>;<BREVE>;<SMALL>;<U0041>
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;<U0041>
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;<U0041>
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;<U0041>
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;<U0041>
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;<U0041>
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;<U0041>
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;<U0041>
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;<U0041>
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;<U0041>
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;<U0041>
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;<U0041>
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;<U0041>
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;<U0041>
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;<U0041>
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;<U0041>
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;<U0041>
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;<U0041>
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;<U0041>
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;<U0041>
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;<U0041>
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;<U0041>
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;<U0041>
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;<U0041>
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;<U0041>
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;<U0041>
+<U01CE>	<U0041>;<CARON>;<SMALL>;<U0041>
+<U00C5>	<U0041>;<RING>;<CAPITAL>;<U0041>
+<U00E5>	<U0041>;<RING>;<SMALL>;<U0041>
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;<U0041>
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;<U0041>
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;<U0041>
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;<U0041>
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;<U0041>
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;<U0041>
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;<U0041>
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;<U0041>
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;<U0041>
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;<U0041>
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;<U0041>
+<U00E3>	<U0041>;<TILDE>;<SMALL>;<U0041>
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;<U0041>
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;<U0041>
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;<U0041>
+<U0105>	<U0041>;<OGONEK>;<SMALL>;<U0041>
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;<U0041>
+<U0101>	<U0041>;<MACRON>;<SMALL>;<U0041>
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;<U0041>
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;<U0041>
+<a8>
+
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";"<U0041><U0045>"
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";"<U0041><U0045>"
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";"<U0041><U0045>"
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";"<U0041><U0045>"
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";"<U0041><U0045>"
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";"<U0041><U0045>"
+
+<U0042>	<U0042>;<NONE>;<CAPITAL>;<U0042>
+<U0062>	<U0042>;<NONE>;<SMALL>;<U0042>
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;<U0042>
+<U1E03>	<U0042>;<DOT>;<SMALL>;<U0042>
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;<U0042>
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;<U0042>
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;<U0042>
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;<U0042>
+<b8>
+
+<U0043>	<U0043>;<NONE>;<CAPITAL>;<U0043>
+<U0063>	<U0043>;<NONE>;<SMALL>;<U0043>
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;<U0043>
+<U0107>	<U0043>;<ACUTE>;<SMALL>;<U0043>
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;<U0043>
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;<U0043>
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;<U0043>
+<U0188>	<U0043>;<HOOK>;<SMALL>;<U0043>
+<U010A>	<U0043>;<DOT>;<CAPITAL>;<U0043>
+<U010B>	<U0043>;<DOT>;<SMALL>;<U0043>
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;<U0043>
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;<U0043>
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;<U0043>
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;<U0043>
+
+<U010C>	<U010C>;<CARON>;<CAPITAL>;<U010C>
+<U010D>	<U010C>;<CARON>;<SMALL>;<U010C>
+
+<c8>
+
+<U0044>	<U0044>;<NONE>;<CAPITAL>;<U0044>
+<U0064>	<U0044>;<NONE>;<SMALL>;<U0044>
+<U010E>	<U0044>;<CARON>;<CAPITAL>;<U0044>
+<U010F>	<U0044>;<CARON>;<SMALL>;<U0044>
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;<U0044>
+<U1E0B>	<U0044>;<DOT>;<SMALL>;<U0044>
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;<U0044>
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;<U0044>
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;<U0044>
+<U0111>	<U0044>;<STROKE>;<SMALL>;<U0044>
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;<U0044>
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;<U0044>
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;<U0044>
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;<U0044>
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;<U0044>
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;<U0044>
+<d8>
+
+<U0045>	<U0045>;<NONE>;<CAPITAL>;<U0045>
+<U0065>	<U0045>;<NONE>;<SMALL>;<U0045>
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;<U0045>
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;<U0045>
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;<U0045>
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;<U0045>
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;<U0045>
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;<U0045>
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;<U0045>
+<U0115>	<U0045>;<BREVE>;<SMALL>;<U0045>
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;<U0045>
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;<U0045>
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;<U0045>
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;<U0045>
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;<U0045>
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;<U0045>
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;<U0045>
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;<U0045>
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;<U0045>
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;<U0045>
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;<U0045>
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;<U0045>
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;<U0045>
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;<U0045>
+<U011A>	<U0045>;<CARON>;<CAPITAL>;<U0045>
+<U011B>	<U0045>;<CARON>;<SMALL>;<U0045>
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;<U0045>
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;<U0045>
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;<U0045>
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;<U0045>
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;<U0045>
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;<U0045>
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;<U0045>
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;<U0045>
+<U0116>	<U0045>;<DOT>;<CAPITAL>;<U0045>
+<U0117>	<U0045>;<DOT>;<SMALL>;<U0045>
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;<U0045>
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;<U0045>
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;<U0045>
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;<U0045>
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;<U0045>
+<U0119>	<U0045>;<OGONEK>;<SMALL>;<U0045>
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;<U0045>
+<U0113>	<U0045>;<MACRON>;<SMALL>;<U0045>
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;<U0045>
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;<U0045>
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;<U0045>
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;<U0045>
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;<U0045>
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;<U0045>
+<e8>
+
+<U0046>	<U0046>;<NONE>;<CAPITAL>;<U0046>
+<U0066>	<U0046>;<NONE>;<SMALL>;<U0046>
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;<U0046>
+<U0192>	<U0046>;<HOOK>;<SMALL>;<U0046>
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;<U0046>
+<U1E1F>	<U0046>;<DOT>;<SMALL>;<U0046>
+<f8>
+
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";"<U0046><U0046>"
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";"<U0046><U0049>"
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";"<U0046><U004C>"
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";"<U0046><U0046><U0049>"
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";"<U0046><U0046><U004C>"
+
+<U0047>	<U0047>;<NONE>;<CAPITAL>;<U0047>
+<U0067>	<U0047>;<NONE>;<SMALL>;<U0047>
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;<U0047>
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;<U0047>
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;<U0047>
+<U011F>	<U0047>;<BREVE>;<SMALL>;<U0047>
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;<U0047>
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;<U0047>
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;<U0047>
+<U01E7>	<U0047>;<CARON>;<SMALL>;<U0047>
+<U0120>	<U0047>;<DOT>;<CAPITAL>;<U0047>
+<U0121>	<U0047>;<DOT>;<SMALL>;<U0047>
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;<U0047>
+<U01E5>	<U0047>;<STROKE>;<SMALL>;<U0047>
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;<U0047>
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;<U0047>
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;<U0047>
+<U1E21>	<U0047>;<MACRON>;<SMALL>;<U0047>
+<g8>
+
+<U0048>	<U0048>;<NONE>;<CAPITAL>;<U0048>
+<U0068>	<U0048>;<NONE>;<SMALL>;<U0048>
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;<U0048>
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;<U0048>
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;<U0048>
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;<U0048>
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;<U0048>
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;<U0048>
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;<U0048>
+<U1E23>	<U0048>;<DOT>;<SMALL>;<U0048>
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;<U0048>
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;<U0048>
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;<U0048>
+<U0127>	<U0048>;<STROKE>;<SMALL>;<U0048>
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;<U0048>
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;<U0048>
+<h8>
+
+<C-H>	<C-H>;<NONE>;<CAPITAL>;<C-H>
+<C-h>	<C-H>;<NONE>;<CAPITAL-SMALL>;<C-H>
+<c-h>	<C-H>;<NONE>;<SMALL>;<C-H>
+
+<U0049>	<U0049>;<NONE>;<CAPITAL>;<U0049>
+<U0069>	<U0049>;<NONE>;<SMALL>;<U0049>
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;<U0049>
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;<U0049>
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;<U0049>
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;<U0049>
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;<U0049>
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;<U0049>
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;<U0049>
+<U012D>	<U0049>;<BREVE>;<SMALL>;<U0049>
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;<U0049>
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;<U0049>
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;<U0049>
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;<U0049>
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;<U0049>
+<U01D0>	<U0049>;<CARON>;<SMALL>;<U0049>
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;<U0049>
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;<U0049>
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;<U0049>
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;<U0049>
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;<U0049>
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;<U0049>
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;<U0049>
+<U0129>	<U0049>;<TILDE>;<SMALL>;<U0049>
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;<U0049>
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;<U0049>
+<U0130>	<U0049>;<DOT>;<CAPITAL>;<U0049>
+<U0131>	<U0049>;<DOT>;<SMALL>;<U0049>
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;<U0049>
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;<U0049>
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;<U0049>
+<U012F>	<U0049>;<OGONEK>;<SMALL>;<U0049>
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;<U0049>
+<U012B>	<U0049>;<MACRON>;<SMALL>;<U0049>
+<i8>
+
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";"<U0049><U004A>"
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";"<U0049><U004A>"
+
+<U004A>	<U004A>;<NONE>;<CAPITAL>;<U004A>
+<U006A>	<U004A>;<NONE>;<SMALL>;<U004A>
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;<U004A>
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;<U004A>
+<j8>
+
+<U004B>	<U004B>;<NONE>;<CAPITAL>;<U004B>
+<U006B>	<U004B>;<NONE>;<SMALL>;<U004B>
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;<U004B>
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;<U004B>
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;<U004B>
+<U01E9>	<U004B>;<CARON>;<SMALL>;<U004B>
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;<U004B>
+<U0199>	<U004B>;<HOOK>;<SMALL>;<U004B>
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;<U004B>
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;<U004B>
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;<U004B>
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;<U004B>
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;<U004B>
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;<U004B>
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;<U004B>
+
+<U004C>	<U004C>;<NONE>;<CAPITAL>;<U004C>
+<U006C>	<U004C>;<NONE>;<SMALL>;<U004C>
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;<U004C>
+<U013A>	<U004C>;<ACUTE>;<SMALL>;<U004C>
+<U013D>	<U004C>;<CARON>;<CAPITAL>;<U004C>
+<U013E>	<U004C>;<CARON>;<SMALL>;<U004C>
+<U013F>	<U004C>;<DOT>;<CAPITAL>;<U004C>
+<U0140>	<U004C>;<DOT>;<SMALL>;<U004C>
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;<U004C>
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;<U004C>
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;<U004C>
+<U0142>	<U004C>;<STROKE>;<SMALL>;<U004C>
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;<U004C>
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;<U004C>
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;<U004C>
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;<U004C>
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;<U004C>
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;<U004C>
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;<U004C>
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;<U004C>
+<l8>
+
+<U004D>	<U004D>;<NONE>;<CAPITAL>;<U004D>
+<U006D>	<U004D>;<NONE>;<SMALL>;<U004D>
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;<U004D>
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;<U004D>
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;<U004D>
+<U1E41>	<U004D>;<DOT>;<SMALL>;<U004D>
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;<U004D>
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;<U004D>
+<m8>
+
+<U004E>	<U004E>;<NONE>;<CAPITAL>;<U004E>
+<U006E>	<U004E>;<NONE>;<SMALL>;<U004E>
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;<U004E>
+<U0144>	<U004E>;<ACUTE>;<SMALL>;<U004E>
+<U0147>	<U004E>;<CARON>;<CAPITAL>;<U004E>
+<U0148>	<U004E>;<CARON>;<SMALL>;<U004E>
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;<U004E>
+<U00F1>	<U004E>;<TILDE>;<SMALL>;<U004E>
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;<U004E>
+<U1E45>	<U004E>;<DOT>;<SMALL>;<U004E>
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;<U004E>
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;<U004E>
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;<U004E>
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;<U004E>
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;<U004E>
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;<U004E>
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;<U004E>
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;<U004E>
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;<U004E>
+<n8>
+
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";"<U004E><U0047>"
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";"<U004E><U0047>"
+
+<U004F>	<U004F>;<NONE>;<CAPITAL>;<U004F>
+<U006F>	<U004F>;<NONE>;<SMALL>;<U004F>
+<U00BA>	<U004F>;<NONE>;<U00BA>;<U004F>
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;<U004F>
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;<U004F>
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;<U004F>
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;<U004F>
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;<U004F>
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;<U004F>
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;<U004F>
+<U014F>	<U004F>;<BREVE>;<SMALL>;<U004F>
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;<U004F>
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;<U004F>
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;<U004F>
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;<U004F>
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;<U004F>
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;<U004F>
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;<U004F>
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;<U004F>
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;<U004F>
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;<U004F>
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;<U004F>
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;<U004F>
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;<U004F>
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;<U004F>
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;<U004F>
+<U01D2>	<U004F>;<CARON>;<SMALL>;<U004F>
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;<U004F>
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;<U004F>
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;<U004F>
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;<U004F>
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;<U004F>
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;<U004F>
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;<U004F>
+<U00F5>	<U004F>;<TILDE>;<SMALL>;<U004F>
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;<U004F>
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;<U004F>
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;<U004F>
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;<U004F>
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;<U004F>
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;<U004F>
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;<U004F>
+<U00F8>	<U004F>;<STROKE>;<SMALL>;<U004F>
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;<U004F>
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;<U004F>
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;<U004F>
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;<U004F>
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;<U004F>
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;<U004F>
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;<U004F>
+<U014D>	<U004F>;<MACRON>;<SMALL>;<U004F>
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;<U004F>
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;<U004F>
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;<U004F>
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;<U004F>
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;<U004F>
+<U01A1>	<U004F>;<HORN>;<SMALL>;<U004F>
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;<U004F>
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;<U004F>
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;<U004F>
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;<U004F>
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;<U004F>
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;<U004F>
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;<U004F>
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;<U004F>
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;<U004F>
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;<U004F>
+<o8>
+
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";"<U004F><U0045>"
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";"<U004F><U0045>"
+
+<U0050>	<U0050>;<NONE>;<CAPITAL>;<U0050>
+<U0070>	<U0050>;<NONE>;<SMALL>;<U0050>
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;<U0050>
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;<U0050>
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;<U0050>
+<U1E57>	<U0050>;<DOT>;<SMALL>;<U0050>
+<p8>
+
+<U0051>	<U0051>;<NONE>;<CAPITAL>;<U0051>
+<U0071>	<U0051>;<NONE>;<SMALL>;<U0051>
+<q8>
+
+<U0052>	<U0052>;<NONE>;<CAPITAL>;<U0052>
+<U0072>	<U0052>;<NONE>;<SMALL>;<U0052>
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;<U0052>
+<U0155>	<U0052>;<ACUTE>;<SMALL>;<U0052>
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;<U0052>
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;<U0052>
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;<U0052>
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;<U0052>
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;<U0052>
+<U1E59>	<U0052>;<DOT>;<SMALL>;<U0052>
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;<U0052>
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;<U0052>
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;<U0052>
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;<U0052>
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;<U0052>
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;<U0052>
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;<U0052>
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;<U0052>
+
+<U0158>	<U0158>;<CARON>;<CAPITAL>;<U0158>
+<U0159>	<U0158>;<CARON>;<SMALL>;<U0158>
+<r8>
+
+<U0053>	<U0053>;<NONE>;<CAPITAL>;<U0053>
+<U0073>	<U0053>;<NONE>;<SMALL>;<U0053>
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";"<U0053><U0054>"
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;<U0053>
+<U015B>	<U0053>;<ACUTE>;<SMALL>;<U0053>
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;<U0053>
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;<U0053>
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;<U0053>
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;<U0053>
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;<U0053>
+<U1E61>	<U0053>;<DOT>;<SMALL>;<U0053>
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;<U0053>
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;<U0053>
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;<U0053>
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;<U0053>
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;<U0053>
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;<U0053>
+
+<U0160>	<U0160>;<CARON>;<CAPITAL>;<U0160>
+<U0161>	<U0160>;<CARON>;<SMALL>;<U0160>
+<U1E66>	<U0160>;<CARON+DOT>;<CAPITAL>;<U0160>
+<U1E67>	<U0160>;<CARON+DOT>;<SMALL>;<U0160>
+<s8>
+
+<U017F>	<U0053>;<U017F>;<SMALL>;<U0053>
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";"<U0053><U0053>"
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+
+<U0054>	<U0054>;<NONE>;<CAPITAL>;<U0054>
+<U0074>	<U0054>;<NONE>;<SMALL>;<U0054>
+<U0164>	<U0054>;<CARON>;<CAPITAL>;<U0054>
+<U0165>	<U0054>;<CARON>;<SMALL>;<U0054>
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;<U0054>
+<U1E6B>	<U0054>;<DOT>;<SMALL>;<U0054>
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;<U0054>
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;<U0054>
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;<U0054>
+<U0167>	<U0054>;<STROKE>;<SMALL>;<U0054>
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;<U0054>
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;<U0054>
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;<U0054>
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;<U0054>
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;<U0054>
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;<U0054>
+<t8>
+
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";"<U0054><U0048>"
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";"<U0054><U0048>"
+
+<U0055>	<U0055>;<NONE>;<CAPITAL>;<U0055>
+<U0075>	<U0055>;<NONE>;<SMALL>;<U0055>
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;<U0055>
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;<U0055>
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;<U0055>
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;<U0055>
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;<U0055>
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;<U0055>
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;<U0055>
+<U016D>	<U0055>;<BREVE>;<SMALL>;<U0055>
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;<U0055>
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;<U0055>
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;<U0055>
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;<U0055>
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;<U0055>
+<U01D4>	<U0055>;<CARON>;<SMALL>;<U0055>
+<U016E>	<U0055>;<RING>;<CAPITAL>;<U0055>
+<U016F>	<U0055>;<RING>;<SMALL>;<U0055>
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;<U0055>
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;<U0055>
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;<U0055>
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;<U0055>
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;<U0055>
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;<U0055>
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;<U0055>
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;<U0055>
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;<U0055>
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;<U0055>
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;<U0055>
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;<U0055>
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;<U0055>
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;<U0055>
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;<U0055>
+<U0169>	<U0055>;<TILDE>;<SMALL>;<U0055>
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;<U0055>
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;<U0055>
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;<U0055>
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;<U0055>
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;<U0055>
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;<U0055>
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;<U0055>
+<U0173>	<U0055>;<OGONEK>;<SMALL>;<U0055>
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;<U0055>
+<U016B>	<U0055>;<MACRON>;<SMALL>;<U0055>
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;<U0055>
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;<U0055>
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;<U0055>
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;<U0055>
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;<U0055>
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;<U0055>
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;<U0055>
+<U01B0>	<U0055>;<HORN>;<SMALL>;<U0055>
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;<U0055>
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;<U0055>
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;<U0055>
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;<U0055>
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;<U0055>
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;<U0055>
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;<U0055>
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;<U0055>
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;<U0055>
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;<U0055>
+<u8>
+
+<U0056>	<U0056>;<NONE>;<CAPITAL>;<U0056>
+<U0076>	<U0056>;<NONE>;<SMALL>;<U0056>
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;<U0056>
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;<U0056>
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;<U0056>
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;<U0056>
+<v8>
+
+<U0057>	<U0057>;<NONE>;<CAPITAL>;<U0057>
+<U0077>	<U0057>;<NONE>;<SMALL>;<U0057>
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;<U0057>
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;<U0057>
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;<U0057>
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;<U0057>
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;<U0057>
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;<U0057>
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;<U0057>
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;<U0057>
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;<U0057>
+<U1E87>	<U0057>;<DOT>;<SMALL>;<U0057>
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;<U0057>
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;<U0057>
+<w8>
+
+<U0058>	<U0058>;<NONE>;<CAPITAL>;<U0058>
+<U0078>	<U0058>;<NONE>;<SMALL>;<U0058>
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;<U0058>
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;<U0058>
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;<U0058>
+<U1E8B>	<U0058>;<DOT>;<SMALL>;<U0058>
+<x8>
+
+<U0059>	<U0059>;<NONE>;<CAPITAL>;<U0059>
+<U0079>	<U0059>;<NONE>;<SMALL>;<U0059>
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;<U0059>
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;<U0059>
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;<U0059>
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;<U0059>
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;<U0059>
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;<U0059>
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;<U0059>
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;<U0059>
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;<U0059>
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;<U0059>
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;<U0059>
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;<U0059>
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;<U0059>
+<U1E8F>	<U0059>;<DOT>;<SMALL>;<U0059>
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;<U0059>
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;<U0059>
+<y8>
+
+<U005A>	<U005A>;<NONE>;<CAPITAL>;<U005A>
+<U007A>	<U005A>;<NONE>;<SMALL>;<U005A>
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;<U005A>
+<U017A>	<U005A>;<ACUTE>;<SMALL>;<U005A>
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;<U005A>
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;<U005A>
+<U017B>	<U005A>;<DOT>;<CAPITAL>;<U005A>
+<U017C>	<U005A>;<DOT>;<SMALL>;<U005A>
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;<U005A>
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;<U005A>
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;<U005A>
+<U01B6>	<U005A>;<STROKE>;<SMALL>;<U005A>
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;<U005A>
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;<U005A>
+<z8>
+
+<U017D>	<U017D>;<CARON>;<CAPITAL>;<U017D>
+<U017E>	<U017D>;<CARON>;<SMALL>;<U017D>
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Èíslice
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+<U0030>	<U0030>;<U0030>;IGNORE;<U0030>
+<U2070>	<U0030>;<U2070>;IGNORE;<U0030>
+<U215B>	<U0030>;<U215B>;IGNORE;<U0030>
+<U00BC>	<U0030>;<U00BC>;IGNORE;<U0030>
+<U215C>	<U0030>;<U215C>;IGNORE;<U0030>
+<U00BD>	<U0030>;<U00BD>;IGNORE;<U0030>
+<U215D>	<U0030>;<U215D>;IGNORE;<U0030>
+<U00BE>	<U0030>;<U00BE>;IGNORE;<U0030>
+<U215E>	<U0030>;<U215E>;IGNORE;<U0030>
+<U0031>	<U0031>;<U0031>;IGNORE;<U0031>
+<U0032>	<U0032>;<U0032>;IGNORE;<U0032>
+<U0033>	<U0033>;<U0033>;IGNORE;<U0033>
+<U0034>	<U0034>;<U0034>;IGNORE;<U0034>
+<U0035>	<U0035>;<U0035>;IGNORE;<U0035>
+<U0036>	<U0036>;<U0036>;IGNORE;<U0036>
+<U0037>	<U0037>;<U0037>;IGNORE;<U0037>
+<U0038>	<U0038>;<U0038>;IGNORE;<U0038>
+<U0039>	<U0039>;<U0039>;IGNORE;<U0039>
+<U00B9>	<U0031>;<U00B9>;IGNORE;<U0031>
+<U00B2>	<U0032>;<U00B2>;IGNORE;<U0032>
+<U00B3>	<U0033>;<U00B3>;IGNORE;<U0033>
+<U2074>	<U0034>;<U2074>;IGNORE;<U0034>
+<U2075>	<U0035>;<U2075>;IGNORE;<U0035>
+<U2076>	<U0036>;<U2076>;IGNORE;<U0036>
+<U2077>	<U0037>;<U2077>;IGNORE;<U0037>
+<U2078>	<U0038>;<U2078>;IGNORE;<U0038>
+<U2079>	<U0039>;<U2079>;IGNORE;<U0039>
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% V¹echny speciální znaky (sna¾il jsem se to seøadit podle normy, ale moc se
+% mi nedaøilo)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+
+% znaménka
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+% Uvozovky
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2039>	IGNORE;IGNORE;IGNORE;<U003C>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U203A>	IGNORE;IGNORE;IGNORE;<U003E>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+
+% ustálené znaèky
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+
+% grafické znaèky a obrazce lineární
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U005E>  IGNORE;IGNORE;IGNORE;<U005E>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+
+% grafické znaèky a obrazce plo¹né
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+
+% Akcenty, nevím kam je zaøadit (nìkteré jsou brány jako uvozovky)
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U203E>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+%<U0060>	IGNORE;IGNORE;IGNORE;<U0060> % pøemístìn do uvozovek
+%<U005E> IGNORE;IGNORE;IGNORE;<U005E> % pøemístìn do obrazcù lineárních
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+% tilda
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+
+% Neseøazeno
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<UE010>	IGNORE;IGNORE;IGNORE;<UE010>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE;IGNORE
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Zbytek vìcí z unikodu
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;<U0391>
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;<U0391>
+<U03B1>	<U0391>;<SMALL>;<GREEK>;<U0391>
+<U03AC>	<U0391>;<SMALL>;<TONOS>;<U0391>
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;<U0392>
+<U03B2>	<U0392>;<SMALL>;<GREEK>;<U0392>
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;<U0393>
+<U03B3>	<U0393>;<SMALL>;<GREEK>;<U0393>
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;<U0394>
+<U03B4>	<U0394>;<SMALL>;<GREEK>;<U0394>
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;<U0395>
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;<U0395>
+<U03B5>	<U0395>;<SMALL>;<GREEK>;<U0395>
+<U03AD>	<U0395>;<SMALL>;<TONOS>;<U0395>
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;<U0396>
+<U03B6>	<U0396>;<SMALL>;<GREEK>;<U0396>
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;<U0397>
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;<U0397>
+<U03B7>	<U0397>;<SMALL>;<GREEK>;<U0397>
+<U03AE>	<U0397>;<SMALL>;<TONOS>;<U0397>
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;<U0398>
+<U03B8>	<U0398>;<SMALL>;<GREEK>;<U0398>
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;<U0399>
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;<U0399>
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;<U0399>
+<U03B9>	<U0399>;<SMALL>;<GREEK>;<U0399>
+<U03AF>	<U0399>;<SMALL>;<TONOS>;<U0399>
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;<U0399>
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;<U0399>
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;<U039A>
+<U03BA>	<U039A>;<SMALL>;<GREEK>;<U039A>
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;<U039B>
+<U03BB>	<U039B>;<SMALL>;<GREEK>;<U039B>
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;<U039C>
+<U03BC>	<U039C>;<SMALL>;<GREEK>;<U039C>
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;<U039D>
+<U03BD>	<U039D>;<SMALL>;<GREEK>;<U039D>
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;<U039E>
+<U03BE>	<U039E>;<SMALL>;<GREEK>;<U039E>
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;<U039F>
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;<U039F>
+<U03BF>	<U039F>;<SMALL>;<GREEK>;<U039F>
+<U03CC>	<U039F>;<SMALL>;<TONOS>;<U039F>
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;<U03A0>
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;<U03A0>
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;<U03A1>
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;<U03A1>
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;<U03A3>
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;<U03A3>
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;<U03A3>
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;<U03A4>
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;<U03A4>
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;<U03A5>
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;<U03A5>
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;<U03A5>
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;<U03A5>
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;<U03A5>
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;<U03A5>
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;<U03A5>
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;<U03A6>
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;<U03A6>
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;<U03A7>
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;<U03A7>
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;<U03A8>
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;<U03A8>
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;<U03A9>
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;<U03A9>
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;<U03A9>
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;<U03A9>
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;<U0410>
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;<U0410>
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;<U0411>
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;<U0411>
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;<U0412>
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;<U0412>
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;<U0413>
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;<U0413>
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;<U0403>
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;<U0403>
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;<U0490>
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;<U0490>
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;<U0414>
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;<U0414>
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;<U0402>
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;<U0402>
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;<U0415>
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;<U0415>
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;<U0401>
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;<U0401>
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;<U0404>
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;<U0404>
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;<U0416>
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;<U0416>
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;<U0417>
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;<U0417>
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;<U0418>
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;<U0418>
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;<U0406>
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;<U0406>
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;<U0407>
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;<U0407>
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;<U0408>
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;<U0408>
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;<U0419>
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;<U0419>
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;<U041A>
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;<U041A>
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;<U040C>
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;<U040C>
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;<U041B>
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;<U041B>
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;<U0409>
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;<U0409>
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;<U041C>
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;<U041C>
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;<U041D>
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;<U041D>
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;<U040A>
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;<U040A>
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;<U041E>
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;<U041E>
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;<U041F>
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;<U041F>
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;<U0420>
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;<U0420>
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;<U0421>
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;<U0421>
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;<U0422>
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;<U0422>
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;<U040B>
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;<U040B>
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;<U0423>
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;<U0423>
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;<U040E>
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;<U040E>
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;<U0424>
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;<U0424>
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;<U0425>
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;<U0425>
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;<U0426>
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;<U0426>
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;<U0405>
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;<U0405>
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;<U0427>
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;<U0427>
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;<U040F>
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;<U040F>
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;<U0428>
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;<U0428>
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;<U0429>
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;<U0429>
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;<U044A>
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;<U044A>
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;<U042B>
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;<U042B>
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;<U044C>
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;<U044C>
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;<U042D>
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;<U042D>
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;<U042E>
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;<U042E>
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;<U042F>
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;<U042F>
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;<U0462>
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;<U0462>
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;<U046A>
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;<U046A>
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;<U0472>
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;<U0472>
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;<U0474>
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;<U0474>
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;<U0480>
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;<U0480>
+<U05D0>	<U05D0>;IGNORE;IGNORE;<U05D0>
+<U05D1>	<U05D1>;IGNORE;IGNORE;<U05D1>
+<U05D2>	<U05D2>;IGNORE;IGNORE;<U05D2>
+<U05D3>	<U05D3>;IGNORE;IGNORE;<U05D3>
+<U05D4>	<U05D4>;IGNORE;IGNORE;<U05D4>
+<U05D5>	<U05D5>;IGNORE;IGNORE;<U05D5>
+<U05D6>	<U05D6>;IGNORE;IGNORE;<U05D6>
+<U05D7>	<U05D7>;IGNORE;IGNORE;<U05D7>
+<U05D8>	<U05D8>;IGNORE;IGNORE;<U05D8>
+<U05D9>	<U05D9>;IGNORE;IGNORE;<U05D9>
+<U05DA>	<U05DA>;IGNORE;IGNORE;<U05DA>
+<U05DB>	<U05DB>;IGNORE;IGNORE;<U05DB>
+<U05DC>	<U05DC>;IGNORE;IGNORE;<U05DC>
+<U05DD>	<U05DD>;IGNORE;IGNORE;<U05DD>
+<U05DE>	<U05DE>;IGNORE;IGNORE;<U05DE>
+<U05DF>	<U05DF>;IGNORE;IGNORE;<U05DF>
+<U05E0>	<U05E0>;IGNORE;IGNORE;<U05E0>
+<U05E1>	<U05E1>;IGNORE;IGNORE;<U05E1>
+<U05E2>	<U05E2>;IGNORE;IGNORE;<U05E2>
+<U05E3>	<U05E3>;IGNORE;IGNORE;<U05E3>
+<U05E4>	<U05E4>;IGNORE;IGNORE;<U05E4>
+<U05E5>	<U05E5>;IGNORE;IGNORE;<U05E5>
+<U05E6>	<U05E6>;IGNORE;IGNORE;<U05E6>
+<U05E7>	<U05E7>;IGNORE;IGNORE;<U05E7>
+<U05E8>	<U05E8>;IGNORE;IGNORE;<U05E8>
+<U05E9>	<U05E9>;IGNORE;IGNORE;<U05E9>
+<U05EA>	<U05EA>;IGNORE;IGNORE;<U05EA>
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;<U0621>
+<U0622>	<U0622>;<U0622>;IGNORE;<U0622>
+<UFE82>	<U0622>;<UFE82>;IGNORE;<U0622>
+<U0623>	<U0621>;<U0623>;IGNORE;<U0621>
+<UFE84>	<U0621>;<UFE84>;IGNORE;<U0621>
+<U0624>	<U0621>;<U0624>;IGNORE;<U0621>
+<U0625>	<U0621>;<U0625>;IGNORE;<U0621>
+<UFE88>	<U0621>;<UFE88>;IGNORE;<U0621>
+<U0626>	<U0621>;<U0626>;IGNORE;<U0621>
+<U0670>	<U0670>;<U0670>;IGNORE;<U0670>
+<U0627>	<U0627>;<U0627>;IGNORE;<U0627>
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;<U0627>
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;<U0627>
+<UE016>	<U0627>;<UE016>;IGNORE;<U0627>
+<U0628>	<U0628>;<U0628>;IGNORE;<U0628>
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;<U0628>
+<UFE90>	<U0628>;<UFE90>;IGNORE;<U0628>
+<UFE91>	<U0628>;<UFE91>;IGNORE;<U0628>
+<UFE92>	<U0628>;<UFE92>;IGNORE;<U0628>
+<U067E>	<U067E>;<U067E>;IGNORE;<U067E>
+<U06A4>	<U06A4>;<U06A4>;IGNORE;<U06A4>
+<U0629>	<U0629>;<U0629>;IGNORE;<U0629>
+<UFE93>	<U0629>;<UFE93>;IGNORE;<U0629>
+<UFE94>	<U0629>;<UFE94>;IGNORE;<U0629>
+<U062A>	<U0629>;<U062A>;IGNORE;<U0629>
+<UFE95>	<U0629>;<UFE95>;IGNORE;<U0629>
+<UFE96>	<U0629>;<UFE96>;IGNORE;<U0629>
+<UFE97>	<U0629>;<UFE97>;IGNORE;<U0629>
+<UFE98>	<U0629>;<UFE98>;IGNORE;<U0629>
+<U062B>	<U062B>;<U062B>;IGNORE;<U062B>
+<UFE99>	<U062B>;<UFE99>;IGNORE;<U062B>
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;<U062B>
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;<U062B>
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;<U062B>
+<U062C>	<U062C>;<U062C>;IGNORE;<U062C>
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;<U062C>
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;<U062C>
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;<U062C>
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;<U062C>
+<U062D>	<U062D>;<U062D>;IGNORE;<U062D>
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;<U062D>
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;<U062D>
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;<U062D>
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;<U062D>
+<U062E>	<U062E>;<U062E>;IGNORE;<U062E>
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;<U062E>
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;<U062E>
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;<U062E>
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;<U062E>
+<U062F>	<U062F>;<U062F>;IGNORE;<U062F>
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;<U062F>
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;<U062F>
+<U0630>	<U0630>;<U0630>;IGNORE;<U0630>
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;<U0630>
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;<U0630>
+<U0631>	<U0631>;<U0631>;IGNORE;<U0631>
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;<U0631>
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;<U0631>
+<U0632>	<U0632>;<U0632>;IGNORE;<U0632>
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;<U0632>
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;<U0632>
+<U0633>	<U0633>;<U0633>;IGNORE;<U0633>
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;<U0633>
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;<U0633>
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;<U0633>
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;<U0633>
+<U0634>	<U0634>;<U0634>;IGNORE;<U0634>
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;<U0634>
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;<U0634>
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;<U0634>
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;<U0634>
+<U0635>	<U0635>;<U0635>;IGNORE;<U0635>
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;<U0635>
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;<U0635>
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;<U0635>
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;<U0635>
+<U0636>	<U0636>;<U0636>;IGNORE;<U0636>
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;<U0636>
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;<U0636>
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;<U0636>
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;<U0636>
+<U0637>	<U0637>;<U0637>;IGNORE;<U0637>
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;<U0637>
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;<U0637>
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;<U0637>
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;<U0637>
+<U0638>	<U0638>;<U0638>;IGNORE;<U0638>
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;<U0638>
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;<U0638>
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;<U0638>
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;<U0638>
+<U0639>	<U0639>;<U0639>;IGNORE;<U0639>
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;<U0639>
+<UFECA>	<U0639>;<UFECA>;IGNORE;<U0639>
+<UFECB>	<U0639>;<UFECB>;IGNORE;<U0639>
+<UFECC>	<U0639>;<UFECC>;IGNORE;<U0639>
+<U063A>	<U063A>;<U063A>;IGNORE;<U063A>
+<UFECD>	<U063A>;<UFECD>;IGNORE;<U063A>
+<UFECE>	<U063A>;<UFECE>;IGNORE;<U063A>
+<UFECF>	<U063A>;<UFECF>;IGNORE;<U063A>
+<UFED0>	<U063A>;<UFED0>;IGNORE;<U063A>
+<U0641>	<U0641>;<U0641>;IGNORE;<U0641>
+<UFED1>	<U0641>;<UFED1>;IGNORE;<U0641>
+<UFED2>	<U0641>;<UFED2>;IGNORE;<U0641>
+<UFED3>	<U0641>;<UFED3>;IGNORE;<U0641>
+<UFED4>	<U0641>;<UFED4>;IGNORE;<U0641>
+<U0642>	<U0642>;<U0642>;IGNORE;<U0642>
+<UFED5>	<U0642>;<UFED5>;IGNORE;<U0642>
+<UFED6>	<U0642>;<UFED6>;IGNORE;<U0642>
+<UFED7>	<U0642>;<UFED7>;IGNORE;<U0642>
+<UFED8>	<U0642>;<UFED8>;IGNORE;<U0642>
+<U0643>	<U0643>;<U0643>;IGNORE;<U0643>
+<UFED9>	<U0643>;<UFED9>;IGNORE;<U0643>
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;<U0643>
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;<U0643>
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;<U0643>
+<U0644>	<U0644>;<U0644>;IGNORE;<U0644>
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;<U0644>
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;<U0644>
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;<U0644>
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;<U0644>
+<U0645>	<U0645>;<U0645>;IGNORE;<U0645>
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;<U0645>
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;<U0645>
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;<U0645>
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;<U0645>
+<U0646>	<U0646>;<U0646>;IGNORE;<U0646>
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;<U0646>
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;<U0646>
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;<U0646>
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;<U0646>
+<U0647>	<U0647>;<U0647>;IGNORE;<U0647>
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;<U0647>
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;<U0647>
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;<U0647>
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;<U0647>
+<U0648>	<U0648>;<U0648>;IGNORE;<U0648>
+<UFEED>	<U0648>;<UFEED>;IGNORE;<U0648>
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;<U0648>
+<U0649>	<U0649>;<U0649>;IGNORE;<U0649>
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;<U0649>
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;<U0649>
+<U064A>	<U064A>;<U064A>;IGNORE;<U064A>
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;<U064A>
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;<U064A>
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;<U064A>
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;<U064A>
+
+<U064B>	IGNORE;IGNORE;<U064B>;<U064B>
+<U064C>	IGNORE;IGNORE;<U064C>;<U064C>
+<U064D>	IGNORE;IGNORE;<U064D>;<U064D>
+<U064E>	IGNORE;IGNORE;<U064E>;<U064E>
+<U064F>	IGNORE;IGNORE;<U064F>;<U064F>
+<U0650>	IGNORE;IGNORE;<U0650>;<U0650>
+<U0651>	IGNORE;IGNORE;<U0651>;<U0651>
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;<UFE7D>
+<U0652>	IGNORE;IGNORE;<U0652>;<U0652>
+
+<U0660>	<U0030>;<U0660>;IGNORE;<U0030>
+<U0661>	<U0031>;<U0661>;IGNORE;<U0031>
+<U0662>	<U0032>;<U0662>;IGNORE;<U0032>
+<U0663>	<U0033>;<U0663>;IGNORE;<U0033>
+<U0664>	<U0034>;<U0664>;IGNORE;<U0034>
+<U0665>	<U0035>;<U0665>;IGNORE;<U0035>
+<U0666>	<U0036>;<U0666>;IGNORE;<U0036>
+<U0667>	<U0037>;<U0667>;IGNORE;<U0037>
+<U0668>	<U0038>;<U0668>;IGNORE;<U0038>
+<U0669>	<U0039>;<U0669>;IGNORE;<U0039>
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";"<U0644><U0622>"
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";"<U0644><U0622>"
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";"<U0644><U0623>"
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";"<U0644><U0623>"
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";"<U0644><U0625>"
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";"<U0644><U0625>"
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";"<U0644><U0627>"
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";"<U0644><U0627>"
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;<U30A1>
+<U3041>	<U30A1>;<U3041>;IGNORE;<U30A1>
+<U30A2>	<U30A1>;<U30A2>;IGNORE;<U30A1>
+<U3042>	<U30A1>;<U3042>;IGNORE;<U30A1>
+<U30A3>	<U30A3>;<U30A3>;IGNORE;<U30A3>
+<U3043>	<U30A3>;<U3043>;IGNORE;<U30A3>
+<U30A4>	<U30A3>;<U30A4>;IGNORE;<U30A3>
+<U3044>	<U30A3>;<U3044>;IGNORE;<U30A3>
+<U30A5>	<U30A5>;<U30A5>;IGNORE;<U30A5>
+<U3045>	<U30A5>;<U3045>;IGNORE;<U30A5>
+<U30A6>	<U30A5>;<U30A6>;IGNORE;<U30A5>
+<U3046>	<U30A5>;<U3046>;IGNORE;<U30A5>
+<U30F4>	<U30A5>;<U30F4>;IGNORE;<U30A5>
+<U30A7>	<U30A7>;<U30A7>;IGNORE;<U30A7>
+<U3047>	<U30A7>;<U3047>;IGNORE;<U30A7>
+<U30A8>	<U30A7>;<U30A8>;IGNORE;<U30A7>
+<U3048>	<U30A7>;<U3048>;IGNORE;<U30A7>
+<U30A9>	<U30A9>;<U30A9>;IGNORE;<U30A9>
+<U3049>	<U30A9>;<U3049>;IGNORE;<U30A9>
+<U30AA>	<U30A9>;<U30AA>;IGNORE;<U30A9>
+<U304A>	<U30A9>;<U304A>;IGNORE;<U30A9>
+<U30F5>	<U30F5>;<U30F5>;IGNORE;<U30F5>
+<U30AB>	<U30F5>;<U30AB>;IGNORE;<U30F5>
+<U304B>	<U30F5>;<U304B>;IGNORE;<U30F5>
+<U30AC>	<U30F5>;<U30AC>;IGNORE;<U30F5>
+<U304C>	<U30F5>;<U304C>;IGNORE;<U30F5>
+<U30AD>	<U30AD>;<U30AD>;IGNORE;<U30AD>
+<U304D>	<U30AD>;<U304D>;IGNORE;<U30AD>
+<U30AE>	<U30AD>;<U30AE>;IGNORE;<U30AD>
+<U304E>	<U30AD>;<U304E>;IGNORE;<U30AD>
+<U30AF>	<U30AF>;<U30AF>;IGNORE;<U30AF>
+<U304F>	<U30AF>;<U304F>;IGNORE;<U30AF>
+<U30B0>	<U30AF>;<U30B0>;IGNORE;<U30AF>
+<U3050>	<U30AF>;<U3050>;IGNORE;<U30AF>
+<U30F6>	<U30F6>;<U30F6>;IGNORE;<U30F6>
+<U30B1>	<U30F6>;<U30B1>;IGNORE;<U30F6>
+<U3051>	<U30F6>;<U3051>;IGNORE;<U30F6>
+<U30B2>	<U30F6>;<U30B2>;IGNORE;<U30F6>
+<U3052>	<U30F6>;<U3052>;IGNORE;<U30F6>
+<U30B3>	<U30B3>;<U30B3>;IGNORE;<U30B3>
+<U3053>	<U30B3>;<U3053>;IGNORE;<U30B3>
+<U30B4>	<U30B3>;<U30B4>;IGNORE;<U30B3>
+<U3054>	<U30B3>;<U3054>;IGNORE;<U30B3>
+<U30B5>	<U30B5>;<U30B5>;IGNORE;<U30B5>
+<U3055>	<U30B5>;<U3055>;IGNORE;<U30B5>
+<U30B6>	<U30B5>;<U30B6>;IGNORE;<U30B5>
+<U3056>	<U30B5>;<U3056>;IGNORE;<U30B5>
+<U30B7>	<U30B7>;<U30B7>;IGNORE;<U30B7>
+<U3057>	<U30B7>;<U3057>;IGNORE;<U30B7>
+<U30B8>	<U30B7>;<U30B8>;IGNORE;<U30B7>
+<U3058>	<U30B7>;<U3058>;IGNORE;<U30B7>
+<U30B9>	<U30B9>;<U30B9>;IGNORE;<U30B9>
+<U3059>	<U30B9>;<U3059>;IGNORE;<U30B9>
+<U30BA>	<U30B9>;<U30BA>;IGNORE;<U30B9>
+<U305A>	<U30B9>;<U305A>;IGNORE;<U30B9>
+<U30BB>	<U30BB>;<U30BB>;IGNORE;<U30BB>
+<U305B>	<U30BB>;<U305B>;IGNORE;<U30BB>
+<U30BC>	<U30BB>;<U30BC>;IGNORE;<U30BB>
+<U305C>	<U30BB>;<U305C>;IGNORE;<U30BB>
+<U30BD>	<U30BD>;<U30BD>;IGNORE;<U30BD>
+<U305D>	<U30BD>;<U305D>;IGNORE;<U30BD>
+<U30BE>	<U30BD>;<U30BE>;IGNORE;<U30BD>
+<U305E>	<U30BD>;<U305E>;IGNORE;<U30BD>
+<U30BF>	<U30BF>;<U30BF>;IGNORE;<U30BF>
+<U305F>	<U30BF>;<U305F>;IGNORE;<U30BF>
+<U30C0>	<U30BF>;<U30C0>;IGNORE;<U30BF>
+<U3060>	<U30BF>;<U3060>;IGNORE;<U30BF>
+<U30C1>	<U30C1>;<U30C1>;IGNORE;<U30C1>
+<U3061>	<U30C1>;<U3061>;IGNORE;<U30C1>
+<U30C2>	<U30C1>;<U30C2>;IGNORE;<U30C1>
+<U3062>	<U30C1>;<U3062>;IGNORE;<U30C1>
+<U30C3>	<U30C3>;<U30C3>;IGNORE;<U30C3>
+<U3063>	<U30C3>;<U3063>;IGNORE;<U30C3>
+<U30C4>	<U30C3>;<U30C4>;IGNORE;<U30C3>
+<U3064>	<U30C3>;<U3064>;IGNORE;<U30C3>
+<U30C5>	<U30C3>;<U30C5>;IGNORE;<U30C3>
+<U3065>	<U30C3>;<U3065>;IGNORE;<U30C3>
+<U30C6>	<U30C6>;<U30C6>;IGNORE;<U30C6>
+<U3066>	<U30C6>;<U3066>;IGNORE;<U30C6>
+<U30C7>	<U30C6>;<U30C7>;IGNORE;<U30C6>
+<U3067>	<U30C6>;<U3067>;IGNORE;<U30C6>
+<U30C8>	<U30C8>;<U30C8>;IGNORE;<U30C8>
+<U3068>	<U30C8>;<U3068>;IGNORE;<U30C8>
+<U30C9>	<U30C8>;<U30C9>;IGNORE;<U30C8>
+<U3069>	<U30C8>;<U3069>;IGNORE;<U30C8>
+<U30CA>	<U30CA>;<U30CA>;IGNORE;<U30CA>
+<U306A>	<U30CA>;<U306A>;IGNORE;<U30CA>
+<U30CB>	<U30CB>;<U30CB>;IGNORE;<U30CB>
+<U306B>	<U30CB>;<U306B>;IGNORE;<U30CB>
+<U30CC>	<U30CC>;<U30CC>;IGNORE;<U30CC>
+<U306C>	<U30CC>;<U306C>;IGNORE;<U30CC>
+<U30CD>	<U30CD>;<U30CD>;IGNORE;<U30CD>
+<U306D>	<U30CD>;<U306D>;IGNORE;<U30CD>
+<U30CE>	<U30CE>;<U30CE>;IGNORE;<U30CE>
+<U306E>	<U30CE>;<U306E>;IGNORE;<U30CE>
+<U30CF>	<U30CF>;<U30CF>;IGNORE;<U30CF>
+<U306F>	<U30CF>;<U306F>;IGNORE;<U30CF>
+<U30D0>	<U30CF>;<U30D0>;IGNORE;<U30CF>
+<U3070>	<U30CF>;<U3070>;IGNORE;<U30CF>
+<U30D1>	<U30CF>;<U30D1>;IGNORE;<U30CF>
+<U3071>	<U30CF>;<U3071>;IGNORE;<U30CF>
+<U30D2>	<U30D2>;<U30D2>;IGNORE;<U30D2>
+<U3072>	<U30D2>;<U3072>;IGNORE;<U30D2>
+<U30D3>	<U30D2>;<U30D3>;IGNORE;<U30D2>
+<U3073>	<U30D2>;<U3073>;IGNORE;<U30D2>
+<U30D4>	<U30D2>;<U30D4>;IGNORE;<U30D2>
+<U3074>	<U30D2>;<U3074>;IGNORE;<U30D2>
+<U30D5>	<U30D5>;<U30D5>;IGNORE;<U30D5>
+<U3075>	<U30D5>;<U3075>;IGNORE;<U30D5>
+<U30D6>	<U30D5>;<U30D6>;IGNORE;<U30D5>
+<U3076>	<U30D5>;<U3076>;IGNORE;<U30D5>
+<U30D7>	<U30D5>;<U30D7>;IGNORE;<U30D5>
+<U3077>	<U30D5>;<U3077>;IGNORE;<U30D5>
+<U30D8>	<U30D8>;<U30D8>;IGNORE;<U30D8>
+<U3078>	<U30D8>;<U3078>;IGNORE;<U30D8>
+<U30D9>	<U30D8>;<U30D9>;IGNORE;<U30D8>
+<U3079>	<U30D8>;<U3079>;IGNORE;<U30D8>
+<U30DA>	<U30D8>;<U30DA>;IGNORE;<U30D8>
+<U307A>	<U30D8>;<U307A>;IGNORE;<U30D8>
+<U30DB>	<U30DB>;<U30DB>;IGNORE;<U30DB>
+<U307B>	<U30DB>;<U307B>;IGNORE;<U30DB>
+<U30DC>	<U30DB>;<U30DC>;IGNORE;<U30DB>
+<U307C>	<U30DB>;<U307C>;IGNORE;<U30DB>
+<U30DD>	<U30DB>;<U30DD>;IGNORE;<U30DB>
+<U307D>	<U30DB>;<U307D>;IGNORE;<U30DB>
+<U30DE>	<U30DE>;<U30DE>;IGNORE;<U30DE>
+<U307E>	<U30DE>;<U307E>;IGNORE;<U30DE>
+<U30DF>	<U30DF>;<U30DF>;IGNORE;<U30DF>
+<U307F>	<U30DF>;<U307F>;IGNORE;<U30DF>
+<U30E0>	<U30E0>;<U30E0>;IGNORE;<U30E0>
+<U3080>	<U30E0>;<U3080>;IGNORE;<U30E0>
+<U30E1>	<U30E1>;<U30E1>;IGNORE;<U30E1>
+<U3081>	<U30E1>;<U3081>;IGNORE;<U30E1>
+<U30E2>	<U30E2>;<U30E2>;IGNORE;<U30E2>
+<U3082>	<U30E2>;<U3082>;IGNORE;<U30E2>
+<U30E3>	<U30E3>;<U30E3>;IGNORE;<U30E3>
+<U3083>	<U30E3>;<U3083>;IGNORE;<U30E3>
+<U30E4>	<U30E3>;<U30E4>;IGNORE;<U30E3>
+<U3084>	<U30E3>;<U3084>;IGNORE;<U30E3>
+<U30E5>	<U30E5>;<U30E5>;IGNORE;<U30E5>
+<U3085>	<U30E5>;<U3085>;IGNORE;<U30E5>
+<U30E6>	<U30E5>;<U30E6>;IGNORE;<U30E5>
+<U3086>	<U30E5>;<U3086>;IGNORE;<U30E5>
+<U30E7>	<U30E7>;<U30E7>;IGNORE;<U30E7>
+<U3087>	<U30E7>;<U3087>;IGNORE;<U30E7>
+<U30E8>	<U30E7>;<U30E8>;IGNORE;<U30E7>
+<U3088>	<U30E7>;<U3088>;IGNORE;<U30E7>
+<U30E9>	<U30E9>;<U30E9>;IGNORE;<U30E9>
+<U3089>	<U30E9>;<U3089>;IGNORE;<U30E9>
+<U30EA>	<U30EA>;<U30EA>;IGNORE;<U30EA>
+<U308A>	<U30EA>;<U308A>;IGNORE;<U30EA>
+<U30EB>	<U30EB>;<U30EB>;IGNORE;<U30EB>
+<U308B>	<U30EB>;<U308B>;IGNORE;<U30EB>
+<U30EC>	<U30EC>;<U30EC>;IGNORE;<U30EC>
+<U308C>	<U30EC>;<U308C>;IGNORE;<U30EC>
+<U30ED>	<U30ED>;<U30ED>;IGNORE;<U30ED>
+<U308D>	<U30ED>;<U308D>;IGNORE;<U30ED>
+<U30EE>	<U30EE>;<U30EE>;IGNORE;<U30EE>
+<U308E>	<U30EE>;<U308E>;IGNORE;<U30EE>
+<U30EF>	<U30EE>;<U30EF>;IGNORE;<U30EE>
+<U308F>	<U30EE>;<U308F>;IGNORE;<U30EE>
+<U30F0>	<U30F0>;<U30F0>;IGNORE;<U30F0>
+<U3090>	<U30F0>;<U3090>;IGNORE;<U30F0>
+<U30F1>	<U30F1>;<U30F1>;IGNORE;<U30F1>
+<U3091>	<U30F1>;<U3091>;IGNORE;<U30F1>
+<U30F2>	<U30F2>;<U30F2>;IGNORE;<U30F2>
+<U3092>	<U30F2>;<U3092>;IGNORE;<U30F2>
+<U30F3>	<U30F3>;<U30F3>;IGNORE;<U30F3>
+<U3093>	<U30F3>;<U3093>;IGNORE;<U30F3>
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/cy_GB b/ap/build/uClibc/extra/locale/collation/cy_GB
new file mode 100644
index 0000000..6cda676
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/cy_GB
@@ -0,0 +1,136 @@
+copy "iso14651_t1"
+
+% Welsh sorting order is:
+%   a b c ch d dd e f ff g ng h i l ll m n o p ph r rh s t th u w y
+
+collating-symbol  <c-h-cy>
+collating-element <C-H> from "<U0043><U0048>"
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <c-H> from "<U0063><U0048>"
+
+collating-symbol  <d-d-cy>
+collating-element <D-D> from "<U0044><U0044>"
+collating-element <d-d> from "<U0064><U0064>"
+collating-element <D-d> from "<U0044><U0064>"
+collating-element <d-D> from "<U0064><U0044>"
+
+collating-symbol  <f-f-cy>
+collating-element <F-F> from "<U0046><U0046>"
+collating-element <f-f> from "<U0066><U0066>"
+collating-element <F-f> from "<U0046><U0066>"
+collating-element <f-F> from "<U0066><U0046>"
+
+collating-symbol  <n-g-cy>
+collating-element <N-G> from "<U004E><U0047>"
+collating-element <n-g> from "<U006E><U0067>"
+collating-element <N-g> from "<U004E><U0067>"
+collating-element <n-G> from "<U006E><U0047>"
+
+collating-symbol  <l-l-cy>
+collating-element <L-L> from "<U004C><U004C>"
+collating-element <l-l> from "<U006C><U006C>"
+collating-element <L-l> from "<U004C><U006C>"
+collating-element <l-L> from "<U006C><U004C>"
+
+collating-symbol  <p-h-cy>
+collating-element <P-H> from "<U0050><U0048>"
+collating-element <p-h> from "<U0070><U0068>"
+collating-element <P-h> from "<U0050><U0068>"
+collating-element <p-H> from "<U0070><U0048>"
+
+collating-symbol  <r-h-cy>
+collating-element <R-H> from "<U0052><U0048>"
+collating-element <r-h> from "<U0072><U0068>"
+collating-element <R-h> from "<U0052><U0068>"
+collating-element <r-H> from "<U0072><U0048>"
+
+collating-symbol  <t-h-cy>
+collating-element <T-H> from "<U0054><U0048>"
+collating-element <t-h> from "<U0074><U0068>"
+collating-element <T-h> from "<U0054><U0068>"
+collating-element <t-H> from "<U0074><U0048>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<c-h-cy>
+<d>
+<d-d-cy>
+reorder-after <f>
+<f-f-cy>
+<g>
+<n-g-cy>
+reorder-after <l>
+<l-l-cy>
+reorder-after <p>
+<p-h-cy>
+reorder-after <r>
+<r-h-cy>
+reorder-after <t>
+<t-h-cy>
+
+reorder-after <U0063>
+<c-h>	<c-h-cy>;<PCT>;<MIN>;IGNORE
+<c-H>	<c-h-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0043>
+<C-H>	<c-h-cy>;<PCT>;<CAP>;IGNORE
+<C-h>	<c-h-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0064>
+<d-d>	<d-d-cy>;<PCT>;<MIN>;IGNORE
+<d-D>	<d-d-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0044>
+<D-D>	<d-d-cy>;<PCT>;<CAP>;IGNORE
+<D-d>	<d-d-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0066>
+<f-f>	<f-f-cy>;<PCT>;<MIN>;IGNORE
+<f-F>	<f-f-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0046>
+<F-F>	<f-f-cy>;<PCT>;<CAP>;IGNORE
+<F-f>	<f-f-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0067>
+<n-g>	<n-g-cy>;<PCT>;<MIN>;IGNORE
+<n-G>	<n-g-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0047>
+<N-G>	<n-g-cy>;<PCT>;<CAP>;IGNORE
+<N-g>	<n-g-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U006C>
+<l-l>	<l-l-cy>;<PCT>;<MIN>;IGNORE
+<l-L>	<l-l-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004C>
+<L-L>	<l-l-cy>;<PCT>;<CAP>;IGNORE
+<L-l>	<l-l-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0070>
+<p-h>	<p-h-cy>;<PCT>;<MIN>;IGNORE
+<p-H>	<p-h-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0050>
+<P-H>	<p-h-cy>;<PCT>;<CAP>;IGNORE
+<P-h>	<p-h-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0072>
+<r-h>	<r-h-cy>;<PCT>;<MIN>;IGNORE
+<r-H>	<r-h-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0052>
+<R-H>	<r-h-cy>;<PCT>;<CAP>;IGNORE
+<R-h>	<r-h-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0074>
+<t-h>	<t-h-cy>;<PCT>;<MIN>;IGNORE
+<t-H>	<t-h-cy>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0054>
+<T-H>	<t-h-cy>;<PCT>;<CAP>;IGNORE
+<T-h>	<t-h-cy>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/da_DK b/ap/build/uClibc/extra/locale/collation/da_DK
new file mode 100644
index 0000000..83ea9da
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/da_DK
@@ -0,0 +1,2075 @@
+collating-element <A-A> from "<U0041><U0041>"
+collating-element <A-a> from "<U0041><U0061>"
+collating-element <a-A> from "<U0061><U0041>"
+collating-element <a-a> from "<U0061><U0061>"
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	<U0020>;<U0020>;IGNORE;IGNORE
+<U002D>	<U0020>;<U002D>;IGNORE;IGNORE
+<U002F>	<U0020>;<U002F>;IGNORE;IGNORE
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U00D0>	<U0044>;<U00D0>;<CAPITAL>;IGNORE
+<U00F0>	<U0044>;<U00D0>;<SMALL>;IGNORE
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0138>	<U0051>;<SPECIAL>;<SMALL>;IGNORE
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+% <U00DC> and <U0170> are treated as <U0059> in Danish
+<U00DC>	<U0059>;<U00DC>;<CAPITAL>;IGNORE
+<U00FC>	<U0059>;<U00DC>;<SMALL>;IGNORE
+<U0170>	<U0059>;<U0170>;<CAPITAL>;IGNORE
+<U0171>	<U0059>;<U0170>;<SMALL>;IGNORE
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+% <U00C6> is a separate letter in Danish
+<U00C6>	<U00C6>;<NONE>;<CAPITAL>;IGNORE
+<U00E6>	<U00C6>;<NONE>;<SMALL>;IGNORE
+<U01FC>	<U00C6>;<ACUTE>;<CAPITAL>;IGNORE
+<U01FD>	<U00C6>;<ACUTE>;<SMALL>;IGNORE
+<U01E2>	<U00C6>;<MACRON>;<CAPITAL>;IGNORE
+<U01E3>	<U00C6>;<MACRON>;<SMALL>;IGNORE
+<U00C4>	<U00C6>;<SPECIAL>;<CAPITAL>;IGNORE
+<U00E4>	<U00C6>;<SPECIAL>;<SMALL>;IGNORE
+% <U00D8> is a separate letter in Danish
+<U00D8>	<U00D8>;<NONE>;<CAPITAL>;IGNORE
+<U00F8>	<U00D8>;<NONE>;<SMALL>;IGNORE
+<U01FE>	<U00D8>;<ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U00D8>;<ACUTE>;<SMALL>;IGNORE
+<U00D6>	<U00D8>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U00D8>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U00D8>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U00D8>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+% <U00C5> is a separate letter in Danish
+<U00C5>	<U00C5>;<NONE>;<CAPITAL>;IGNORE
+<U00E5>	<U00C5>;<NONE>;<SMALL>;IGNORE
+<A-A>	<U00C5>;<A-A>;<CAPITAL>;IGNORE
+<A-a>	<U00C5>;<A-A>;<CAPITAL-SMALL>;IGNORE
+<a-A>	<U00C5>;<A-A>;<SMALL-CAPITAL>;IGNORE
+<a-a>	<U00C5>;<A-A>;<SMALL>;IGNORE
+<U01FA>	<U00C5>;<U01FA>;<CAPITAL>;IGNORE
+<U01FB>	<U00C5>;<U01FA>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/de_AT b/ap/build/uClibc/extra/locale/collation/de_AT
new file mode 100644
index 0000000..5314a57
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/de_AT
@@ -0,0 +1,2 @@
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/de_BE b/ap/build/uClibc/extra/locale/collation/de_BE
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/de_BE
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/de_CH b/ap/build/uClibc/extra/locale/collation/de_CH
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/de_CH
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/de_DE b/ap/build/uClibc/extra/locale/collation/de_DE
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/de_DE
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/de_LU b/ap/build/uClibc/extra/locale/collation/de_LU
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/de_LU
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/el_GR b/ap/build/uClibc/extra/locale/collation/el_GR
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/el_GR
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_AU b/ap/build/uClibc/extra/locale/collation/en_AU
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_AU
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_BW b/ap/build/uClibc/extra/locale/collation/en_BW
new file mode 100644
index 0000000..a7e9285
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_BW
@@ -0,0 +1 @@
+copy "en_ZA"
diff --git a/ap/build/uClibc/extra/locale/collation/en_CA b/ap/build/uClibc/extra/locale/collation/en_CA
new file mode 100644
index 0000000..ab4b690
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_CA
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/en_DK b/ap/build/uClibc/extra/locale/collation/en_DK
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_DK
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_GB b/ap/build/uClibc/extra/locale/collation/en_GB
new file mode 100644
index 0000000..5314a57
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_GB
@@ -0,0 +1,2 @@
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_HK b/ap/build/uClibc/extra/locale/collation/en_HK
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_HK
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_IE b/ap/build/uClibc/extra/locale/collation/en_IE
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_IE
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_IN b/ap/build/uClibc/extra/locale/collation/en_IN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_IN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/en_NZ b/ap/build/uClibc/extra/locale/collation/en_NZ
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_NZ
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_PH b/ap/build/uClibc/extra/locale/collation/en_PH
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_PH
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/en_SG b/ap/build/uClibc/extra/locale/collation/en_SG
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_SG
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/en_US b/ap/build/uClibc/extra/locale/collation/en_US
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_US
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/en_ZA b/ap/build/uClibc/extra/locale/collation/en_ZA
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_ZA
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/en_ZW b/ap/build/uClibc/extra/locale/collation/en_ZW
new file mode 100644
index 0000000..a7e9285
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/en_ZW
@@ -0,0 +1 @@
+copy "en_ZA"
diff --git a/ap/build/uClibc/extra/locale/collation/eo_EO b/ap/build/uClibc/extra/locale/collation/eo_EO
new file mode 100644
index 0000000..c8057f5
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/eo_EO
@@ -0,0 +1,49 @@
+copy "iso14651_t1"
+
+collating-symbol <ccirc>
+collating-symbol <gcirc>
+collating-symbol <hcirc>
+collating-symbol <jcirc>
+collating-symbol <scirc>
+collating-symbol <ubreve>
+
+reorder-after <c>
+<ccirc>
+reorder-after <g>
+<gcirc>
+reorder-after <h>
+<hcirc>
+reorder-after <j>
+<jcirc>
+reorder-after <s>
+<scirc>
+reorder-after <u>
+<ubreve>
+
+reorder-after <U0043>
+<U0108> <ccirc>;<CIR>;<CAP>;IGNORE % Ĉ
+reorder-after <U0063>
+<U0109> <ccirc>;<CIR>;<MIN>;IGNORE % ĉ
+reorder-after <U0047>
+<U011C> <gcirc>;<CIR>;<CAP>;IGNORE % Ĝ
+reorder-after <U0067>
+<U011D> <gcirc>;<CIR>;<MIN>;IGNORE % ĝ
+reorder-after <U0048>
+<U0124> <hcirc>;<CIR>;<CAP>;IGNORE % Ĥ
+reorder-after <U0068>
+<U0125> <hcirc>;<CIR>;<MIN>;IGNORE % ĥ
+reorder-after <U004A>
+<U0134> <jcirc>;<CIR>;<CAP>;IGNORE % Ĵ
+reorder-after <U006A>
+<U0135> <jcirc>;<CIR>;<MIN>;IGNORE % ĵ
+reorder-after <U0053>
+<U015C> <scirc>;<CIR>;<CAP>;IGNORE % Ŝ
+reorder-after <U0073>
+<U015D> <scirc>;<CIR>;<MIN>;IGNORE % ŝ
+reorder-after <U0055>
+<U016C> <ubreve>;<BRE>;<CAP>;IGNORE % Ŭ
+reorder-after <U0075>
+<U016D> <ubreve>;<BRE>;<MIN>;IGNORE % ŭ
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/es_AR b/ap/build/uClibc/extra/locale/collation/es_AR
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_AR
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_BO b/ap/build/uClibc/extra/locale/collation/es_BO
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_BO
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_CL b/ap/build/uClibc/extra/locale/collation/es_CL
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_CL
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_CO b/ap/build/uClibc/extra/locale/collation/es_CO
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_CO
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_CR b/ap/build/uClibc/extra/locale/collation/es_CR
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_CR
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_DO b/ap/build/uClibc/extra/locale/collation/es_DO
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_DO
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_EC b/ap/build/uClibc/extra/locale/collation/es_EC
new file mode 100644
index 0000000..a0ea9ad
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_EC
@@ -0,0 +1 @@
+copy "es_US"
diff --git a/ap/build/uClibc/extra/locale/collation/es_ES b/ap/build/uClibc/extra/locale/collation/es_ES
new file mode 100644
index 0000000..2c0a033
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_ES
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U00D1>	<U00D1>;<NONE>;<CAPITAL>;IGNORE
+<U00F1>	<U00D1>;<NONE>;<SMALL>;IGNORE
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/es_GT b/ap/build/uClibc/extra/locale/collation/es_GT
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_GT
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_HN b/ap/build/uClibc/extra/locale/collation/es_HN
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_HN
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_MX b/ap/build/uClibc/extra/locale/collation/es_MX
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_MX
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_NI b/ap/build/uClibc/extra/locale/collation/es_NI
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_NI
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_PA b/ap/build/uClibc/extra/locale/collation/es_PA
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_PA
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_PE b/ap/build/uClibc/extra/locale/collation/es_PE
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_PE
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_PR b/ap/build/uClibc/extra/locale/collation/es_PR
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_PR
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_PY b/ap/build/uClibc/extra/locale/collation/es_PY
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_PY
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_SV b/ap/build/uClibc/extra/locale/collation/es_SV
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_SV
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_US b/ap/build/uClibc/extra/locale/collation/es_US
new file mode 100644
index 0000000..56a4f36
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_US
@@ -0,0 +1,2077 @@
+collating-element <C-H> from "<U0043><U0048>"
+collating-element <c-h> from "<U0063><U0068>"
+collating-element <C-h> from "<U0043><U0068>"
+collating-element <c-H> from "<U0063><U0048>"
+collating-element <L-L> from "<U004C><U004C>"
+collating-element <l-l> from "<U006C><U006C>"
+collating-element <L-l> from "<U004C><U006C>"
+collating-element <l-L> from "<U006C><U004C>"
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<C-H>	<C-H>;<NONE>;<CAPITAL>;IGNORE
+<C-h>	<C-H>;<NONE>;<CAPITAL-SMALL>;IGNORE
+<c-H>	<C-H>;<NONE>;<SMALL-CAPITAL>;IGNORE
+<c-h>	<C-H>;<NONE>;<SMALL>;IGNORE
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<L-L>	<L-L>;<NONE>;<CAPITAL>;IGNORE
+<L-l>	<L-L>;<NONE>;<CAPITAL-SMALL>;IGNORE
+<l-L>	<L-L>;<NONE>;<SMALL-CAPITAL>;IGNORE
+<l-l>	<L-L>;<NONE>;<SMALL>;IGNORE
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U00D1>	<U00D1>;<NONE>;<CAPITAL>;IGNORE
+<U00F1>	<U00D1>;<NONE>;<SMALL>;IGNORE
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/es_UY b/ap/build/uClibc/extra/locale/collation/es_UY
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_UY
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/es_VE b/ap/build/uClibc/extra/locale/collation/es_VE
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/es_VE
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/et_EE b/ap/build/uClibc/extra/locale/collation/et_EE
new file mode 100644
index 0000000..88c7aae
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/et_EE
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U0160> <U0160>;<CARON>;<CAPITAL>
+<U0161> <U0160>;<CARON>;<SMALL>
+<U005A>  <U005A>;<NONE>;<CAPITAL>
+<U007A>  <U005A>;<NONE>;<SMALL>
+<U0179> <U005A>;<ACUTE>;<CAPITAL>
+<U017A> <U005A>;<ACUTE>;<SMALL>
+<U017B> <U005A>;<DOT>;<CAPITAL>
+<U017C> <U005A>;<DOT>;<SMALL>
+<U017D> <U005A>;<CARON>;<CAPITAL>
+<U017E> <U005A>;<CARON>;<SMALL>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0056>;<U0057>;<NONE>;<CAPITAL>
+<U0077>	<U0056>;<U0057>;<NONE>;<SMALL>
+<U1E82>	<U0056>;<U0057>;<ACUTE>;<CAPITAL>
+<U1E83>	<U0056>;<U0057>;<ACUTE>;<SMALL>
+<U1E80>	<U0056>;<U0057>;<GRAVE>;<CAPITAL>
+<U1E81>	<U0056>;<U0057>;<GRAVE>;<SMALL>
+<U0174>	<U0056>;<U0057>;<CIRCUMFLEX>;<CAPITAL>
+<U0175>	<U0056>;<U0057>;<CIRCUMFLEX>;<SMALL>
+<U1E88>	<U0056>;<U0057>;<MACRON>;<CAPITAL>
+<U1E89>	<U0056>;<U0057>;<MACRON>;<SMALL>
+<U1E86>	<U0056>;<U0057>;<DOT>;<CAPITAL>
+<U1E87>	<U0056>;<U0057>;<DOT>;<SMALL>
+<U1E84>	<U0056>;<U0057>;<DIAERESIS>;<CAPITAL>
+<U1E85>	<U0056>;<U0057>;<DIAERESIS>;<SMALL>
+<U00D5> <U00D5>;<TILDE>;<CAPITAL>
+<U00F5> <U00D5>;<TILDE>;<SMALL>
+<U00C4> <U00C4>;<DIAERESIS>;<CAPITAL>
+<U00E4> <U00C4>;<DIAERESIS>;<SMALL>
+<U00D6> <U00D6>;<DIAERESIS>;<CAPITAL>
+<U00F6> <U00D6>;<DIAERESIS>;<SMALL>
+<U00DC> <U00DC>;<DIAERESIS>;<CAPITAL>
+<U00FC> <U00DC>;<DIAERESIS>;<SMALL>
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/eu_ES b/ap/build/uClibc/extra/locale/collation/eu_ES
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/eu_ES
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/fa_IR b/ap/build/uClibc/extra/locale/collation/fa_IR
new file mode 100644
index 0000000..a171591
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fa_IR
@@ -0,0 +1,185 @@
+copy "iso14651_t1"
+
+% The Persian alphabet order is: ALEF WITH MADDA ABOVE, ALEF, HAMZA (all
+% kinds), BEH, PEH, TEH, JEEM, TCHEH, HAH, KHAH, DAL, THAL, REH, ZAIN, JEH,
+% SEEN, SHEEN, SAD, DAD, TAH, ZAH, AIN, GHAIN, FEH, QAF, KAF, GAF, LAM,
+% MEEM, NOON, WAW, HEH, YEH.
+% The various kind of HAMZA are sorted as ALEF WITH HAMZA ABOVE, ALEF WITH
+% HAMZA BELOW, WAW WITH HAMZA ABOVE, YEH WITH HAMZA ABOVE.
+
+collating-symbol <AHY> % accent hamza over yeh
+collating-symbol <ADL> % dotless
+collating-symbol <ADO> % with dots over
+collating-symbol <AWO> % with wasla over
+
+collating-symbol <alefmadda>
+collating-symbol <yeh>
+
+% Alternate representations displayed the same
+collating-symbol <ALT1> 
+collating-symbol <ALT2>
+
+collating-element <Alef-Madda> from "<U0627><U0653>"
+collating-element <Alef-HamzaBelow> from "<U0627><U0655>"
+collating-element <Waw-Hamza> from "<U0648><U0654>"
+collating-element <AlefMaksura-Hamza> from "<U0649><U0654>"
+collating-element <Yeh-Hamza> from "<U064A><U0654>"
+collating-element <FarsiYeh-Hamza> from "<U06CC><U0654>"
+
+reorder-after <BAS>
+<AHA>
+<AHS>
+<AWO>
+<AHW>
+<AHY>
+<ADL>
+<ADO>
+<AYE>
+<YBA>
+
+reorder-after <LIG>
+<ALT1>
+<ALT2>
+
+reorder-after <th>
+<alefmadda>
+<alef>
+<hamza>
+
+reorder-after <waw>
+<heh>
+<yeh>
+
+% Persian uses fatha, kasra, damma, fathatan, kasratan, dammatan order.
+
+reorder-after <U066D>
+<U064E> IGNORE;IGNORE;IGNORE;<U064E> %<fatha_no>
+<UFE76> IGNORE;IGNORE;IGNORE;<UFE76> %<fatha_is>
+<UFE77> IGNORE;IGNORE;IGNORE;<UFE77> %<fatha_me>
+<U0650> IGNORE;IGNORE;IGNORE;<U0650> %<kasra_no>
+<UFE7A> IGNORE;IGNORE;IGNORE;<UFE7A> %<kasra_is>
+<UFE7B> IGNORE;IGNORE;IGNORE;<UFE7B> %<kasra_me>
+<U064F> IGNORE;IGNORE;IGNORE;<U064F> %<damma_no>
+<UFE78> IGNORE;IGNORE;IGNORE;<UFE78> %<damma_is>
+<UFE79> IGNORE;IGNORE;IGNORE;<UFE79> %<damma_me>
+<U064B> IGNORE;IGNORE;IGNORE;<U064B> %<fathatan_no>
+<UFE70> IGNORE;IGNORE;IGNORE;<UFE70> %<fathatan_is>
+<UFE71> IGNORE;IGNORE;IGNORE;<UFE71> %<fathatan_me>
+<U064D> IGNORE;IGNORE;IGNORE;<U064D> %<kasratan_no>
+<UFE74> IGNORE;IGNORE;IGNORE;<UFE74> %<kasratan_is>
+<U064C> IGNORE;IGNORE;IGNORE;<U064C> %<dammatan_no>
+<UFE72> IGNORE;IGNORE;IGNORE;<UFE72> %<dammatan_is>
+
+reorder-after <UFE7F>
+<U0653> IGNORE;IGNORE;IGNORE;<U0653> %<madda_no>   
+<U0654> IGNORE;IGNORE;IGNORE;<U0654> %<hamzaabove_no>
+<U0655> IGNORE;IGNORE;IGNORE;<U0655> %<hamzabelow_no>
+<U0670> IGNORE;IGNORE;IGNORE;<U0670> %<supalef_no>
+
+% Persian digits are sorted before Arabic ones: they are the basic forms.
+reorder-after <U0660>
+<U06F0> <0>;<BAS>;<MIN>;IGNORE
+<U0660> <0>;<PCL>;<MIN>;IGNORE
+<U06F1> <1>;<BAS>;<MIN>;IGNORE
+<U0661> <1>;<PCL>;<MIN>;IGNORE
+<U06F2> <2>;<BAS>;<MIN>;IGNORE
+<U0662> <2>;<PCL>;<MIN>;IGNORE
+<U06F3> <3>;<BAS>;<MIN>;IGNORE
+<U0663> <3>;<PCL>;<MIN>;IGNORE
+<U06F4> <4>;<BAS>;<MIN>;IGNORE
+<U0664> <4>;<PCL>;<MIN>;IGNORE
+<U06F5> <5>;<BAS>;<MIN>;IGNORE
+<U0665> <5>;<PCL>;<MIN>;IGNORE
+<U06F6> <6>;<BAS>;<MIN>;IGNORE
+<U0666> <6>;<PCL>;<MIN>;IGNORE
+<U06F7> <7>;<BAS>;<MIN>;IGNORE
+<U0667> <7>;<PCL>;<MIN>;IGNORE
+<U06F8> <8>;<BAS>;<MIN>;IGNORE
+<U0668> <8>;<PCL>;<MIN>;IGNORE
+<U06F9> <9>;<BAS>;<MIN>;IGNORE
+<U0669> <9>;<PCL>;<MIN>;IGNORE
+
+% And then the letters:
+<U0622> <alefmadda>;<BAS>;<MIN>;IGNORE % Alef With Madda Above
+<Alef-Madda> <alefmadda>;<BAS>;<MIN>;IGNORE
+<U0627> <alef>;<BAS>;<MIN>;IGNORE       % Alef
+<U0671> <alef>;<AWO>;<MIN>;IGNORE       % Alef Wasla
+<U0621> <hamza>;<BAS>;<MIN>;IGNORE      % Hamza
+<U0623> <hamza>;<AHA>;<MIN>;IGNORE      % Alef With Hamza Above
+<Alef-Hamza> <hamza>;<AHA>;<MIN>;IGNORE
+<U0625> <hamza>;<AHS>;<MIN>;IGNORE      % Alef With Hamza Below
+<Alef-HamzaBelow> <hamza>;<AHS>;<MIN>;IGNORE
+<U0624> <hamza>;<AHW>;<MIN>;IGNORE      % Waw With Hamza Above
+<Waw-Hamza> <hamza>;<AHW>;<MIN>;IGNORE
+<U0626> <hamza>;<AHY>;<MIN>;IGNORE      % Yeh With Hamza Above
+<FarsiYeh-Hamza> <hamza>;<AHY>;<ALT1>;IGNORE
+<AlefMaksura-Hamza> <hamza>;<AHY>;<ALT2>;IGNORE
+<Yeh-Hamza> <hamza>;<AHY>;<MIN>;IGNORE
+reorder-after <U0642>
+<U06A9> <kaf>;<BAS>;<MIN>;IGNORE        % Keheh
+<U0643> <kaf>;<PCL>;<MIN>;IGNORE        % Kaf
+reorder-after <U0648>
+<U0647> <heh>;<BAS>;<MIN>;IGNORE        % Heh
+<U0629> <heh>;<ADO>;<MIN>;IGNORE        % Teh Marbuta
+<U06C0> <heh>;<AHA>;<MIN>;IGNORE        % Heh With Yeh Above
+<U06CC> <yeh>;<BAS>;<MIN>;IGNORE        % Farsi Yeh
+<U0649> <yeh>;<ADL>;<MIN>;IGNORE        % Alef Maksura
+<U064A> <yeh>;<AYE>;<MIN>;IGNORE        % Yeh
+
+% Finally the letters in Presentation Form:
+reorder-after <UFE80>
+<UFE81> <alefmadda>;<BAS>;<AIS>;IGNORE
+<UFE82> <alefmadda>;<BAS>;<AFI>;IGNORE
+<UFE8D> <alef>;<BAS>;<AIS>;IGNORE
+<UFE8E> <alef>;<BAS>;<AFI>;IGNORE
+<UFB50> <alef>;<AWO>;<AIS>;IGNORE
+<UFB51> <alef>;<AWO>;<AFI>;IGNORE
+<UFE80> <hamza>;<BAS>;<AIS>;IGNORE
+<UFE83> <hamza>;<AHA>;<AIS>;IGNORE
+<UFE84> <hamza>;<AHA>;<AFI>;IGNORE
+<UFE87> <hamza>;<AHS>;<AIS>;IGNORE
+<UFE88> <hamza>;<AHS>;<AFI>;IGNORE
+<UFE85> <hamza>;<AHW>;<AIS>;IGNORE
+<UFE86> <hamza>;<AHW>;<AFI>;IGNORE
+<U0689> <hamza>;<AHY>;<AIS>;IGNORE
+<U068A> <hamza>;<AHY>;<AFI>;IGNORE
+reorder-after <UFEAE>
+<UFDFC> "<reh><yeh><alef><lam>";"<LIG><LIG><LIG><LIG>";"<AII><AME><AFI><AIS>";IGNORE % Rial Sign
+reorder-after <UFED8>
+<UFB8E> <kaf>;<BAS>;<AIS>;IGNORE
+<UFB8F> <kaf>;<BAS>;<AFI>;IGNORE
+<UFB90> <kaf>;<BAS>;<AII>;IGNORE
+<UFB91> <kaf>;<BAS>;<AME>;IGNORE
+<UFED9> <kaf>;<PCL>;<AIS>;IGNORE
+<UFEDA> <kaf>;<PCL>;<AFI>;IGNORE
+<UFEDB> <kaf>;<PCL>;<AII>;IGNORE
+<UFEDC> <kaf>;<PCL>;<AME>;IGNORE
+reorder-after <UFEEE>
+<UFEE9> <heh>;<BAS>;<AIS>;IGNORE
+<UFEEA> <heh>;<BAS>;<AFI>;IGNORE
+<UFEEB> <heh>;<BAS>;<AII>;IGNORE
+<UFEEC> <heh>;<BAS>;<AME>;IGNORE
+<UFE93> <heh>;<ADO>;<AIS>;IGNORE
+<UFE94> <heh>;<ADO>;<AFI>;IGNORE
+<UFBA4> <heh>;<AHA>;<AIS>;IGNORE
+<UFBA5> <heh>;<AHA>;<AFI>;IGNORE
+<UFBFC> <yeh>;<BAS>;<AIS>;IGNORE
+<UFBFD> <yeh>;<BAS>;<AFI>;IGNORE
+<UFBFE> <yeh>;<BAS>;<AII>;IGNORE
+<UFBFF> <yeh>;<BAS>;<AME>;IGNORE
+<UFEEF> <yeh>;<ADL>;<AIS>;IGNORE
+<UFEF0> <yeh>;<ADL>;<AFI>;IGNORE
+<UFEF1> <yeh>;<AYE>;<AIS>;IGNORE
+<UFEF2> <yeh>;<AYE>;<AFI>;IGNORE
+<UFEF3> <yeh>;<AYE>;<AII>;IGNORE
+<UFEF4> <yeh>;<AYE>;<AME>;IGNORE
+<UFEF5> "<lam><alefmadda>";"<BAS><BAS>";"<AIS><AFI>";IGNORE
+<UFEF6> "<lam><alefmadda>";"<BAS><BAS>";"<AFI><AFI>";IGNORE
+<UFEF7> "<lam><hamza>";"<BAS><AHA>";"<AIS><AFI>";IGNORE
+<UFEF8> "<lam><hamza>";"<BAS><AHA>";"<AFI><AFI>";IGNORE
+<UFEF9> "<lam><hamza>";"<BAS><AHS>";"<AIS><AFI>";IGNORE
+<UFEFA> "<lam><hamza>";"<BAS><AHS>";"<AFI><AFI>";IGNORE
+<UFEFB> "<lam><alef>";"<BAS><BAS>";"<AIS><AFI>";IGNORE
+<UFEFC> "<lam><alef>";"<BAS><BAS>";"<AFI><AFI>";IGNORE
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/fi_FI b/ap/build/uClibc/extra/locale/collation/fi_FI
new file mode 100644
index 0000000..f510998
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fi_FI
@@ -0,0 +1,2062 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+% <SMALL> before <CAPITAL> letters
+<SMALL>
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<v8>
+<U0056>	<U0056>;<U0056>;<NONE>;<CAPITAL>
+<U0076>	<U0056>;<U0056>;<NONE>;<SMALL>
+<U1E7C>	<U0056>;<U0056>;<TILDE>;<CAPITAL>
+<U1E7D>	<U0056>;<U0056>;<TILDE>;<SMALL>
+<U1E7E>	<U0056>;<U0056>;<DOT-BELOW>;<CAPITAL>
+<U1E7F>	<U0056>;<U0056>;<DOT-BELOW>;<SMALL>
+<U0057>	<U0057>;<U0057>;<NONE>;<CAPITAL>
+<U0077>	<U0057>;<U0057>;<NONE>;<SMALL>
+<U1E82>	<U0057>;<U0057>;<ACUTE>;<CAPITAL>
+<U1E83>	<U0057>;<U0057>;<ACUTE>;<SMALL>
+<U1E80>	<U0057>;<U0057>;<GRAVE>;<CAPITAL>
+<U1E81>	<U0057>;<U0057>;<GRAVE>;<SMALL>
+<U0174>	<U0057>;<U0057>;<CIRCUMFLEX>;<CAPITAL>
+<U0175>	<U0057>;<U0057>;<CIRCUMFLEX>;<SMALL>
+<U1E84>	<U0057>;<U0057>;<DIAERESIS>;<CAPITAL>
+<U1E85>	<U0057>;<U0057>;<DIAERESIS>;<SMALL>
+<U1E86>	<U0057>;<U0057>;<DOT>;<CAPITAL>
+<U1E87>	<U0057>;<U0057>;<DOT>;<SMALL>
+<U1E88>	<U0057>;<U0057>;<DOT-BELOW>;<CAPITAL>
+<U1E89>	<U0057>;<U0057>;<DOT-BELOW>;<SMALL>
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U00DC>	<U0059>;<SPECIAL>;<CAPITAL>;IGNORE
+<U00FC>	<U0059>;<SPECIAL>;<SMALL>;IGNORE
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U00C5>	<U00C5>;<NONE>;<CAPITAL>;IGNORE
+<U00E5>	<U00C5>;<NONE>;<SMALL>;IGNORE
+<U01FA>	<U00C5>;<ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U00C5>;<ACUTE>;<SMALL>;IGNORE
+<U00C4>	<U00C4>;<NONE>;<CAPITAL>;IGNORE
+<U00E4>	<U00C4>;<NONE>;<SMALL>;IGNORE
+<U00C6>	<U00C4>;<U00C6>;<CAPITAL>;IGNORE
+<U00E6>	<U00C4>;<U00C6>;<SMALL>;IGNORE
+<U01FC>	<U00C4>;<U01FC>;<CAPITAL>;IGNORE
+<U01FD>	<U00C4>;<U01FC>;<SMALL>;IGNORE
+<U01E2>	<U00C4>;<U01E2>;<CAPITAL>;IGNORE
+<U01E3>	<U00C4>;<U01E2>;<SMALL>;IGNORE
+<U00D6>	<U00D6>;<NONE>;<CAPITAL>;IGNORE
+<U00F6>	<U00D6>;<NONE>;<SMALL>;IGNORE
+<U00D8>	<U00D6>;<U00D8>;<CAPITAL>;IGNORE
+<U00F8>	<U00D6>;<U00D8>;<SMALL>;IGNORE
+<U01FE>	<U00D6>;<U01FE>;<CAPITAL>;IGNORE
+<U01FF>	<U00D6>;<U01FE>;<SMALL>;IGNORE
+<U00D5>	<U00D6>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U00D6>;<TILDE>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/fo_FO b/ap/build/uClibc/extra/locale/collation/fo_FO
new file mode 100644
index 0000000..b7628e7
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fo_FO
@@ -0,0 +1 @@
+copy "da_DK"
diff --git a/ap/build/uClibc/extra/locale/collation/fr_BE b/ap/build/uClibc/extra/locale/collation/fr_BE
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fr_BE
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/fr_CA b/ap/build/uClibc/extra/locale/collation/fr_CA
new file mode 100644
index 0000000..c911095
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fr_CA
@@ -0,0 +1 @@
+copy "en_CA"
diff --git a/ap/build/uClibc/extra/locale/collation/fr_CH b/ap/build/uClibc/extra/locale/collation/fr_CH
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fr_CH
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/fr_FR b/ap/build/uClibc/extra/locale/collation/fr_FR
new file mode 100644
index 0000000..5314a57
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fr_FR
@@ -0,0 +1,2 @@
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/fr_LU b/ap/build/uClibc/extra/locale/collation/fr_LU
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/fr_LU
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/ga_IE b/ap/build/uClibc/extra/locale/collation/ga_IE
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ga_IE
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/gd_GB b/ap/build/uClibc/extra/locale/collation/gd_GB
new file mode 100644
index 0000000..d66184e
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/gd_GB
@@ -0,0 +1 @@
+copy "en_DK"
diff --git a/ap/build/uClibc/extra/locale/collation/gl_ES b/ap/build/uClibc/extra/locale/collation/gl_ES
new file mode 100644
index 0000000..09fd11b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/gl_ES
@@ -0,0 +1 @@
+copy "es_ES"
diff --git a/ap/build/uClibc/extra/locale/collation/gv_GB b/ap/build/uClibc/extra/locale/collation/gv_GB
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/gv_GB
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/he_IL b/ap/build/uClibc/extra/locale/collation/he_IL
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/he_IL
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/hi_IN b/ap/build/uClibc/extra/locale/collation/hi_IN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/hi_IN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/hr_HR b/ap/build/uClibc/extra/locale/collation/hr_HR
new file mode 100644
index 0000000..0929ea7
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/hr_HR
@@ -0,0 +1,2085 @@
+collating-element <D-Z<> from "<U0044><U017D>"
+collating-element <D-z<> from "<U0044><U017E>"
+collating-element <d-Z<> from "<U0064><U017D>"
+collating-element <d-z<> from "<U0064><U017E>"
+collating-element <L-J> from "<U004C><U004A>"
+collating-element <L-j> from "<U004C><U006A>"
+collating-element <l-J> from "<U006C><U004A>"
+collating-element <l-j> from "<U006C><U006A>"
+collating-element <N-J> from "<U004E><U004A>"
+collating-element <N-j> from "<U004E><U006A>"
+collating-element <n-J> from "<U006E><U004A>"
+collating-element <n-j> from "<U006E><U006A>"
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U010C>	<U010C>;<NONE>;<CAPITAL>;IGNORE
+<U010D>	<U010C>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0106>;<NONE>;<CAPITAL>;IGNORE
+<U0107>	<U0106>;<NONE>;<SMALL>;IGNORE
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<D-Z<>	<D-Z<>;<NONE>;<CAPITAL>;IGNORE
+<D-z<>	<D-Z<>;<NONE>;<CAPITAL-SMALL>;IGNORE
+<d-Z<>	<D-Z<>;<NONE>;<SMALL-CAPITAL>;IGNORE
+<d-z<>	<D-Z<>;<NONE>;<SMALL>;IGNORE
+<U0110>	<U0110>;<NONE>;<CAPITAL>;IGNORE
+<U0111>	<U0110>;<NONE>;<SMALL>;IGNORE
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<L-J>	<L-J>;<NONE>;<CAPITAL>;IGNORE
+<L-j>	<L-J>;<NONE>;<CAPITAL-SMALL>;IGNORE
+<l-J>	<L-J>;<NONE>;<SMALL-CAPITAL>;IGNORE
+<l-j>	<L-J>;<NONE>;<SMALL>;IGNORE
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<N-J>	<N-J>;<NONE>;<CAPITAL>;IGNORE
+<N-j>	<N-J>;<NONE>;<CAPITAL-SMALL>;IGNORE
+<n-J>	<N-J>;<NONE>;<SMALL-CAPITAL>;IGNORE
+<n-j>	<N-J>;<NONE>;<SMALL>;IGNORE
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U0160>	<U0160>;<NONE>;<CAPITAL>;IGNORE
+<U0161>	<U0160>;<NONE>;<SMALL>;IGNORE
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U017D>	<U017D>;<NONE>;<CAPITAL>;IGNORE
+<U017E>	<U017D>;<NONE>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/hu_HU b/ap/build/uClibc/extra/locale/collation/hu_HU
new file mode 100644
index 0000000..e87bb76
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/hu_HU
@@ -0,0 +1,357 @@
+copy "iso14651_t1"
+
+%% a b c cs d dz dzs e f g gy h i j k l ly m n ny o o: p q
+%% r s sz t ty u u: v w x y z zs
+%%
+%% a' e' i' o' u' are sorted as if they were unaccented
+%% o" and u" are sorted as if they were o: and u:
+
+collating-symbol  <odouble>
+collating-symbol  <udouble>
+
+collating-symbol  <cs>
+collating-element <C-S> from "<U0043><U0053>"
+collating-element <C-s> from "<U0043><U0073>"
+collating-element <c-S> from "<U0063><U0053>"
+collating-element <c-s> from "<U0063><U0073>"
+collating-element <C-C-S> from "<U0043><U0043><U0053>"
+collating-element <C-C-s> from "<U0043><U0043><U0073>"
+collating-element <C-c-S> from "<U0043><U0063><U0053>"
+collating-element <C-c-s> from "<U0043><U0063><U0073>"
+collating-element <c-C-S> from "<U0063><U0043><U0053>"
+collating-element <c-C-s> from "<U0063><U0043><U0073>"
+collating-element <c-c-S> from "<U0063><U0063><U0053>"
+collating-element <c-c-s> from "<U0063><U0063><U0073>"
+
+collating-symbol  <dz>
+collating-element <D-Z> from "<U0044><U005A>"
+collating-element <D-z> from "<U0044><U007A>"
+collating-element <d-Z> from "<U0064><U005A>"
+collating-element <d-z> from "<U0064><U007A>"
+collating-element <D-D-Z> from "<U0044><U0044><U005A>"
+collating-element <D-D-z> from "<U0044><U0044><U007A>"
+collating-element <D-d-Z> from "<U0044><U0064><U005A>"
+collating-element <D-d-z> from "<U0044><U0064><U007A>"
+collating-element <d-D-Z> from "<U0064><U0044><U005A>"
+collating-element <d-D-z> from "<U0064><U0044><U007A>"
+collating-element <d-d-Z> from "<U0064><U0064><U005A>"
+collating-element <d-d-z> from "<U0064><U0064><U007A>"
+
+collating-symbol  <dzs>
+collating-element <D-Z-S> from "<U0044><U005A><U0053>"
+collating-element <D-Z-s> from "<U0044><U005A><U0073>"
+collating-element <D-z-S> from "<U0044><U007A><U0053>"
+collating-element <D-z-s> from "<U0044><U007A><U0073>"
+collating-element <d-Z-S> from "<U0064><U005A><U0053>"
+collating-element <d-Z-s> from "<U0064><U005A><U0073>"
+collating-element <d-z-S> from "<U0064><U007A><U0053>"
+collating-element <d-z-s> from "<U0064><U007A><U0073>"
+collating-element <D-D-Z-S> from "<U0044><U0044><U005A><U0053>"
+collating-element <D-D-Z-s> from "<U0044><U0044><U005A><U0073>"
+collating-element <D-D-z-S> from "<U0044><U0044><U007A><U0053>"
+collating-element <D-D-z-s> from "<U0044><U0044><U007A><U0073>"
+collating-element <D-d-Z-S> from "<U0044><U0064><U005A><U0053>"
+collating-element <D-d-Z-s> from "<U0044><U0064><U005A><U0073>"
+collating-element <D-d-z-S> from "<U0044><U0064><U007A><U0053>"
+collating-element <D-d-z-s> from "<U0044><U0064><U007A><U0073>"
+collating-element <d-D-Z-S> from "<U0064><U0044><U005A><U0053>"
+collating-element <d-D-Z-s> from "<U0064><U0044><U005A><U0073>"
+collating-element <d-D-z-S> from "<U0064><U0044><U007A><U0053>"
+collating-element <d-D-z-s> from "<U0064><U0044><U007A><U0073>"
+collating-element <d-d-Z-S> from "<U0064><U0064><U005A><U0053>"
+collating-element <d-d-Z-s> from "<U0064><U0064><U005A><U0073>"
+collating-element <d-d-z-S> from "<U0064><U0064><U007A><U0053>"
+collating-element <d-d-z-s> from "<U0064><U0064><U007A><U0073>"
+
+collating-symbol  <gy>
+collating-element <G-Y> from "<U0047><U0059>"
+collating-element <G-y> from "<U0047><U0079>"
+collating-element <g-Y> from "<U0067><U0059>"
+collating-element <g-y> from "<U0067><U0079>"
+collating-element <G-G-Y> from "<U0047><U0047><U0059>"
+collating-element <G-G-y> from "<U0047><U0047><U0079>"
+collating-element <G-g-Y> from "<U0047><U0067><U0059>"
+collating-element <G-g-y> from "<U0047><U0067><U0079>"
+collating-element <g-G-Y> from "<U0067><U0047><U0059>"
+collating-element <g-G-y> from "<U0067><U0047><U0079>"
+collating-element <g-g-Y> from "<U0067><U0067><U0059>"
+collating-element <g-g-y> from "<U0067><U0067><U0079>"
+
+collating-symbol  <ly>
+collating-element <L-Y> from "<U004C><U0059>"
+collating-element <L-y> from "<U004C><U0079>"
+collating-element <l-Y> from "<U006C><U0059>"
+collating-element <l-y> from "<U006C><U0079>"
+collating-element <L-L-Y> from "<U004C><U004C><U0059>"
+collating-element <L-L-y> from "<U004C><U004C><U0079>"
+collating-element <L-l-Y> from "<U004C><U006C><U0059>"
+collating-element <L-l-y> from "<U004C><U006C><U0079>"
+collating-element <l-L-Y> from "<U006C><U004C><U0059>"
+collating-element <l-L-y> from "<U006C><U004C><U0079>"
+collating-element <l-l-Y> from "<U006C><U006C><U0059>"
+collating-element <l-l-y> from "<U006C><U006C><U0079>"
+
+collating-symbol  <ny>
+collating-element <N-Y> from "<U004E><U0059>"
+collating-element <N-y> from "<U004E><U0079>"
+collating-element <n-Y> from "<U006E><U0059>"
+collating-element <n-y> from "<U006E><U0079>"
+collating-element <N-N-Y> from "<U004E><U004E><U0059>"
+collating-element <N-N-y> from "<U004E><U004E><U0079>"
+collating-element <N-n-Y> from "<U004E><U006E><U0059>"
+collating-element <N-n-y> from "<U004E><U006E><U0079>"
+collating-element <n-N-Y> from "<U006E><U004E><U0059>"
+collating-element <n-N-y> from "<U006E><U004E><U0079>"
+collating-element <n-n-Y> from "<U006E><U006E><U0059>"
+collating-element <n-n-y> from "<U006E><U006E><U0079>"
+
+collating-symbol  <sz>
+collating-element <S-Z> from "<U0053><U005A>"
+collating-element <S-z> from "<U0053><U007A>"
+collating-element <s-Z> from "<U0073><U005A>"
+collating-element <s-z> from "<U0073><U007A>"
+collating-element <S-S-Z> from "<U0053><U0053><U005A>"
+collating-element <S-S-z> from "<U0053><U0053><U007A>"
+collating-element <S-s-Z> from "<U0053><U0073><U005A>"
+collating-element <S-s-z> from "<U0053><U0073><U007A>"
+collating-element <s-S-Z> from "<U0073><U0053><U005A>"
+collating-element <s-S-z> from "<U0073><U0053><U007A>"
+collating-element <s-s-Z> from "<U0073><U0073><U005A>"
+collating-element <s-s-z> from "<U0073><U0073><U007A>"
+
+collating-symbol  <ty>
+collating-element <T-Y> from "<U0054><U0059>"
+collating-element <T-y> from "<U0054><U0079>"
+collating-element <t-Y> from "<U0074><U0059>"
+collating-element <t-y> from "<U0074><U0079>"
+collating-element <T-T-Y> from "<U0054><U0054><U0059>"
+collating-element <T-T-y> from "<U0054><U0054><U0079>"
+collating-element <T-t-Y> from "<U0054><U0074><U0059>"
+collating-element <T-t-y> from "<U0054><U0074><U0079>"
+collating-element <t-T-Y> from "<U0074><U0054><U0059>"
+collating-element <t-T-y> from "<U0074><U0054><U0079>"
+collating-element <t-t-Y> from "<U0074><U0074><U0059>"
+collating-element <t-t-y> from "<U0074><U0074><U0079>"
+
+collating-symbol  <zs>
+collating-element <Z-S> from "<U005A><U0053>"
+collating-element <Z-s> from "<U005A><U0073>"
+collating-element <z-S> from "<U007A><U0053>"
+collating-element <z-s> from "<U007A><U0073>"
+collating-element <Z-Z-S> from "<U005A><U005A><U0053>"
+collating-element <Z-Z-s> from "<U005A><U005A><U0073>"
+collating-element <Z-z-S> from "<U005A><U007A><U0053>"
+collating-element <Z-z-s> from "<U005A><U007A><U0073>"
+collating-element <z-Z-S> from "<U007A><U005A><U0053>"
+collating-element <z-Z-s> from "<U007A><U005A><U0073>"
+collating-element <z-z-S> from "<U007A><U007A><U0053>"
+collating-element <z-z-s> from "<U007A><U007A><U0073>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+collating-symbol <CAP-CAP-CAP>
+collating-symbol <CAP-CAP-MIN>
+collating-symbol <CAP-MIN-CAP>
+collating-symbol <CAP-MIN-MIN>
+collating-symbol <MIN-CAP-CAP>
+collating-symbol <MIN-CAP-MIN>
+collating-symbol <MIN-MIN-CAP>
+collating-symbol <MIN-MIN-MIN>
+
+reorder-after <MIN>
+<MIN-CAP>
+<MIN-MIN-MIN>
+<MIN-MIN-CAP>
+<MIN-CAP-MIN>
+<MIN-CAP-CAP>
+
+reorder-after <CAP>
+<CAP-MIN>
+<CAP-MIN-MIN>
+<CAP-MIN-CAP>
+<CAP-CAP-MIN>
+<CAP-CAP-CAP>
+
+reorder-after <c>
+<cs>
+reorder-after <d>
+<dz>
+<dzs>
+reorder-after <g>
+<gy>
+reorder-after <l>
+<ly>
+reorder-after <n>
+<ny>
+reorder-after <o>
+<odouble>
+reorder-after <s>
+<sz>
+reorder-after <t>
+<ty>
+reorder-after <u>
+<udouble>
+reorder-after <z>
+<zs>
+
+reorder-after <o>
+<U00F6>	<odouble>;<REU>;<MIN>;IGNORE
+<U0151>	<odouble>;<DAC>;<MIN>;IGNORE
+<U00D6>	<odouble>;<REU>;<CAP>;IGNORE
+<U0150>	<odouble>;<DAC>;<CAP>;IGNORE
+
+reorder-after <u>
+<U00FC>	<udouble>;<REU>;<MIN>;IGNORE
+<U0171>	<udouble>;<DAC>;<MIN>;IGNORE
+<U00DC>	<udouble>;<REU>;<CAP>;IGNORE
+<U0170>	<udouble>;<DAC>;<CAP>;IGNORE
+
+reorder-after <U0043>
+<C-S>		<cs>;<BAS>;<CAP>;IGNORE
+<C-s>		<cs>;<BAS>;<CAP-MIN>;IGNORE
+<C-C-S>		"<cs><cs>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<C-C-s>		"<cs><cs>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<C-c-S>		"<cs><cs>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<C-c-s>		"<cs><cs>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U0063>
+<c-S>		<cs>;<BAS>;<MIN-CAP>;IGNORE
+<c-s>		<cs>;<BAS>;<MIN>;IGNORE
+<c-C-S>		"<cs><cs>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<c-C-s>		"<cs><cs>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<c-c-S>		"<cs><cs>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<c-c-s>		"<cs><cs>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U0044>
+<D-Z>		<dz>;<BAS>;<CAP>;IGNORE
+<D-z>		<dz>;<BAS>;<CAP-MIN>;IGNORE
+<D-D-Z>		"<dz><dz>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<D-D-z>		"<dz><dz>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<D-d-Z>		"<dz><dz>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<D-d-z>		"<dz><dz>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U0064>
+<d-Z>		<dz>;<BAS>;<MIN-CAP>;IGNORE
+<d-z>		<dz>;<BAS>;<MIN>;IGNORE
+<d-D-Z>		"<dz><dz>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<d-D-z>		"<dz><dz>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<d-d-Z>		"<dz><dz>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<d-d-z>		"<dz><dz>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U0044>
+<D-Z-S>		<dzs>;<BAS>;<CAP-CAP-CAP>;IGNORE
+<D-Z-s>		<dzs>;<BAS>;<CAP-CAP-MIN>;IGNORE
+<D-z-S>		<dzs>;<BAS>;<CAP-MIN-CAP>;IGNORE
+<D-z-s>		<dzs>;<BAS>;<CAP-MIN-MIN>;IGNORE
+<D-D-Z-S>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-CAP>";IGNORE
+<D-D-Z-s>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-MIN>";IGNORE
+<D-D-z-S>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-CAP>";IGNORE
+<D-D-z-s>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-MIN>";IGNORE
+<D-d-Z-S>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-CAP>";IGNORE
+<D-d-Z-s>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-CAP-MIN>";IGNORE
+<D-d-z-S>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-CAP>";IGNORE
+<D-d-z-s>	"<dzs><dzs>";"<BAS><BAS>";"<CAP><CAP-MIN-MIN>";IGNORE
+reorder-after <U0064>
+<d-Z-S>		<dzs>;<BAS>;<MIN-CAP-CAP>;IGNORE
+<d-Z-s>		<dzs>;<BAS>;<MIN-CAP-MIN>;IGNORE
+<d-z-S>		<dzs>;<BAS>;<MIN-MIN-CAP>;IGNORE
+<d-z-s>		<dzs>;<BAS>;<MIN-MIN-MIN>;IGNORE
+<d-D-Z-S>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-CAP>";IGNORE
+<d-D-Z-s>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-MIN>";IGNORE
+<d-D-z-S>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-CAP>";IGNORE
+<d-D-z-s>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-MIN>";IGNORE
+<d-d-Z-S>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-CAP>";IGNORE
+<d-d-Z-s>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-CAP-MIN>";IGNORE
+<d-d-z-S>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-CAP>";IGNORE
+<d-d-z-s>	"<dzs><dzs>";"<BAS><BAS>";"<MIN><CAP-MIN-MIN>";IGNORE
+
+reorder-after <U0047>
+<G-Y>		<gy>;<BAS>;<CAP>;IGNORE
+<G-y>		<gy>;<BAS>;<CAP-MIN>;IGNORE
+<G-G-Y>		"<gy><gy>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<G-G-y>		"<gy><gy>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<G-g-Y>		"<gy><gy>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<G-g-y>		"<gy><gy>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U0067>
+<g-y>		<gy>;<BAS>;<MIN>;IGNORE
+<g-Y>		<gy>;<BAS>;<MIN-CAP>;IGNORE
+<g-G-Y>		"<gy><gy>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<g-G-y>		"<gy><gy>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<g-g-Y>		"<gy><gy>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<g-g-y>		"<gy><gy>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U004C>
+<L-Y>		<ly>;<BAS>;<CAP>;IGNORE
+<L-y>		<ly>;<BAS>;<CAP-MIN>;IGNORE
+<L-L-Y>		"<ly><ly>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<L-L-y>		"<ly><ly>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<L-l-Y>		"<ly><ly>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<L-l-y>		"<ly><ly>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U006C>
+<l-y>		<ly>;<BAS>;<MIN>;IGNORE
+<l-Y>		<ly>;<BAS>;<MIN-CAP>;IGNORE
+<l-L-Y>		"<ly><ly>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<l-L-y>		"<ly><ly>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<l-l-Y>		"<ly><ly>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<l-l-y>		"<ly><ly>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U004E>
+<N-Y>		<ny>;<BAS>;<CAP>;IGNORE
+<N-y>		<ny>;<BAS>;<CAP-MIN>;IGNORE
+<N-N-Y>		"<ny><ny>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<N-N-y>		"<ny><ny>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<N-n-Y>		"<ny><ny>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<N-n-y>		"<ny><ny>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U006E>
+<n-y>		<ny>;<BAS>;<MIN>;IGNORE
+<n-Y>		<ny>;<BAS>;<MIN-CAP>;IGNORE
+<n-N-Y>		"<ny><ny>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<n-N-y>		"<ny><ny>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<n-n-Y>		"<ny><ny>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<n-n-y>		"<ny><ny>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U0053>
+<S-Z>		<sz>;<BAS>;<CAP>;IGNORE
+<S-z>		<sz>;<BAS>;<CAP-MIN>;IGNORE
+<S-S-Z>		"<sz><sz>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<S-S-z>		"<sz><sz>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<S-s-Z>		"<sz><sz>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<S-s-z>		"<sz><sz>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U0073>
+<s-Z>		<sz>;<BAS>;<MIN-CAP>;IGNORE
+<s-z>		<sz>;<BAS>;<MIN>;IGNORE
+<s-S-Z>		"<sz><sz>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<s-S-z>		"<sz><sz>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<s-s-Z>		"<sz><sz>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<s-s-z>		"<sz><sz>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U0054>
+<T-Y>		<ty>;<BAS>;<CAP>;IGNORE
+<T-y>		<ty>;<BAS>;<CAP-MIN>;IGNORE
+<T-T-Y>		"<ty><ty>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<T-T-y>		"<ty><ty>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<T-t-Y>		"<ty><ty>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<T-t-y>		"<ty><ty>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U0074>
+<t-Y>		<ty>;<BAS>;<MIN-CAP>;IGNORE
+<t-y>		<ty>;<BAS>;<MIN>;IGNORE
+<t-T-Y>		"<ty><ty>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<t-T-y>		"<ty><ty>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<t-t-Y>		"<ty><ty>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<t-t-y>		"<ty><ty>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-after <U005A>
+<Z-S>		<zs>;<BAS>;<CAP>;IGNORE
+<Z-s>		<zs>;<BAS>;<CAP-MIN>;IGNORE
+<Z-Z-S>		"<zs><zs>";"<BAS><BAS>";"<CAP><CAP>";IGNORE
+<Z-Z-s>		"<zs><zs>";"<BAS><BAS>";"<CAP><CAP-MIN>";IGNORE
+<Z-z-S>		"<zs><zs>";"<BAS><BAS>";"<CAP><MIN-CAP>";IGNORE
+<Z-z-s>		"<zs><zs>";"<BAS><BAS>";"<CAP><MIN>";IGNORE
+reorder-after <U007A>
+<z-S>		<zs>;<BAS>;<MIN-CAP>;IGNORE
+<z-s>		<zs>;<BAS>;<MIN>;IGNORE
+<z-Z-S>		"<zs><zs>";"<BAS><BAS>";"<MIN><CAP>";IGNORE
+<z-Z-s>		"<zs><zs>";"<BAS><BAS>";"<MIN><CAP-MIN>";IGNORE
+<z-z-S>		"<zs><zs>";"<BAS><BAS>";"<MIN><MIN-CAP>";IGNORE
+<z-z-s>		"<zs><zs>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/hy_AM b/ap/build/uClibc/extra/locale/collation/hy_AM
new file mode 100644
index 0000000..1132128
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/hy_AM
@@ -0,0 +1,91 @@
+
+% Armenian sorting is not yet on iso14651_t1
+
+copy "iso14651_t1"
+
+script <ARMENIAN>
+
+order_start <ARMENIAN>;forward;forward;forward;forward,position
+
+<U0561> <U0561>;<BAS>;<MIN>;IGNORE   % <ARM-AYB>
+<U0562> <U0562>;<BAS>;<MIN>;IGNORE   % <ARM-BEN>
+<U0563> <U0563>;<BAS>;<MIN>;IGNORE   % <ARM-GIM>
+<U0564> <U0564>;<BAS>;<MIN>;IGNORE   % <ARM-DA>
+<U0565> <U0565>;<BAS>;<MIN>;IGNORE   % <ARM-YECH>
+<U0566> <U0566>;<BAS>;<MIN>;IGNORE   % <ARM-ZA>
+<U0567> <U0567>;<BAS>;<MIN>;IGNORE   % <ARM-E>
+<U0568> <U0568>;<BAS>;<MIN>;IGNORE   % <ARM-AT>
+<U0569> <U0569>;<BAS>;<MIN>;IGNORE   % <ARM-TO>
+<U056A> <U056A>;<BAS>;<MIN>;IGNORE   % <ARM-ZHE>
+<U056B> <U056B>;<BAS>;<MIN>;IGNORE   % <ARM-INI>
+<U056C> <U056C>;<BAS>;<MIN>;IGNORE   % <ARM-LYUN>
+<U056D> <U056D>;<BAS>;<MIN>;IGNORE   % <ARM-KHE>
+<U056E> <U056E>;<BAS>;<MIN>;IGNORE   % <ARM-TSA>
+<U056F> <U056F>;<BAS>;<MIN>;IGNORE   % <ARM-KEN>
+<U0570> <U0570>;<BAS>;<MIN>;IGNORE   % <ARM-HO>
+<U0571> <U0571>;<BAS>;<MIN>;IGNORE   % <ARM-DZA>
+<U0572> <U0572>;<BAS>;<MIN>;IGNORE   % <ARM-GHAT>
+<U0573> <U0573>;<BAS>;<MIN>;IGNORE   % <ARM-TCHE>
+<U0574> <U0574>;<BAS>;<MIN>;IGNORE   % <ARM-MEN>
+<U0575> <U0575>;<BAS>;<MIN>;IGNORE   % <ARM-HI>
+<U0576> <U0576>;<BAS>;<MIN>;IGNORE   % <ARM-NU>
+<U0577> <U0577>;<BAS>;<MIN>;IGNORE   % <ARM-SHA>
+<U0578> <U0578>;<BAS>;<MIN>;IGNORE   % <ARM-VO>
+<U0579> <U0579>;<BAS>;<MIN>;IGNORE   % <ARM-CHA>
+<U057A> <U057A>;<BAS>;<MIN>;IGNORE   % <ARM-PE>
+<U057B> <U057B>;<BAS>;<MIN>;IGNORE   % <ARM-JE>
+<U057C> <U057C>;<BAS>;<MIN>;IGNORE   % <ARM-RA>
+<U057D> <U057D>;<BAS>;<MIN>;IGNORE   % <ARM-SE>
+<U057E> <U057E>;<BAS>;<MIN>;IGNORE   % <ARM-VEV>
+<U057F> <U057F>;<BAS>;<MIN>;IGNORE   % <ARM-TYUN>
+<U0580> <U0580>;<BAS>;<MIN>;IGNORE   % <ARM-RE>
+<U0581> <U0581>;<BAS>;<MIN>;IGNORE   % <ARM-TSO>
+<U0582> <U0582>;<BAS>;<MIN>;IGNORE   % <ARM-VYUN>
+<U0583> <U0583>;<BAS>;<MIN>;IGNORE   % <ARM-PYUR>
+<U0584> <U0584>;<BAS>;<MIN>;IGNORE   % <ARM-KE>
+<U0585> <U0585>;<BAS>;<MIN>;IGNORE   % <ARM-O>
+<U0586> <U0586>;<BAS>;<MIN>;IGNORE   % <ARM-FE>
+<U0531> <U0531>;<BAS>;<CAP>;IGNORE   % <ARM-AYB>
+<U0532> <U0532>;<BAS>;<CAP>;IGNORE   % <ARM-BEN>
+<U0533> <U0533>;<BAS>;<CAP>;IGNORE   % <ARM-GIM>
+<U0534> <U0534>;<BAS>;<CAP>;IGNORE   % <ARM-DA>
+<U0535> <U0535>;<BAS>;<CAP>;IGNORE   % <ARM-YECH>
+<U0536> <U0536>;<BAS>;<CAP>;IGNORE   % <ARM-ZA>
+<U0537> <U0537>;<BAS>;<CAP>;IGNORE   % <ARM-E>
+<U0538> <U0538>;<BAS>;<CAP>;IGNORE   % <ARM-AT>
+<U0539> <U0539>;<BAS>;<CAP>;IGNORE   % <ARM-TO>
+<U053A> <U053A>;<BAS>;<CAP>;IGNORE   % <ARM-ZHE>
+<U053B> <U053B>;<BAS>;<CAP>;IGNORE   % <ARM-INI>
+<U053C> <U053C>;<BAS>;<CAP>;IGNORE   % <ARM-LYUN>
+<U053D> <U053D>;<BAS>;<CAP>;IGNORE   % <ARM-KHE>
+<U053E> <U053E>;<BAS>;<CAP>;IGNORE   % <ARM-TSA>
+<U053F> <U053F>;<BAS>;<CAP>;IGNORE   % <ARM-KEN>
+<U0540> <U0540>;<BAS>;<CAP>;IGNORE   % <ARM-HO>
+<U0541> <U0541>;<BAS>;<CAP>;IGNORE   % <ARM-DZA>
+<U0542> <U0542>;<BAS>;<CAP>;IGNORE   % <ARM-GHAT>
+<U0543> <U0543>;<BAS>;<CAP>;IGNORE   % <ARM-TCHE>
+<U0544> <U0544>;<BAS>;<CAP>;IGNORE   % <ARM-MEN>
+<U0545> <U0545>;<BAS>;<CAP>;IGNORE   % <ARM-HI>
+<U0546> <U0546>;<BAS>;<CAP>;IGNORE   % <ARM-NU>
+<U0547> <U0547>;<BAS>;<CAP>;IGNORE   % <ARM-SHA>
+<U0548> <U0548>;<BAS>;<CAP>;IGNORE   % <ARM-VO>
+<U0549> <U0549>;<BAS>;<CAP>;IGNORE   % <ARM-CHA>
+<U054A> <U054A>;<BAS>;<CAP>;IGNORE   % <ARM-PE>
+<U054B> <U054B>;<BAS>;<CAP>;IGNORE   % <ARM-JE>
+<U054C> <U054C>;<BAS>;<CAP>;IGNORE   % <ARM-RA>
+<U054D> <U054D>;<BAS>;<CAP>;IGNORE   % <ARM-SE>
+<U054E> <U054E>;<BAS>;<CAP>;IGNORE   % <ARM-VEV>
+<U054F> <U054F>;<BAS>;<CAP>;IGNORE   % <ARM-TYUN>
+<U0550> <U0550>;<BAS>;<CAP>;IGNORE   % <ARM-RE>
+<U0551> <U0551>;<BAS>;<CAP>;IGNORE   % <ARM-TSO>
+<U0552> <U0552>;<BAS>;<CAP>;IGNORE   % <ARM-VYUN>
+<U0553> <U0553>;<BAS>;<CAP>;IGNORE   % <ARM-PYUR>
+<U0554> <U0554>;<BAS>;<CAP>;IGNORE   % <ARM-KE>
+<U0555> <U0555>;<BAS>;<CAP>;IGNORE   % <ARM-O>
+<U0556> <U0556>;<BAS>;<CAP>;IGNORE   % <ARM-FE>
+order-end
+
+reorder-sections-after <CYRIL>
+<ARMENIAN>
+reorder-sections-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/id_ID b/ap/build/uClibc/extra/locale/collation/id_ID
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/id_ID
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/is_IS b/ap/build/uClibc/extra/locale/collation/is_IS
new file mode 100644
index 0000000..b19add0
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/is_IS
@@ -0,0 +1,2104 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "reorder-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;forward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2318>	IGNORE;IGNORE;IGNORE;<U2318>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2501>	IGNORE;IGNORE;IGNORE;<U2501>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2503>	IGNORE;IGNORE;IGNORE;<U2503>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U250D>	IGNORE;IGNORE;IGNORE;<U250D>
+<U250E>	IGNORE;IGNORE;IGNORE;<U250E>
+<U250F>	IGNORE;IGNORE;IGNORE;<U250F>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2511>	IGNORE;IGNORE;IGNORE;<U2511>
+<U2512>	IGNORE;IGNORE;IGNORE;<U2512>
+<U2513>	IGNORE;IGNORE;IGNORE;<U2513>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2515>	IGNORE;IGNORE;IGNORE;<U2515>
+<U2516>	IGNORE;IGNORE;IGNORE;<U2516>
+<U2517>	IGNORE;IGNORE;IGNORE;<U2517>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U2519>	IGNORE;IGNORE;IGNORE;<U2519>
+<U251A>	IGNORE;IGNORE;IGNORE;<U251A>
+<U251B>	IGNORE;IGNORE;IGNORE;<U251B>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U251D>	IGNORE;IGNORE;IGNORE;<U251D>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U2520>	IGNORE;IGNORE;IGNORE;<U2520>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2523>	IGNORE;IGNORE;IGNORE;<U2523>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2525>	IGNORE;IGNORE;IGNORE;<U2525>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2528>	IGNORE;IGNORE;IGNORE;<U2528>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U252B>	IGNORE;IGNORE;IGNORE;<U252B>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U252F>	IGNORE;IGNORE;IGNORE;<U252F>
+<U2530>	IGNORE;IGNORE;IGNORE;<U2530>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2533>	IGNORE;IGNORE;IGNORE;<U2533>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2537>	IGNORE;IGNORE;IGNORE;<U2537>
+<U2538>	IGNORE;IGNORE;IGNORE;<U2538>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U253B>	IGNORE;IGNORE;IGNORE;<U253B>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U253F>	IGNORE;IGNORE;IGNORE;<U253F>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U2542>	IGNORE;IGNORE;IGNORE;<U2542>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U254B>	IGNORE;IGNORE;IGNORE;<U254B>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+<Mc>	IGNORE;IGNORE;IGNORE;<Mc>
+<Fl>	IGNORE;IGNORE;IGNORE;<Fl>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00E1>	<U00E1>;<NONE>;<SMALL>;IGNORE
+<U00C1>	<U00E1>;<NONE>;<CAPITAL>;IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U00F0>	<U00F0>;<NONE>;<SMALL>;IGNORE
+<U00D0>	<U00F0>;<NONE>;<CAPITAL>;IGNORE
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U00E9>	<U00E9>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U00E9>;<NONE>;<CAPITAL>;IGNORE
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U01A2>	<U0047>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U01A3>	<U0047>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U00ED>	<U00ED>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U00ED>;<NONE>;<CAPITAL>;IGNORE
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	<U004E>;<U014A>;<CAPITAL>;IGNORE
+<U014B>	<U004E>;<U014A>;<SMALL>;IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U00F3>	<U00F3>;<NONE>;<SMALL>;IGNORE
+<U00D3>	<U00F3>;<NONE>;<CAPITAL>;IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U00FA>	<U00FA>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U00FA>;<NONE>;<CAPITAL>;IGNORE
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U00FD>	<U00FD>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U00FD>;<NONE>;<CAPITAL>;IGNORE
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U00FE>	<U00FE>;<NONE>;<SMALL>;IGNORE
+<U00DE>	<U00FE>;<NONE>;<CAPITAL>;IGNORE
+<U00E6>	<U00E6>;<NONE>;<SMALL>;IGNORE
+<U00C6>	<U00E6>;<NONE>;<CAPITAL>;IGNORE
+<U0153>	<U00E6>;<SPECIAL>;<SMALL>;IGNORE
+<U0152>	<U00E6>;<SPECIAL>;<CAPITAL>;IGNORE
+<U00F6>	<U00F6>;<NONE>;<SMALL>;IGNORE
+<U00D6>	<U00F6>;<NONE>;<CAPITAL>;IGNORE
+<U00F8>	<U00F6>;<SPECIAL>;<SMALL>;IGNORE
+<U00D8>	<U00F6>;<SPECIAL>;<CAPITAL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+% modifier letters
+
+<U02BB>	IGNORE;IGNORE;<U02BB>;IGNORE
+<U02C6>	IGNORE;IGNORE;<CIRCUMFLEX>;IGNORE
+<U02C9>	IGNORE;IGNORE;<MACRON>;IGNORE
+<U02CB>	IGNORE;IGNORE;<GRAVE>;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/iso14651_t1 b/ap/build/uClibc/extra/locale/collation/iso14651_t1
new file mode 100644
index 0000000..b44d34a
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/iso14651_t1
@@ -0,0 +1,1495 @@
+
+# Déclaration des systèmes d'écriture / Declaration of scripts
+script <SPECIAL>
+script <LATIN>
+script <ARABINT>
+script <ARABFOR>
+script <HEBREU>
+script <GREC>
+script <CYRIL>
+script <HAN>
+
+# Déclaration des symboles internes / Declaration of internal symbols
+#
+# SYMB N° Expl.
+#
+collating-symbol <RES-1>
+#
+# <ARABINT>/<ARABFOR>
+#
+#
+collating-symbol <ANO> # 2 normal --> voir/see <MIN>
+collating-symbol <AIS> # 3 isol.
+collating-symbol <AFI> # 4 final
+collating-symbol <AII> # 5 initial
+collating-symbol <AME> # 6 medial/m<e'>dian
+#
+collating-symbol <MIN> # 7 minuscule/minuscule (bas de casse/lower case)
+collating-symbol <IMI> # 8 inférieur min./subscript min. (indice/index)
+collating-symbol <EMI> # 9 supér. min./superscript min. (exposant/exponent)
+collating-symbol <CAP> # 10 capitale/capital (haut de casse/upper case)
+collating-symbol <AMI> # 8 minuscule grecque/Greek lower case
+collating-symbol <ICA> # 11 inférieur en capitale/subscript capital
+collating-symbol <ECA> # 12 supérieur en capitale/superscript capital
+#
+# <ARABINT>/<ARABFOR>
+#
+collating-symbol <AMA> # 13 accent madda
+collating-symbol <AHA> # 14 accent hamza
+collating-symbol <AHW> # 14-1 accent hamza/waw
+collating-symbol <AHS> # 14-2 accent hamza under / hamza souscrit
+collating-symbol <AYE> # 14-3 accent under yeh / accent souscrit du ya'
+collating-symbol <YBA> # 14-4 accent hamza/yeh barree
+#
+collating-symbol <BAS> # 15 de base/basic (non accentué/non-accented)
+#
+collating-symbol <PCL> # 16 particulier/peculiar
+collating-symbol <LIG> # 17 ligature/ligature
+collating-symbol <ACA> # 18 accent aigu/acute accent
+collating-symbol <GRA> # 20 accent grave/grave accent
+collating-symbol <BRE> # 21 brève/breve
+collating-symbol <CIR> # 22 accent circonflexe/circumflex accent
+collating-symbol <CAR> # 23 caron/caron
+collating-symbol <RNE> # 24 rond supérieur/ring above
+collating-symbol <REU> # 25 tréma/diaeresis (ou/or umlaut)
+collating-symbol <DAC> # 26 double ac. aigu/double acute ac.
+collating-symbol <TIL> # 27 tilde/tilde
+collating-symbol <PCT> # 28 point/dot
+collating-symbol <OBL> # 29 barre oblique/oblique
+collating-symbol <CDI> # 30 cédille/cedilla
+collating-symbol <OGO> # 31 ogonek/ogonek
+collating-symbol <MAC> # 32 macron/macron
+#
+# GREC
+#
+collating-symbol <TNS> # accent aigu/tonos/acute accent
+collating-symbol <DLT> # tr<e'>ma/dialytica/diaeresis
+collating-symbol <DTT> # dialytika tonos
+#
+collating-symbol <0>
+collating-symbol <1>
+collating-symbol <2>
+collating-symbol <3>
+collating-symbol <4>
+collating-symbol <5>
+collating-symbol <6>
+collating-symbol <7>
+collating-symbol <8>
+collating-symbol <9>
+#
+collating-symbol <a>
+collating-symbol <b>
+collating-symbol <c>
+collating-symbol <d>
+collating-symbol <e>
+collating-symbol <f>
+collating-symbol <g>
+collating-symbol <h>
+collating-symbol <i>
+collating-symbol <j>
+collating-symbol <k>
+collating-symbol <l>
+collating-symbol <m>
+collating-symbol <n>
+collating-symbol <o>
+collating-symbol <p>
+collating-symbol <q>
+collating-symbol <r>
+collating-symbol <s>
+collating-symbol <t>
+collating-symbol <u>
+collating-symbol <v>
+collating-symbol <w>
+collating-symbol <x>
+collating-symbol <y>
+collating-symbol <z>
+collating-symbol <th>
+#
+# <ARABINT>/<ARABFOR>
+#
+collating-symbol <hamza>
+collating-symbol <alef>
+collating-symbol <beh>
+collating-symbol <peh>
+collating-symbol <teh_marbuta>
+collating-symbol <teh>
+collating-symbol <tteh>
+collating-symbol <theh>
+collating-symbol <jeem>
+collating-symbol <tcheh>
+collating-symbol <hah>
+collating-symbol <khah>
+collating-symbol <dal>
+collating-symbol <ddal>
+collating-symbol <thal>
+collating-symbol <reh>
+collating-symbol <rreh>
+collating-symbol <zain>
+collating-symbol <jeh>
+collating-symbol <seen>
+collating-symbol <sheen>
+collating-symbol <sad>
+collating-symbol <dad>
+collating-symbol <tah>
+collating-symbol <zah>
+collating-symbol <ain>
+collating-symbol <ghain>
+collating-symbol <feh>
+collating-symbol <qaf>
+collating-symbol <kaf>
+collating-symbol <keheh>
+collating-symbol <gaf>
+collating-symbol <lam>
+collating-symbol <meem>
+collating-symbol <noon>
+collating-symbol <noon_ghunna>
+collating-symbol <heh>
+collating-symbol <heh_yeh>
+collating-symbol <waw>
+collating-symbol <alef_maksura>
+collating-symbol <yeh_barree>
+#
+# <HEBREU>
+#
+collating-symbol <alef_heb>
+collating-symbol <bet>
+collating-symbol <gimel>
+collating-symbol <dalet>
+collating-symbol <he>
+collating-symbol <vav>
+collating-symbol <zayin>
+collating-symbol <het>
+collating-symbol <tet>
+collating-symbol <yod>
+collating-symbol <kaf_fin>
+collating-symbol <kaf_heb>
+collating-symbol <lamed>
+collating-symbol <mem_fin>
+collating-symbol <mem>
+collating-symbol <nun_fin>
+collating-symbol <nun>
+collating-symbol <samekh>
+collating-symbol <ayin>
+collating-symbol <pe_fin>
+collating-symbol <pe>
+collating-symbol <tsadi_fin>
+collating-symbol <tsadi>
+collating-symbol <qof>
+collating-symbol <resh>
+collating-symbol <shin>
+collating-symbol <tav>
+#
+# GREC
+#
+collating-symbol <ALPHA>
+collating-symbol <BETA>
+collating-symbol <GAMMA>
+collating-symbol <DELTA>
+collating-symbol <EPSILON>
+collating-symbol <ZETA>
+collating-symbol <ETA>
+collating-symbol <THETA>
+collating-symbol <IOTA>
+collating-symbol <KAPPA>
+collating-symbol <LAMBDA>
+collating-symbol <MU>
+collating-symbol <NU>
+collating-symbol <XI>
+collating-symbol <OMICRON>
+collating-symbol <PI>
+collating-symbol <RHO>
+collating-symbol <SIGMA>
+collating-symbol <TAU>
+collating-symbol <UPSILON>
+collating-symbol <PHI>
+collating-symbol <CHI>
+collating-symbol <PSI>
+collating-symbol <OMEGA>
+#
+# CYRIL
+#
+collating-symbol <CYR-A>
+collating-symbol <CYR-BE>
+collating-symbol <CYR-VE>
+collating-symbol <CYR-GHE>
+collating-symbol <CYR-DE>
+collating-symbol <CYR-GZHE>
+collating-symbol <CYR-DJE>
+collating-symbol <CYR-IE>
+collating-symbol <UKR-IE>
+collating-symbol <CYR-IO>
+collating-symbol <CYR-ZHE>
+collating-symbol <CYR-ZE>
+collating-symbol <CYR-DZE>
+collating-symbol <CYR-I>
+collating-symbol <UKR-I>
+collating-symbol <UKR-YI>
+collating-symbol <CYR-IBRE>
+collating-symbol <CYR-JE>
+collating-symbol <CYR-KA>
+collating-symbol <CYR-EL>
+collating-symbol <CYR-LJE>
+collating-symbol <CYR-EM>
+collating-symbol <CYR-EN>
+collating-symbol <CYR-NJE>
+collating-symbol <CYR-O>
+collating-symbol <CYR-PE>
+collating-symbol <CYR-ER>
+collating-symbol <CYR-ES>
+collating-symbol <CYR-TE>
+collating-symbol <CYR-KJE>
+collating-symbol <CYR-TSHE>
+collating-symbol <CYR-OU>
+collating-symbol <CYR-OUBRE>
+collating-symbol <CYR-EF>
+collating-symbol <CYR-HA>
+collating-symbol <CYR-TSE>
+collating-symbol <CYR-CHE>
+collating-symbol <CYR-DCHE>
+collating-symbol <CYR-SHA>
+collating-symbol <CYR-SHTSHA>
+collating-symbol <CYR-SIGDUR>
+collating-symbol <CYR-YEROU>
+collating-symbol <CYR-SIGMOUIL>
+collating-symbol <CYR-E>
+collating-symbol <CYR-YOU>
+collating-symbol <CYR-YA>
+
+# Ordre des symboles internes / Order of internal symbols
+#
+# SYMB. N°
+#
+<RES-1>
+<MIN>
+# forme de base (bas de casse, arabe intrinsèque,
+# hébreu intrinsèque, etc.
+# basic form (lower case, intrinsic Arabic
+# intrinsic Hebrew and so on)
+#
+# <ARABINT>/<ARABFOR>
+#
+#
+<ANO> # voir
+<AIS> # isol.
+# 3
+<AFI> # final
+# 4
+<AII> # initial
+# 5
+<AME> # medial/m<e'>dian
+# 6
+#
+<IMI> # 7
+<EMI> # 8
+<CAP> # 9
+<ICA> # 10
+<ECA> # 11
+<AMI>
+#alternate lower case/
+# 12
+#
+#minuscules spéciales après majuscules
+# <ARABINT>/<ARABFOR>
+#
+<AMA> # accent madda #13
+<AHA> # accent hamza #14
+<AHW> # accent hamza/waw #14 1
+<AHS> # accent hamza under / hamza souscrit #14 2
+<AYE> # accent under yeh / accent souscrit du ya' #14 3
+<YBA> # accent hamza/yeh barree #14 4
+#
+<BAS> # 15
+#
+<PCL> # 16
+<LIG> # 17
+<ACA> # 18
+<GRA> # 19
+<BRE> # 20
+<CIR> # 21
+<CAR> # 22
+<RNE> # 23
+<REU> # 24
+<DAC> # 25
+<TIL> # 26
+<PCT> # 27
+<OBL> # 28
+<CDI> # 29
+<OGO> # 30
+<MAC> # 31
+#
+# GREC
+#
+<TNS> # accent aigu/tonos/acute accent
+<DLT> # tr<e'>ma/dialytica/diaeresis
+<DTT> # dialytika tonos
+#
+<0> # 48
+<1> # 49
+<2> # 50
+<3> # 51
+<4> # 52
+<5> # 53
+<6> # 54
+<7> # 55
+<8> # 56
+<9> # 57
+#
+<a> # 97
+<b> # 98
+<c> # 99
+<d> # 100
+<e> # 101
+<f> # 102
+<g> # 103
+<h> # 104
+<i> # 105
+<j> # 106
+<k> # 107
+<l> # 108
+<m> # 109
+<n> # 110
+<o> # 111
+<p> # 112
+<q> # 113
+<r> # 114
+<s> # 115
+<t> # 116
+<u> # 117
+<v> # 118
+<w> # 119
+<x> # 120
+<y> # 121
+<z> # 122
+<th># 122b
+#
+# <ARABINT>/<ARABFOR>
+#
+<hamza>
+<alef>
+<beh>
+<peh>
+<teh_marbuta>
+<teh>
+<tteh>
+<theh>
+<jeem>
+<tcheh>
+<hah>
+<khah>
+<dal>
+<ddal>
+<thal>
+<reh>
+<rreh>
+<zain>
+<jeh>
+<seen>
+<sheen>
+<sad>
+<dad>
+<tah>
+<zah>
+<ain>
+<ghain>
+<feh>
+<qaf>
+<kaf>
+<keheh>
+<gaf>
+<lam>
+<meem>
+<noon>
+<noon_ghunna>
+<heh>
+<heh_yeh>
+<waw>
+<alef_maksura>
+<yeh_barree>
+#
+# <HEBREU>
+#
+<alef_heb>
+<bet>
+<gimel>
+<dalet>
+<he>
+<vav>
+<zayin>
+<het>
+<tet>
+<yod>
+<kaf_fin>
+<kaf_heb>
+<lamed>
+<mem_fin>
+<mem>
+<nun_fin>
+<nun>
+<samekh>
+<ayin>
+<pe_fin>
+<pe>
+<tsadi_fin>
+<tsadi>
+<qof>
+<resh>
+<shin>
+<tav>
+#
+#GREC
+#
+<ALPHA>
+<BETA>
+<GAMMA>
+<DELTA>
+<EPSILON>
+<ZETA>
+<ETA>
+<THETA>
+<IOTA>
+<KAPPA>
+<LAMBDA>
+<MU>
+<NU>
+<XI>
+<OMICRON>
+<PI>
+<RHO>
+<SIGMA>
+<TAU>
+<UPSILON>
+<PHI>
+<CHI>
+<PSI>
+<OMEGA>
+#
+#CYRIL
+#
+<CYR-A>
+<CYR-BE>
+<CYR-VE>
+<CYR-GHE>
+<CYR-DE>
+<CYR-GZHE>
+<CYR-DJE>
+<CYR-IE>
+<UKR-IE>
+<CYR-IO>
+<CYR-ZHE>
+<CYR-ZE>
+<CYR-DZE>
+<CYR-I>
+<UKR-I>
+<UKR-YI>
+<CYR-IBRE>
+<CYR-JE>
+<CYR-KA>
+<CYR-EL>
+<CYR-LJE>
+<CYR-EM>
+<CYR-EN>
+<CYR-NJE>
+<CYR-O>
+<CYR-PE>
+<CYR-ER>
+<CYR-ES>
+<CYR-TE>
+<CYR-KJE>
+<CYR-TSHE>
+<CYR-OU>
+<CYR-OUBRE>
+<CYR-EF>
+<CYR-HA>
+<CYR-TSE>
+<CYR-CHE>
+<CYR-DCHE>
+<CYR-SHA>
+<CYR-SHTSHA>
+<CYR-SIGDUR>
+<CYR-YEROU>
+<CYR-SIGMOUIL>
+<CYR-E>
+<CYR-YOU>
+<CYR-YA>
+
+order_start <SPECIAL>;forward;backward;forward;forward,position
+#
+# Tout caractère non précisément défini sera considéré comme caractère spécial
+# et considéré uniquement au dernier niveau.
+#
+# Any character not precisely specified will be considered as a special
+# character and considered only at the last level.
+# <U0000>......<U7FFFFFFF> IGNORE;IGNORE;IGNORE;<U0000>......<U7FFFFFFF>
+#
+# SYMB.                                N° GLY
+#
+<U0020> IGNORE;IGNORE;IGNORE;<U0020> # 32 <SP>
+<U005F> IGNORE;IGNORE;IGNORE;<U005F> # 33 _
+<U0332> IGNORE;IGNORE;IGNORE;<U0332> # 34 <"_>
+<U00AF> IGNORE;IGNORE;IGNORE;<U00AF> # 35 - (MACRON)
+<U00AD> IGNORE;IGNORE;IGNORE;<U00AD> # 36 <SHY>
+<U002D> IGNORE;IGNORE;IGNORE;<U002D> # 37 -
+<U002C> IGNORE;IGNORE;IGNORE;<U002C> # 38 ,
+<U003B> IGNORE;IGNORE;IGNORE;<U003B> # 39 ;
+<U003A> IGNORE;IGNORE;IGNORE;<U003A> # 40 :
+<U0021> IGNORE;IGNORE;IGNORE;<U0021> # 41 !
+<U00A1> IGNORE;IGNORE;IGNORE;<U00A1> # 42 ¡
+<U003F> IGNORE;IGNORE;IGNORE;<U003F> # 43 ?
+<U00BF> IGNORE;IGNORE;IGNORE;<U00BF> # 44 ¿
+<U002F> IGNORE;IGNORE;IGNORE;<U002F> # 45 /
+<U0338> IGNORE;IGNORE;IGNORE;<U0338> # 46 <"/>
+<U002E> IGNORE;IGNORE;IGNORE;<U002E> # 47 .
+<U00B7> IGNORE;IGNORE;IGNORE;<U00B7> # 58 ×
+<U00B8> IGNORE;IGNORE;IGNORE;<U00B8> # 59 ¸
+<U0328> IGNORE;IGNORE;IGNORE;<U0328> # 60 <";>
+<U0027> IGNORE;IGNORE;IGNORE;<U0027> # 61 '
+<U2018> IGNORE;IGNORE;IGNORE;<U2018> # 62 <'6>
+<U2019> IGNORE;IGNORE;IGNORE;<U2019> # 63 <'9>
+<U0022> IGNORE;IGNORE;IGNORE;<U0022> # 64 "
+<U201C> IGNORE;IGNORE;IGNORE;<U201C> # 65 <"6>
+<U201D> IGNORE;IGNORE;IGNORE;<U201D> # 66 <"9>
+<U00AB> IGNORE;IGNORE;IGNORE;<U00AB> # 67 «
+<U00BB> IGNORE;IGNORE;IGNORE;<U00BB> # 68 »
+<U0028> IGNORE;IGNORE;IGNORE;<U0028> # 69 (
+<U207D> IGNORE;IGNORE;IGNORE;<U207D> # 70 <(S>
+<U0029> IGNORE;IGNORE;IGNORE;<U0029> # 71 )
+<U207E> IGNORE;IGNORE;IGNORE;<U207E> # 72 <)S>
+<U005B> IGNORE;IGNORE;IGNORE;<U005B> # 73 [
+<U005D> IGNORE;IGNORE;IGNORE;<U005D> # 74 ]
+<U007B> IGNORE;IGNORE;IGNORE;<U007B> # 75 {
+<U007D> IGNORE;IGNORE;IGNORE;<U007D> # 76 }
+<U00A7> IGNORE;IGNORE;IGNORE;<U00A7> # 77 §
+<U00B6> IGNORE;IGNORE;IGNORE;<U00B6> # 78 ¶
+<U00A9> IGNORE;IGNORE;IGNORE;<U00A9> # 79 ©
+<U00AE> IGNORE;IGNORE;IGNORE;<U00AE> # 80 ®
+<U2122> IGNORE;IGNORE;IGNORE;<U2122> # 81 <TM>
+<U0040> IGNORE;IGNORE;IGNORE;<U0040> # 82 @
+<U00A4> IGNORE;IGNORE;IGNORE;<U00A4> # 83 ¤
+<U00A2> IGNORE;IGNORE;IGNORE;<U00A2> # 84 ¢
+<U0024> IGNORE;IGNORE;IGNORE;<U0024> # 85 $
+<U00A3> IGNORE;IGNORE;IGNORE;<U00A3> # 86 £
+<U00A5> IGNORE;IGNORE;IGNORE;<U00A5> # 87 ¥
+<U20A0> IGNORE;IGNORE;IGNORE;<U20A0> # ecu
+<U20A1> IGNORE;IGNORE;IGNORE;<U20A1> # colon
+<U20A2> IGNORE;IGNORE;IGNORE;<U20A2> # cruzeiro
+<U20A3> IGNORE;IGNORE;IGNORE;<U20A3> # french franc
+<U20A4> IGNORE;IGNORE;IGNORE;<U20A4> # lira
+<U20A5> IGNORE;IGNORE;IGNORE;<U20A5> # mill
+<U20A6> IGNORE;IGNORE;IGNORE;<U20A6> # naira
+<U20A7> IGNORE;IGNORE;IGNORE;<U20A7> # peseta
+<U20A8> IGNORE;IGNORE;IGNORE;<U20A8> # rupee
+<U20A9> IGNORE;IGNORE;IGNORE;<U20A9> # won
+<U20AA> IGNORE;IGNORE;IGNORE;<U20AA> # new sheqel
+<U20AB> IGNORE;IGNORE;IGNORE;<U20AB> # dong
+<U20AC> IGNORE;IGNORE;IGNORE;<U20AC> # euro
+<U20AD> IGNORE;IGNORE;IGNORE;<U20AD> # kip
+<U20AE> IGNORE;IGNORE;IGNORE;<U20AE> # tugrik
+<U20AF> IGNORE;IGNORE;IGNORE;<U20AF> # drachma
+<U002A> IGNORE;IGNORE;IGNORE;<U002A> # 88 *
+<U005C> IGNORE;IGNORE;IGNORE;<U005C> # 89
+<U0026> IGNORE;IGNORE;IGNORE;<U0026> # 90 &
+<U0023> IGNORE;IGNORE;IGNORE;<U0023> # 91 #
+<U0025> IGNORE;IGNORE;IGNORE;<U0025> # 92 %
+<U207B> IGNORE;IGNORE;IGNORE;<U207D> # 93 <-S>
+<U002B> IGNORE;IGNORE;IGNORE;<U002B> # 94 +
+<U207A> IGNORE;IGNORE;IGNORE;<U207E> # 95 <+S>
+<U00B1> IGNORE;IGNORE;IGNORE;<U00B1> # 96 ±
+<U00B4> IGNORE;IGNORE;IGNORE;<0> # 123 ´
+<U0060> IGNORE;IGNORE;IGNORE;<1> # 124 `
+<U0306> IGNORE;IGNORE;IGNORE;<2> # 125 <"(>
+<U005E> IGNORE;IGNORE;IGNORE;<3> # 126 ^
+<U030C> IGNORE;IGNORE;IGNORE;<4> # 127 <"<>
+<U030A> IGNORE;IGNORE;IGNORE;<5> # 128 <"0>
+<U00A8> IGNORE;IGNORE;IGNORE;<6> # 129 ¨
+<U030B> IGNORE;IGNORE;IGNORE;<7> # 130 <"">
+<U007E> IGNORE;IGNORE;IGNORE;<8> # 131 ~
+<U0307> IGNORE;IGNORE;IGNORE;<9> # 132 <".>
+<U00F7> IGNORE;IGNORE;IGNORE;<a> # 133 ¸
+<U00D7> IGNORE;IGNORE;IGNORE;<b> # 134 ´
+<U2260> IGNORE;IGNORE;IGNORE;<c> # 135 <!=>
+<U003C> IGNORE;IGNORE;IGNORE;<d> # 136 <
+<U2264> IGNORE;IGNORE;IGNORE;<e> # 137 <=<>
+<U003D> IGNORE;IGNORE;IGNORE;<f> # 138 =
+<U2265> IGNORE;IGNORE;IGNORE;<g> # 139 </>=>
+<U003E> IGNORE;IGNORE;IGNORE;<h> # 140 >
+<U00AC> IGNORE;IGNORE;IGNORE;<i> # 141 ¬
+<U007C> IGNORE;IGNORE;IGNORE;<j> # 142 |
+<U00A6> IGNORE;IGNORE;IGNORE;<k> # 143 |
+<U00B0> IGNORE;IGNORE;IGNORE;<l> # 144 °
+<U00B5> IGNORE;IGNORE;IGNORE;<m> # 145 m
+<U2126> IGNORE;IGNORE;IGNORE;<n> # 146 <Om>
+<U220E> IGNORE;IGNORE;IGNORE;<o> # 147 <FP>
+<U250C> IGNORE;IGNORE;IGNORE;<p> # 148 <_V/>>
+<U252C> IGNORE;IGNORE;IGNORE;<q> # 149 <_V->
+<U2510> IGNORE;IGNORE;IGNORE;<r> # 150 <_V<w>
+<U251C> IGNORE;IGNORE;IGNORE;<s> # 151 <_!/>>
+<U253C> IGNORE;IGNORE;IGNORE;<t> # 152 <_!->
+<U2524> IGNORE;IGNORE;IGNORE;<u> # 153 <_!<>
+<U2514> IGNORE;IGNORE;IGNORE;<v> # 154 <_A/>>
+<U2534> IGNORE;IGNORE;IGNORE;<w> # 155 <_-A>
+<U2518> IGNORE;IGNORE;IGNORE;<x> # 156 <_A<>
+<U2502> IGNORE;IGNORE;IGNORE;<y> # 157 <_!>
+<U2500> IGNORE;IGNORE;IGNORE;<z> # 158 <_-> #
+<U2501> IGNORE;IGNORE;IGNORE;<U2501> # 159 <_=>
+<U2190> IGNORE;IGNORE;IGNORE;<U2190> # 160 <<->
+<U2192> IGNORE;IGNORE;IGNORE;<U2192> # 161 <-/>>
+<U20D1> IGNORE;IGNORE;IGNORE;<U20D1> # 162 <"7>
+<U2191> IGNORE;IGNORE;IGNORE;<U2191> # 163 <-!>
+<U2193> IGNORE;IGNORE;IGNORE;<U2193> # 164 <-v>
+<U266A> IGNORE;IGNORE;IGNORE;<U266A> # 165 <_d!>
+<U2571> IGNORE;IGNORE;IGNORE;<U2571> # 166 <_/>//>
+<U2572> IGNORE;IGNORE;IGNORE;<U2572> # 167 <_<\>
+<U25E2> IGNORE;IGNORE;IGNORE;<U25E2> # 168 <_./>//>
+<U25E3> IGNORE;IGNORE;IGNORE;<U25E3> # 169 <_.<\> # # <ARABINT>/<ARABFOR> #
+<U060C> IGNORE;IGNORE;IGNORE;<U060C>
+<U061B> IGNORE;IGNORE;IGNORE;<U061B>
+<U061F> IGNORE;IGNORE;IGNORE;<U061F>
+<U0640> IGNORE;IGNORE;IGNORE;<U0640>
+<U066A> IGNORE;IGNORE;IGNORE;<U066A>
+<U066B> IGNORE;IGNORE;IGNORE;<U066B>
+<U066C> IGNORE;IGNORE;IGNORE;<U066C>
+<U066D> IGNORE;IGNORE;IGNORE;<U066D>
+<U064B> IGNORE;IGNORE;IGNORE;<U064B> #<fathatan_no>
+<UFE70> IGNORE;IGNORE;IGNORE;<UFE70> #<fathatan_is>
+<UFE71> IGNORE;IGNORE;IGNORE;<UFE71> #<fathatan_me>
+<U064C> IGNORE;IGNORE;IGNORE;<U064C> #<dammatan_no>
+<UFE72> IGNORE;IGNORE;IGNORE;<UFE72> #<dammatan_is>
+<U064D> IGNORE;IGNORE;IGNORE;<U064D> #<kasratan_no>
+<UFE74> IGNORE;IGNORE;IGNORE;<UFE74> #<kasratan_is>
+<U064E> IGNORE;IGNORE;IGNORE;<U064E> #<fatha_no>
+<UFE76> IGNORE;IGNORE;IGNORE;<UFE76> #<fatha_is>
+<UFE77> IGNORE;IGNORE;IGNORE;<UFE77> #<fatha_me>
+<U064F> IGNORE;IGNORE;IGNORE;<U064F> #<damma_no>
+<UFE78> IGNORE;IGNORE;IGNORE;<UFE78> #<damma_is>
+<UFE79> IGNORE;IGNORE;IGNORE;<UFE79> #<damma_me>
+<U0650> IGNORE;IGNORE;IGNORE;<U0650> #<kasra_no>
+<UFE7A> IGNORE;IGNORE;IGNORE;<UFE7A> #<kasra_is>
+<UFE7B> IGNORE;IGNORE;IGNORE;<UFE7B> #<kasra_me>
+<U0651> IGNORE;IGNORE;IGNORE;<U0651> #<shadda_no>
+<UFE7C> IGNORE;IGNORE;IGNORE;<UFE7C> #<shadda_is>
+<UFE7D> IGNORE;IGNORE;IGNORE;<UFE7D> #<shadda_me>
+<U0652> IGNORE;IGNORE;IGNORE;<U0652> #<sukun_no>
+<UFE7E> IGNORE;IGNORE;IGNORE;<UFE7E> #<sukun_is>
+<UFE7F> IGNORE;IGNORE;IGNORE;<UFE7F> #<sukun_me> # # <HEBREU> #
+<U05B0> IGNORE;IGNORE;IGNORE;<U05B0> #point_sheva
+<U05B1> IGNORE;IGNORE;IGNORE;<U05B1> #point_hataf_segol
+<U05B2> IGNORE;IGNORE;IGNORE;<U05B2> #point_hataf_patah
+<U05B3> IGNORE;IGNORE;IGNORE;<U05B3> #point_hataf_qamats
+<U05B4> IGNORE;IGNORE;IGNORE;<U05B4> #point_hiriq
+<U05B5> IGNORE;IGNORE;IGNORE;<U05B5> #point_tsere
+<U05B6> IGNORE;IGNORE;IGNORE;<U05B6> #point_segol
+<U05B7> IGNORE;IGNORE;IGNORE;<U05B7> #point_patah
+<U05B8> IGNORE;IGNORE;IGNORE;<U05B8> #point_qamats
+<U05B9> IGNORE;IGNORE;IGNORE;<U05B9> #point_holam
+<U05BB> IGNORE;IGNORE;IGNORE;<U05BB> #point_qubuts
+<U05BC> IGNORE;IGNORE;IGNORE;<U05BC> #point_dagesh
+<U05BD> IGNORE;IGNORE;IGNORE;<U05BD> #point_meteg
+<U05BE> IGNORE;IGNORE;IGNORE;<U05BE> #maqaf
+<U05BF> IGNORE;IGNORE;IGNORE;<U05BF> #point_rafe
+<U05C0> IGNORE;IGNORE;IGNORE;<U05C0> #paseq
+<U05C1> IGNORE;IGNORE;IGNORE;<U05C1> #point_shin_dot
+<U05C2> IGNORE;IGNORE;IGNORE;<U05C2> #point_sin_dot
+<U05C3> IGNORE;IGNORE;IGNORE;<U05C3> #sof pasuq
+
+# The comment at the beginning of this section mentions characters which
+# are not otherwise covered.  But this description cannot express this.
+# Therefore we add here a few entries which are used in older implementations
+# to be compatible.  --drepper
+<U0001> IGNORE;IGNORE;IGNORE;<U0001>
+<U0002> IGNORE;IGNORE;IGNORE;<U0002>
+<U0003> IGNORE;IGNORE;IGNORE;<U0003>
+<U0004> IGNORE;IGNORE;IGNORE;<U0004>
+<U0005> IGNORE;IGNORE;IGNORE;<U0005>
+<U0006> IGNORE;IGNORE;IGNORE;<U0006>
+<U0007> IGNORE;IGNORE;IGNORE;<U0007>
+<U0008> IGNORE;IGNORE;IGNORE;<U0008>
+<U0009> IGNORE;IGNORE;IGNORE;<U0009>
+<U000A> IGNORE;IGNORE;IGNORE;<U000A>
+<U000B> IGNORE;IGNORE;IGNORE;<U000B>
+<U000C> IGNORE;IGNORE;IGNORE;<U000C>
+<U000D> IGNORE;IGNORE;IGNORE;<U000D>
+<U000E> IGNORE;IGNORE;IGNORE;<U000E>
+<U000F> IGNORE;IGNORE;IGNORE;<U000F>
+<U0010> IGNORE;IGNORE;IGNORE;<U0010>
+<U0011> IGNORE;IGNORE;IGNORE;<U0011>
+<U0012> IGNORE;IGNORE;IGNORE;<U0012>
+<U0013> IGNORE;IGNORE;IGNORE;<U0013>
+<U0014> IGNORE;IGNORE;IGNORE;<U0014>
+<U0015> IGNORE;IGNORE;IGNORE;<U0015>
+<U0016> IGNORE;IGNORE;IGNORE;<U0016>
+<U0017> IGNORE;IGNORE;IGNORE;<U0017>
+<U0018> IGNORE;IGNORE;IGNORE;<U0018>
+<U0019> IGNORE;IGNORE;IGNORE;<U0019>
+<U001A> IGNORE;IGNORE;IGNORE;<U001A>
+<U001B> IGNORE;IGNORE;IGNORE;<U001B>
+<U001C> IGNORE;IGNORE;IGNORE;<U001C>
+<U001D> IGNORE;IGNORE;IGNORE;<U001D>
+<U001E> IGNORE;IGNORE;IGNORE;<U001E>
+<U001F> IGNORE;IGNORE;IGNORE;<U001F>
+<U007F> IGNORE;IGNORE;IGNORE;<U007F>
+<U0080> IGNORE;IGNORE;IGNORE;<U0080>
+<U0081> IGNORE;IGNORE;IGNORE;<U0081>
+<U0082> IGNORE;IGNORE;IGNORE;<U0082>
+<U0083> IGNORE;IGNORE;IGNORE;<U0083>
+<U0084> IGNORE;IGNORE;IGNORE;<U0084>
+<U0085> IGNORE;IGNORE;IGNORE;<U0085>
+<U0086> IGNORE;IGNORE;IGNORE;<U0086>
+<U0087> IGNORE;IGNORE;IGNORE;<U0087>
+<U0088> IGNORE;IGNORE;IGNORE;<U0088>
+<U0089> IGNORE;IGNORE;IGNORE;<U0089>
+<U008A> IGNORE;IGNORE;IGNORE;<U008A>
+<U008B> IGNORE;IGNORE;IGNORE;<U008B>
+<U008C> IGNORE;IGNORE;IGNORE;<U008C>
+<U008D> IGNORE;IGNORE;IGNORE;<U008D>
+<U008E> IGNORE;IGNORE;IGNORE;<U008E>
+<U008F> IGNORE;IGNORE;IGNORE;<U008F>
+<U0090> IGNORE;IGNORE;IGNORE;<U0090>
+<U0091> IGNORE;IGNORE;IGNORE;<U0091>
+<U0092> IGNORE;IGNORE;IGNORE;<U0092>
+<U0093> IGNORE;IGNORE;IGNORE;<U0093>
+<U0094> IGNORE;IGNORE;IGNORE;<U0094>
+<U0095> IGNORE;IGNORE;IGNORE;<U0095>
+<U0096> IGNORE;IGNORE;IGNORE;<U0096>
+<U0097> IGNORE;IGNORE;IGNORE;<U0097>
+<U0098> IGNORE;IGNORE;IGNORE;<U0098>
+<U0099> IGNORE;IGNORE;IGNORE;<U0099>
+<U009A> IGNORE;IGNORE;IGNORE;<U009A>
+<U009B> IGNORE;IGNORE;IGNORE;<U009B>
+<U009C> IGNORE;IGNORE;IGNORE;<U009C>
+<U009D> IGNORE;IGNORE;IGNORE;<U009D>
+<U009E> IGNORE;IGNORE;IGNORE;<U009E>
+<U009F> IGNORE;IGNORE;IGNORE;<U009F>
+
+order_start <LATIN>;forward;backward;forward;forward,position
+#
+<U00A0> <U0020>;<BAS>;<MIN>;IGNORE # 170<NBSP>
+#
+<U0030> <0>;<BAS>;<MIN>;IGNORE # 171 0
+<U0031> <1>;<BAS>;<MIN>;IGNORE # 172 1
+<U0032> <2>;<BAS>;<MIN>;IGNORE # 173 2
+<U0033> <3>;<BAS>;<MIN>;IGNORE # 174 3
+<U0034> <4>;<BAS>;<MIN>;IGNORE # 175 4
+<U0035> <5>;<BAS>;<MIN>;IGNORE # 176 5
+<U0036> <6>;<BAS>;<MIN>;IGNORE # 177 6
+<U0037> <7>;<BAS>;<MIN>;IGNORE # 178 7
+<U0038> <8>;<BAS>;<MIN>;IGNORE # 179 8
+<U0039> <9>;<BAS>;<MIN>;IGNORE # 180 9
+#
+<U215B> <0>;<GRA>;<MIN>;IGNORE # 181 <18>
+<U00BC> <0>;<BRE>;<MIN>;IGNORE # 182 ¼
+<U215C> <0>;<CIR>;<MIN>;IGNORE # 183 <38>
+<U215D> <0>;<RNE>;<MIN>;IGNORE # 184 <58>
+<U215E> <0>;<DAC>;<MIN>;IGNORE # 185 <78>
+<U00BD> <0>;<CAR>;<MIN>;IGNORE # 186 ½
+<U00BE> <0>;<REU>;<MIN>;IGNORE # 187 ¾
+<U2070> <0>;<BAS>;<EMI>;IGNORE # 188 <0S>
+<U00B9> <1>;<BAS>;<EMI>;IGNORE # 189 ¹
+<U00B2> <2>;<BAS>;<EMI>;IGNORE # 190 ²
+<U00B3> <3>;<BAS>;<EMI>;IGNORE # 191 ³
+<U2074> <4>;<BAS>;<EMI>;IGNORE # 192 <4S>
+<U2075> <5>;<BAS>;<EMI>;IGNORE # 193 <5S>
+<U2076> <6>;<BAS>;<EMI>;IGNORE # 194 <6S>
+<U2077> <7>;<BAS>;<EMI>;IGNORE # 195 <7S>
+<U2078> <8>;<BAS>;<EMI>;IGNORE # 196 <8S>
+<U2079> <9>;<BAS>;<EMI>;IGNORE # 197 <9S>
+#
+<U0061> <a>;<BAS>;<MIN>;IGNORE # 198 a
+<U00AA> <a>;<PCL>;<EMI>;IGNORE # 199 ª
+<U00E1> <a>;<ACA>;<MIN>;IGNORE # 200 á
+<U00E0> <a>;<GRA>;<MIN>;IGNORE # 201 à
+<U00E2> <a>;<CIR>;<MIN>;IGNORE # 202 â
+<U00E3> <a>;<TIL>;<MIN>;IGNORE # 203 ã
+<U00E4> <a>;<REU>;<MIN>;IGNORE # 204 ä
+<U00E5> <a>;<RNE>;<MIN>;IGNORE # 205 å
+<U0103> <a>;<BRE>;<MIN>;IGNORE # 206 <a(>
+<U0105> <a>;<OGO>;<MIN>;IGNORE # 207 <a;>
+<U0101> <a>;<MAC>;<MIN>;IGNORE # 208 <a->
+<U00E6> "<a><e>";"<LIG><LIG>";"<MIN><MIN>";IGNORE # 209 æ
+<U0062> <b>;<BAS>;<MIN>;IGNORE # 210 b
+<U0063> <c>;<BAS>;<MIN>;IGNORE # 211 c
+<U00E7> <c>;<CDI>;<MIN>;IGNORE # 212 ç
+<U0107> <c>;<ACA>;<MIN>;IGNORE # 213 <c'>
+<U0109> <c>;<CIR>;<MIN>;IGNORE # 214 <c/>>
+<U010D> <c>;<CAR>;<MIN>;IGNORE # 215 <c<>
+<U010B> <c>;<PCT>;<MIN>;IGNORE # 216 <c.>
+<U0064> <d>;<BAS>;<MIN>;IGNORE # 217 d
+<U00F0> <d>;<PCL>;<MIN>;IGNORE # 218 ð
+<U010F> <d>;<CAR>;<MIN>;IGNORE # 219 <d<>
+<U0111> <d>;<OBL>;<MIN>;IGNORE # 220 <d//>
+<U0065> <e>;<BAS>;<MIN>;IGNORE # 221 e
+<U00E9> <e>;<ACA>;<MIN>;IGNORE # 222 é
+<U00E8> <e>;<GRA>;<MIN>;IGNORE # 223 è
+<U00EA> <e>;<CIR>;<MIN>;IGNORE # 224 ê
+<U00EB> <e>;<REU>;<MIN>;IGNORE # 225 ë
+<U011B> <e>;<CAR>;<MIN>;IGNORE # 226 <e<>
+<U0117> <e>;<PCT>;<MIN>;IGNORE # 227 <e.>
+<U0119> <e>;<OGO>;<MIN>;IGNORE # 228 <e;>
+<U0113> <e>;<MAC>;<MIN>;IGNORE # 229 <e->
+<U0066> <f>;<BAS>;<MIN>;IGNORE # 230 f
+<U0067> <g>;<BAS>;<MIN>;IGNORE # 231 g
+<U011F> <g>;<BRE>;<MIN>;IGNORE # 232 <g(>
+<U011D> <g>;<CIR>;<MIN>;IGNORE # 233 <g/>>
+<U0121> <g>;<PCT>;<MIN>;IGNORE # 234 <g.>
+<U0123> <g>;<CDI>;<MIN>;IGNORE # 235 <g,>
+<U0068> <h>;<BAS>;<MIN>;IGNORE # 236 h
+<U0125> <h>;<CIR>;<MIN>;IGNORE # 237 <h/>>
+<U0127> <h>;<OBL>;<MIN>;IGNORE # 238 <h//>
+<U0069> <i>;<BAS>;<MIN>;IGNORE # 239 i
+<U00ED> <i>;<ACA>;<MIN>;IGNORE # 240 í
+<U00EC> <i>;<GRA>;<MIN>;IGNORE # 241 ì
+<U00EE> <i>;<CIR>;<MIN>;IGNORE # 242 î
+<U00EF> <i>;<REU>;<MIN>;IGNORE # 243 ï
+<U0131> <i>;<PCL>;<MIN>;IGNORE # 244 <i.>
+<U0129> <i>;<TIL>;<MIN>;IGNORE # 245 <i?>
+<U012F> <i>;<OGO>;<MIN>;IGNORE # 246 <i;>
+<U012B> <i>;<MAC>;<MIN>;IGNORE # 247 <i->
+<U0133> "<i><j>";"<LIG><LIG>";"<MIN><MIN>";IGNORE # 248 <ij>
+<U006A> <j>;<BAS>;<MIN>;IGNORE # 249 j
+<U0135> <j>;<CIR>;<MIN>;IGNORE # 250 <j/>>
+<U006B> <k>;<BAS>;<MIN>;IGNORE # 251 k
+<U0138> <k>;<PCL>;<MIN>;IGNORE # 252 <kk>
+<U0137> <k>;<CDI>;<MIN>;IGNORE # 253 <k,>
+<U006C> <l>;<BAS>;<MIN>;IGNORE # 254 l
+<U013A> <l>;<ACA>;<MIN>;IGNORE # 255 <l'>
+<U013E> <l>;<CAR>;<MIN>;IGNORE # 256 <l<>
+<U0142> <l>;<OBL>;<MIN>;IGNORE # 257 <l//>
+<U013C> <l>;<CDI>;<MIN>;IGNORE # 258 <l,>
+<U0140> <l>;<PCT>;<MIN>;IGNORE # 259 <l.>
+<U006D> <m>;<BAS>;<MIN>;IGNORE # 260 m
+<U006E> <n>;<BAS>;<MIN>;IGNORE # 261 n
+<U00F1> <n>;<TIL>;<MIN>;IGNORE # 262 ñ
+<U0149> <n>;<PCL>;<MIN>;IGNORE # 263 <'n>
+<U0144> <n>;<ACA>;<MIN>;IGNORE # 264 <n'>
+<U0148> <n>;<CAR>;<MIN>;IGNORE # 265 <n<>
+<U0146> <n>;<CDI>;<MIN>;IGNORE # 266 <n,>
+<U014B> "<n><g>";"<LIG><LIG>";"<MIN><MIN>";IGNORE # 267 <ng>
+<U006F> <o>;<BAS>;<MIN>;IGNORE # 268 o
+<U00BA> <o>;<PCL>;<EMI>;IGNORE # 269 º
+<U00F3> <o>;<ACA>;<MIN>;IGNORE # 270 ó
+<U00F2> <o>;<GRA>;<MIN>;IGNORE # 271 ò
+<U00F4> <o>;<CIR>;<MIN>;IGNORE # 272 ô
+<U00F5> <o>;<TIL>;<MIN>;IGNORE # 273 õ
+<U00F6> <o>;<REU>;<MIN>;IGNORE # 274 ö
+<U00F8> <o>;<OBL>;<MIN>;IGNORE # 275 ø
+<U0151> <o>;<DAC>;<MIN>;IGNORE # 276 <o">
+<U014D> <o>;<MAC>;<MIN>;IGNORE # 277 <o->
+<U0153> "<o><e>";"<LIG><LIG>";"<MIN><MIN>";IGNORE # 278 <oe>
+<U0070> <p>;<BAS>;<MIN>;IGNORE # 279 p
+<U0071> <q>;<BAS>;<MIN>;IGNORE # 280 q
+<U0072> <r>;<BAS>;<MIN>;IGNORE # 281 r
+<U0155> <r>;<ACA>;<MIN>;IGNORE # 282 <r'>
+<U0159> <r>;<CAR>;<MIN>;IGNORE # 283 <r<>
+<U0157> <r>;<CDI>;<MIN>;IGNORE # 284 <r,>
+<U0073> <s>;<BAS>;<MIN>;IGNORE # 285 s
+<U015B> <s>;<ACA>;<MIN>;IGNORE # 286 <s'>
+<U015D> <s>;<CIR>;<MIN>;IGNORE # 287 <s/>>
+<U0161> <s>;<CAR>;<MIN>;IGNORE # 288 <s<>
+<U015F> <s>;<CDI>;<MIN>;IGNORE # 289 <s,>
+<U00DF> "<s><s>";"<LIG><LIG>";"<MIN><MIN>";IGNORE # 290 ß
+<U0074> <t>;<BAS>;<MIN>;IGNORE # 291 t
+<U0165> <t>;<CAR>;<MIN>;IGNORE # 292 <t<>
+<U0167> <t>;<OBL>;<MIN>;IGNORE # 293 <t//>
+<U0163> <t>;<CDI>;<MIN>;IGNORE # 294 <t,>
+<U0075> <u>;<BAS>;<MIN>;IGNORE # 296 u
+<U00FA> <u>;<ACA>;<MIN>;IGNORE # 297 ú
+<U00F9> <u>;<GRA>;<MIN>;IGNORE # 298 ù
+<U00FB> <u>;<CIR>;<MIN>;IGNORE # 299 û
+<U00FC> <u>;<REU>;<MIN>;IGNORE # 300 ü
+<U016D> <u>;<BRE>;<MIN>;IGNORE # 301 <u(>
+<U016F> <u>;<RNE>;<MIN>;IGNORE # 302 <u0>
+<U0171> <u>;<DAC>;<MIN>;IGNORE # 303 <u">
+<U0169> <u>;<TIL>;<MIN>;IGNORE # 304 <u?>
+<U0173> <u>;<OGO>;<MIN>;IGNORE # 305 <u;>
+<U016B> <u>;<MAC>;<MIN>;IGNORE # 306 <u->
+<U0076> <v>;<BAS>;<MIN>;IGNORE # 307 v
+<U0077> <w>;<BAS>;<MIN>;IGNORE # 308 w
+<U0175> <w>;<CIR>;<MIN>;IGNORE # 309 <w/>>
+<U0078> <x>;<BAS>;<MIN>;IGNORE # 310 x
+<U0079> <y>;<BAS>;<MIN>;IGNORE # 311 y
+<U00FD> <y>;<ACA>;<MIN>;IGNORE # 312 ý
+<U00FF> <y>;<REU>;<MIN>;IGNORE # 313 _
+<U0177> <y>;<CIR>;<MIN>;IGNORE # 314 <y/>>
+<U007A> <z>;<BAS>;<MIN>;IGNORE # 315 z
+<U017A> <z>;<ACA>;<MIN>;IGNORE # 316 <z'>
+<U017E> <z>;<CAR>;<MIN>;IGNORE # 317 <z<>
+<U017C> <z>;<PCT>;<MIN>;IGNORE # 318 <z.>
+<U00FE> <th>;<BAS>;<MIN>;IGNORE # 318b Þ #
+<U0041> <a>;<BAS>;<CAP>;IGNORE # 319 A
+<U00C1> <a>;<ACA>;<CAP>;IGNORE # 320 Á
+<U00C0> <a>;<GRA>;<CAP>;IGNORE # 321 À
+<U00C2> <a>;<CIR>;<CAP>;IGNORE # 322 Â
+<U00C3> <a>;<TIL>;<CAP>;IGNORE # 323 Ã
+<U00C4> <a>;<REU>;<CAP>;IGNORE # 324 Ä
+<U00C5> <a>;<RNE>;<CAP>;IGNORE # 325 Å
+<U0102> <a>;<BRE>;<CAP>;IGNORE # 326 <A(>
+<U0104> <a>;<OGO>;<CAP>;IGNORE # 327 <A;>
+<U0100> <a>;<MAC>;<CAP>;IGNORE # 328 <A->
+<U00C6> "<a><e>";"<LIG><LIG>";"<CAP><CAP>";IGNORE # 329 Æ
+<U0042> <b>;<BAS>;<CAP>;IGNORE # 330 B
+<U0043> <c>;<BAS>;<CAP>;IGNORE # 331 C
+<U00C7> <c>;<CDI>;<CAP>;IGNORE # 332 Ç
+<U0106> <c>;<ACA>;<CAP>;IGNORE # 333 <C'>
+<U0108> <c>;<CIR>;<CAP>;IGNORE # 334 <C/>>
+<U010C> <c>;<CAR>;<CAP>;IGNORE # 335 <C>>
+<U010A> <c>;<PCT>;<CAP>;IGNORE # 336 <C.>
+<U0044> <d>;<BAS>;<CAP>;IGNORE # 337 D
+<U00D0> <d>;<PCL>;<CAP>;IGNORE # 338 Ð
+<U010E> <d>;<CAR>;<CAP>;IGNORE # 339 <D<>
+<U0110> <d>;<OBL>;<CAP>;IGNORE # 340 <D//>
+<U0045> <e>;<BAS>;<CAP>;IGNORE # 341 E
+<U00C9> <e>;<ACA>;<CAP>;IGNORE # 342 É
+<U00C8> <e>;<GRA>;<CAP>;IGNORE # 343 È
+<U00CA> <e>;<CIR>;<CAP>;IGNORE # 344 Ê
+<U00CB> <e>;<REU>;<CAP>;IGNORE # 345 Ë
+<U011A> <e>;<CAR>;<CAP>;IGNORE # 346 <E<>
+<U0116> <e>;<PCT>;<CAP>;IGNORE # 347 <E.>
+<U0118> <e>;<OGO>;<CAP>;IGNORE # 348 <E;>
+<U0112> <e>;<MAC>;<CAP>;IGNORE # 349 <E->
+<U0046> <f>;<BAS>;<CAP>;IGNORE # 350 F
+<U0047> <g>;<BAS>;<CAP>;IGNORE # 351 G
+<U011E> <g>;<BRE>;<CAP>;IGNORE # 352 <G(>
+<U011C> <g>;<CIR>;<CAP>;IGNORE # 353 <G/>>
+<U0120> <g>;<PCT>;<CAP>;IGNORE # 354 <G.>
+<U0122> <g>;<CDI>;<CAP>;IGNORE # 355 <G,>
+<U0048> <h>;<BAS>;<CAP>;IGNORE # 356 H
+<U0124> <h>;<CIR>;<CAP>;IGNORE # 357 <H/>>
+<U0126> <h>;<OBL>;<CAP>;IGNORE # 358 <H//>
+<U0049> <i>;<BAS>;<CAP>;IGNORE # 359 I
+<U00CD> <i>;<ACA>;<CAP>;IGNORE # 360 Í
+<U00CC> <i>;<GRA>;<CAP>;IGNORE # 361 Ì
+<U00CE> <i>;<CIR>;<CAP>;IGNORE # 362 Î
+<U00CF> <i>;<REU>;<CAP>;IGNORE # 363 Ï
+<U0130> <i>;<PCL>;<CAP>;IGNORE # 364 <I.>
+<U0128> <i>;<TIL>;<CAP>;IGNORE # 365 <I?>
+<U012E> <i>;<OGO>;<CAP>;IGNORE # 366 <I;>
+<U012A> <i>;<MAC>;<CAP>;IGNORE # 367 <I->
+<U0132> "<i><j>";"<LIG><LIG>";"<CAP><CAP>";IGNORE # 368 <IJ>
+<U004A> <j>;<BAS>;<CAP>;IGNORE # 369 J
+<U0134> <j>;<CIR>;<CAP>;IGNORE # 370 <J/>>
+<U004B> <k>;<BAS>;<CAP>;IGNORE # 371 K
+<U0136> <k>;<CDI>;<CAP>;IGNORE # 372 <K,>
+<U004C> <l>;<BAS>;<CAP>;IGNORE # 373 L
+<U0139> <l>;<ACA>;<CAP>;IGNORE # 374 <L'>
+<U013D> <l>;<CAR>;<CAP>;IGNORE # 375 <L<>
+<U0141> <l>;<OBL>;<CAP>;IGNORE # 376 <L//>
+<U013B> <l>;<CDI>;<CAP>;IGNORE # 377 <L,>
+<U013F> <l>;<PCT>;<CAP>;IGNORE # 378 <L.>
+<U004D> <m>;<BAS>;<CAP>;IGNORE # 379 M
+<U004E> <n>;<BAS>;<CAP>;IGNORE # 380 N
+<U00D1> <n>;<TIL>;<CAP>;IGNORE # 381 Ñ
+<U0143> <n>;<ACA>;<CAP>;IGNORE # 382 <N'>
+<U0147> <n>;<CAR>;<CAP>;IGNORE # 383 <N<>
+<U0145> <n>;<CDI>;<CAP>;IGNORE # 384 <N,>
+<U014A> "<n><g>";"<LIG><LIG>";"<CAP><CAP>";IGNORE # 385 <NG>
+<U004F> <o>;<BAS>;<CAP>;IGNORE # 386 O
+<U00D3> <o>;<ACA>;<CAP>;IGNORE # 387 Ó
+<U00D2> <o>;<GRA>;<CAP>;IGNORE # 388 Ò
+<U00D4> <o>;<CIR>;<CAP>;IGNORE # 389 Ô
+<U00D5> <o>;<TIL>;<CAP>;IGNORE # 390 Õ
+<U00D6> <o>;<REU>;<CAP>;IGNORE # 391 Ö
+<U00D8> <o>;<OBL>;<CAP>;IGNORE # 392 Ø
+<U0150> <o>;<DAC>;<CAP>;IGNORE # 393 <O">
+<U014C> <o>;<MAC>;<CAP>;IGNORE # 394 <O->
+<U0152> "<o><e>";"<LIG><LIG>";"<CAP><CAP>";IGNORE # 395 <OE>
+<U0050> <p>;<BAS>;<CAP>;IGNORE # 396 P
+<U0051> <q>;<BAS>;<CAP>;IGNORE # 397 Q
+<U0052> <r>;<BAS>;<CAP>;IGNORE # 398 R
+<U0154> <r>;<ACA>;<CAP>;IGNORE # 399 <R'>
+<U0158> <r>;<CAR>;<CAP>;IGNORE # 400 <R<>
+<U0156> <r>;<CDI>;<CAP>;IGNORE # 401 <R,>
+<U0053> <s>;<BAS>;<CAP>;IGNORE # 402 S
+<U015A> <s>;<ACA>;<CAP>;IGNORE # 403 <S'>
+<U015C> <s>;<CIR>;<CAP>;IGNORE # 404 <S/>>
+<U0160> <s>;<CAR>;<CAP>;IGNORE # 405 <S<>
+<U015E> <s>;<CDI>;<CAP>;IGNORE # 406 <S,>
+<U0054> <t>;<BAS>;<CAP>;IGNORE # 407 T
+<U0164> <t>;<CAR>;<CAP>;IGNORE # 408 <T<>
+<U0166> <t>;<OBL>;<CAP>;IGNORE # 409 <T//>
+<U0162> <t>;<CDI>;<CAP>;IGNORE # 410 <T,>
+<U0055> <u>;<BAS>;<CAP>;IGNORE # 412 U
+<U00DA> <u>;<ACA>;<CAP>;IGNORE # 413 Ú
+<U00D9> <u>;<GRA>;<CAP>;IGNORE # 414 Ù
+<U00DB> <u>;<CIR>;<CAP>;IGNORE # 415 Û
+<U00DC> <u>;<REU>;<CAP>;IGNORE # 416 Ü
+<U016C> <u>;<BRE>;<CAP>;IGNORE # 417 <U(>
+<U016E> <u>;<RNE>;<CAP>;IGNORE # 418 <U0>
+<U0170> <u>;<DAC>;<CAP>;IGNORE # 419 <U">
+<U0168> <u>;<TIL>;<CAP>;IGNORE # 420 <U?>
+<U0172> <u>;<OGO>;<CAP>;IGNORE # 421 <U;>
+<U016A> <u>;<MAC>;<CAP>;IGNORE # 422 <U->
+<U0056> <v>;<BAS>;<CAP>;IGNORE # 423 V
+<U0057> <w>;<BAS>;<CAP>;IGNORE # 424 W
+<U0174> <w>;<CIR>;<CAP>;IGNORE # 425 <W/>>
+<U0058> <x>;<BAS>;<CAP>;IGNORE # 426 X
+<U0059> <y>;<BAS>;<CAP>;IGNORE # 427 Y
+<U00DD> <y>;<ACA>;<CAP>;IGNORE # 428 Ý
+<U0176> <y>;<CIR>;<CAP>;IGNORE # 429 <Y/>>
+<U0178> <y>;<REU>;<CAP>;IGNORE # 430 <Y:>
+<U005A> <z>;<BAS>;<CAP>;IGNORE # 431 Z
+<U0179> <z>;<ACA>;<CAP>;IGNORE # 432 <Z'>
+<U017D> <z>;<CAR>;<CAP>;IGNORE # 433 <Z<>
+<U017B> <z>;<PCT>;<CAP>;IGNORE # 434 <Z.>
+<U00DE> <th>;<BAS>;<CAP>;IGNORE # 411 þ
+
+order_start <ARABINT>;forward;forward;forward;forward,position
+<U0660> <0>;<BAS>;<MIN>;IGNORE
+<U06F0> <0>;<PCL>;<MIN>;IGNORE
+<U0661> <1>;<BAS>;<MIN>;IGNORE
+<U06F1> <1>;<PCL>;<MIN>;IGNORE
+<U0662> <2>;<BAS>;<MIN>;IGNORE
+<U06F2> <2>;<PCL>;<MIN>;IGNORE
+<U0663> <3>;<BAS>;<MIN>;IGNORE
+<U06F3> <3>;<PCL>;<MIN>;IGNORE
+<U0664> <4>;<BAS>;<MIN>;IGNORE
+<U06F4> <4>;<PCL>;<MIN>;IGNORE
+<U0665> <5>;<BAS>;<MIN>;IGNORE
+<U06F5> <5>;<PCL>;<MIN>;IGNORE
+<U0666> <6>;<BAS>;<MIN>;IGNORE
+<U06F6> <6>;<PCL>;<MIN>;IGNORE
+<U0667> <7>;<BAS>;<MIN>;IGNORE
+<U06F7> <7>;<PCL>;<MIN>;IGNORE
+<U0668> <8>;<BAS>;<MIN>;IGNORE
+<U06F8> <8>;<PCL>;<MIN>;IGNORE
+<U0669> <9>;<BAS>;<MIN>;IGNORE
+<U06F9> <9>;<PCL>;<MIN>;IGNORE
+<U0621> <hamza>;<BAS>;<MIN>;IGNORE
+<U0622> <alef>;<AMA>;<MIN>;IGNORE
+<U0623> <alef>;<AHA>;<MIN>;IGNORE
+<U0625> <alef>;<AHS>;<MIN>;IGNORE
+<U0627> <alef>;<BAS>;<MIN>;IGNORE
+<U0628> <beh>;<BAS>;<MIN>;IGNORE
+<U067E> <peh>;<BAS>;<MIN>;IGNORE
+<U0629> <teh_marbuta>;<BAS>;<MIN>;IGNORE
+<U062A> <teh>;<BAS>;<MIN>;IGNORE
+<U0679> <tteh>;<BAS>;<MIN>;IGNORE
+<U062B> <theh>;<BAS>;<MIN>;IGNORE
+<U062C> <jeem>;<BAS>;<MIN>;IGNORE
+<U0686> <tcheh>;<BAS>;<MIN>;IGNORE
+<U062D> <hah>;<BAS>;<MIN>;IGNORE
+<U062E> <khah>;<BAS>;<MIN>;IGNORE
+<U062F> <dal>;<BAS>;<MIN>;IGNORE
+<U0688> <ddal>;<BAS>;<MIN>;IGNORE
+<U0630> <thal>;<BAS>;<MIN>;IGNORE
+<U0631> <reh>;<BAS>;<MIN>;IGNORE
+<U0691> <rreh>;<BAS>;<MIN>;IGNORE
+<U0632> <zain>;<BAS>;<MIN>;IGNORE
+<U0698> <jeh>;<BAS>;<MIN>;IGNORE
+<U0633> <seen>;<BAS>;<MIN>;IGNORE
+<U0634> <sheen>;<BAS>;<MIN>;IGNORE
+<U0635> <sad>;<BAS>;<MIN>;IGNORE
+<U0636> <dad>;<BAS>;<MIN>;IGNORE
+<U0637> <tah>;<BAS>;<MIN>;IGNORE
+<U0638> <zah>;<BAS>;<MIN>;IGNORE
+<U0639> <ain>;<BAS>;<MIN>;IGNORE
+<U063A> <ghain>;<BAS>;<MIN>;IGNORE
+<U0641> <feh>;<BAS>;<MIN>;IGNORE
+<U0642> <qaf>;<BAS>;<MIN>;IGNORE
+<U0643> <kaf>;<BAS>;<MIN>;IGNORE
+<U06A9> <keheh>;<BAS>;<MIN>;IGNORE
+<U06AF> <gaf>;<BAS>;<MIN>;IGNORE
+<U0644> <lam>;<BAS>;<MIN>;IGNORE
+<U0645> <meem>;<BAS>;<MIN>;IGNORE
+<U0646> <noon>;<BAS>;<MIN>;IGNORE
+<U06BA> <noon_ghunna>;<BAS>;<MIN>;IGNORE
+<U0647> <heh>;<BAS>;<MIN>;IGNORE
+<U06C0> <heh_yeh>;<BAS>;<MIN>;IGNORE
+<U0624> <waw>;<AHW>;<MIN>;IGNORE
+<U0648> <waw>;<BAS>;<MIN>;IGNORE
+<U0649> <alef_maksura>;<BAS>;<MIN>;IGNORE
+<U0626> "<alef_maksura><hamza>";"<BAS><BAS>";"<MIN><MIN>";IGNORE
+<U064A> <alef_maksura>;<AYE>;<MIN>;IGNORE
+<U06D3> <yeh_barree>;<YBA>;<MIN>;IGNORE
+<U06D2> <yeh_barree>;<BAS>;<MIN>;IGNORE
+
+order_start <ARABFOR>;backward;backward;backward;forward,position
+<UFE80> <hamza>;<BAS>;<AIS>;IGNORE
+<UFE81> <alef>;<AMA>;<AIS>;IGNORE
+<UFE82> <alef>;<AMA>;<AFI>;IGNORE
+<UFE83> <alef>;<AHA>;<AIS>;IGNORE
+<UFE84> <alef>;<AHA>;<AFI>;IGNORE
+<UFE87> <alef>;<AHS>;<AIS>;IGNORE
+<UFE88> <alef>;<AHS>;<AFI>;IGNORE
+<UFE8D> <alef>;<BAS>;<AIS>;IGNORE
+<UFE8E> <alef>;<BAS>;<AFI>;IGNORE
+<UFE8F> <beh>;<BAS>;<AIS>;IGNORE
+<UFE90> <beh>;<BAS>;<AFI>;IGNORE
+<UFE91> <beh>;<BAS>;<AII>;IGNORE
+<UFE92> <beh>;<BAS>;<AME>;IGNORE
+<UFB56> <peh>;<BAS>;<AIS>;IGNORE
+<UFB57> <peh>;<BAS>;<AFI>;IGNORE
+<UFB58> <peh>;<BAS>;<AII>;IGNORE
+<UFB59> <peh>;<BAS>;<AME>;IGNORE
+<UFE93> <teh_marbuta>;<BAS>;<AIS>;IGNORE
+<UFE94> <teh_marbuta>;<BAS>;<AFI>;IGNORE
+<UFE95> <teh>;<BAS>;<AIS>;IGNORE
+<UFE96> <teh>;<BAS>;<AFI>;IGNORE
+<UFE97> <teh>;<BAS>;<AII>;IGNORE
+<UFE98> <teh>;<BAS>;<AME>;IGNORE
+<UFB66> <tteh>;<BAS>;<AIS>;IGNORE
+<UFB67> <tteh>;<BAS>;<AFI>;IGNORE
+<UFB68> <tteh>;<BAS>;<AII>;IGNORE
+<UFB69> <tteh>;<BAS>;<AME>;IGNORE
+<UFE99> <theh>;<BAS>;<AIS>;IGNORE
+<UFE9A> <theh>;<BAS>;<AFI>;IGNORE
+<UFE9B> <theh>;<BAS>;<AII>;IGNORE
+<UFE9C> <theh>;<BAS>;<AME>;IGNORE
+<UFE9D> <jeem>;<BAS>;<AIS>;IGNORE
+<UFE9E> <jeem>;<BAS>;<AFI>;IGNORE
+<UFE9F> <jeem>;<BAS>;<AII>;IGNORE
+<UFEA0> <jeem>;<BAS>;<AME>;IGNORE
+<UFB7A> <tcheh>;<BAS>;<AIS>;IGNORE
+<UFB7B> <tcheh>;<BAS>;<AFI>;IGNORE
+<UFB7C> <tcheh>;<BAS>;<AII>;IGNORE
+<UFB7D> <tcheh>;<BAS>;<AME>;IGNORE
+<UFEA1> <hah>;<BAS>;<AIS>;IGNORE
+<UFEA2> <hah>;<BAS>;<AFI>;IGNORE
+<UFEA3> <hah>;<BAS>;<AII>;IGNORE
+<UFEA4> <hah>;<BAS>;<AME>;IGNORE
+<UFEA5> <khah>;<BAS>;<AIS>;IGNORE
+<UFEA6> <khah>;<BAS>;<AFI>;IGNORE
+<UFEA7> <khah>;<BAS>;<AII>;IGNORE
+<UFEA8> <khah>;<BAS>;<AME>;IGNORE
+<UFEA9> <dal>;<BAS>;<AIS>;IGNORE
+<UFEAA> <dal>;<BAS>;<AFI>;IGNORE
+<UFB88> <ddal>;<BAS>;<AIS>;IGNORE
+<UFB89> <ddal>;<BAS>;<AFI>;IGNORE
+<UFEAB> <thal>;<BAS>;<AIS>;IGNORE
+<UFEAC> <thal>;<BAS>;<AFI>;IGNORE
+<UFEAD> <reh>;<BAS>;<AIS>;IGNORE
+<UFEAE> <reh>;<BAS>;<AFI>;IGNORE
+<UFB8C> <rreh>;<BAS>;<AIS>;IGNORE
+<UFB8D> <rreh>;<BAS>;<AFI>;IGNORE
+<UFEAF> <zain>;<BAS>;<AIS>;IGNORE
+<UFEB0> <zain>;<BAS>;<AFI>;IGNORE
+<UFB8A> <jeh>;<BAS>;<AIS>;IGNORE
+<UFB8B> <jeh>;<BAS>;<AFI>;IGNORE
+<UFEB1> <seen>;<BAS>;<AIS>;IGNORE
+<UFEB2> <seen>;<BAS>;<AFI>;IGNORE
+<UFEB3> <seen>;<BAS>;<AII>;IGNORE
+<UFEB4> <seen>;<BAS>;<AME>;IGNORE
+<UFEB5> <sheen>;<BAS>;<AIS>;IGNORE
+<UFEB6> <sheen>;<BAS>;<AFI>;IGNORE
+<UFEB7> <sheen>;<BAS>;<AII>;IGNORE
+<UFEB8> <sheen>;<BAS>;<AME>;IGNORE
+<UFEB9> <sad>;<BAS>;<AIS>;IGNORE
+<UFEBA> <sad>;<BAS>;<AFI>;IGNORE
+<UFEBB> <sad>;<BAS>;<AII>;IGNORE
+<UFEBC> <sad>;<BAS>;<AME>;IGNORE
+<UFEBD> <dad>;<BAS>;<AIS>;IGNORE
+<UFEBE> <dad>;<BAS>;<AFI>;IGNORE
+<UFEBF> <dad>;<BAS>;<AII>;IGNORE
+<UFEC0> <dad>;<BAS>;<AME>;IGNORE
+<UFEC1> <tah>;<BAS>;<AIS>;IGNORE
+<UFEC2> <tah>;<BAS>;<AFI>;IGNORE
+<UFEC3> <tah>;<BAS>;<AII>;IGNORE
+<UFEC4> <tah>;<BAS>;<AME>;IGNORE
+<UFEC5> <zah>;<BAS>;<AIS>;IGNORE
+<UFEC6> <zah>;<BAS>;<AFI>;IGNORE
+<UFEC7> <zah>;<BAS>;<AII>;IGNORE
+<UFEC8> <zah>;<BAS>;<AME>;IGNORE
+<UFEC9> <ain>;<BAS>;<AIS>;IGNORE
+<UFECA> <ain>;<BAS>;<AFI>;IGNORE
+<UFECB> <ain>;<BAS>;<AII>;IGNORE
+<UFECC> <ain>;<BAS>;<AME>;IGNORE
+<UFECD> <ghain>;<BAS>;<AIS>;IGNORE
+<UFECE> <ghain>;<BAS>;<AFI>;IGNORE
+<UFECF> <ghain>;<BAS>;<AII>;IGNORE
+<UFED0> <ghain>;<BAS>;<AME>;IGNORE
+<UFED1> <feh>;<BAS>;<AIS>;IGNORE
+<UFED2> <feh>;<BAS>;<AFI>;IGNORE
+<UFED3> <feh>;<BAS>;<AII>;IGNORE
+<UFED4> <feh>;<BAS>;<AME>;IGNORE
+<UFED5> <qaf>;<BAS>;<AIS>;IGNORE
+<UFED6> <qaf>;<BAS>;<AFI>;IGNORE
+<UFED7> <qaf>;<BAS>;<AII>;IGNORE
+<UFED8> <qaf>;<BAS>;<AME>;IGNORE
+<UFED9> <kaf>;<BAS>;<AIS>;IGNORE
+<UFEDA> <kaf>;<BAS>;<AFI>;IGNORE
+<UFEDB> <kaf>;<BAS>;<AII>;IGNORE
+<UFEDC> <kaf>;<BAS>;<AME>;IGNORE
+<UFB8E> <keheh>;<BAS>;<AIS>;IGNORE
+<UFB8F> <keheh>;<BAS>;<AFI>;IGNORE
+<UFB90> <keheh>;<BAS>;<AII>;IGNORE
+<UFB91> <keheh>;<BAS>;<AME>;IGNORE
+<UFB92> <gaf>;<BAS>;<AIS>;IGNORE
+<UFB93> <gaf>;<BAS>;<AFI>;IGNORE
+<UFB94> <gaf>;<BAS>;<AII>;IGNORE
+<UFB95> <gaf>;<BAS>;<AME>;IGNORE
+<UFEDD> <lam>;<BAS>;<AIS>;IGNORE
+<UFEDE> <lam>;<BAS>;<AFI>;IGNORE
+<UFEDF> <lam>;<BAS>;<AII>;IGNORE
+<UFEE0> <lam>;<BAS>;<AME>;IGNORE
+<UFEE1> <meem>;<BAS>;<AIS>;IGNORE
+<UFEE2> <meem>;<BAS>;<AFI>;IGNORE
+<UFEE3> <meem>;<BAS>;<AII>;IGNORE
+<UFEE4> <meem>;<BAS>;<AME>;IGNORE
+<UFEE5> <noon>;<BAS>;<AIS>;IGNORE
+<UFEE6> <noon>;<BAS>;<AFI>;IGNORE
+<UFEE7> <noon>;<BAS>;<AII>;IGNORE
+<UFEE8> <noon>;<BAS>;<AME>;IGNORE
+<UFB9E> <noon_ghunna>;<BAS>;<AIS>;IGNORE
+<UFB9F> <noon_ghunna>;<BAS>;<AFI>;IGNORE
+<UFEE9> <heh>;<BAS>;<AIS>;IGNORE
+<UFEEA> <heh>;<BAS>;<AFI>;IGNORE
+<UFEEB> <heh>;<BAS>;<AII>;IGNORE
+<UFEEC> <heh>;<BAS>;<AME>;IGNORE
+<UFBA4> <heh_yeh>;<BAS>;<AIS>;IGNORE
+<UFBA5> <heh_yeh>;<BAS>;<AFI>;IGNORE
+<UFE85> <waw>;<AHW>;<AIS>;IGNORE
+<UFE86> <waw>;<AHW>;<AFI>;IGNORE
+<UFEED> <waw>;<BAS>;<AIS>;IGNORE
+<UFEEE> <waw>;<BAS>;<AFI>;IGNORE
+<UFEEF> <alef_maksura>;<BAS>;<AIS>;IGNORE
+<UFEF0> <alef_maksura>;<BAS>;<AFI>;IGNORE
+<UFE89> "<alef_maksura><hamza>";"<BAS><BAS>";"<AIS><AIS>";IGNORE
+<UFE8A> "<alef_maksura><hamza>";"<BAS><BAS>";"<AFI><AIS>";IGNORE
+<UFE8B> "<alef_maksura><hamza>";"<BAS><BAS>";"<AII><AIS>";IGNORE
+<UFE8C> "<alef_maksura><hamza>";"<BAS><BAS>";"<AME><AIS>";IGNORE
+<UFEF1> <alef_maksura>;<AYE>;<AIS>;IGNORE
+<UFEF2> <alef_maksura>;<AYE>;<AFI>;IGNORE
+<UFEF3> <alef_maksura>;<AYE>;<AII>;IGNORE
+<UFEF4> <alef_maksura>;<AYE>;<AME>;IGNORE
+<UFBB0> <yeh_barree>;<YBA>;<AIS>;IGNORE
+<UFBB1> <yeh_barree>;<YBA>;<AFI>;IGNORE
+<UFBAE> <yeh_barree>;<BAS>;<AIS>;IGNORE
+<UFBAF> <yeh_barree>;<BAS>;<AFI>;IGNORE
+<UFEF5> "<lam><alef>";"<BAS><AMA>";"<AIS><AFI>";IGNORE
+<UFEF6> "<lam><alef>";"<BAS><AMA>";"<AFI><AFI>";IGNORE
+<UFEF7> "<lam><alef>";"<BAS><AHA>";"<AIS><AFI>";IGNORE
+<UFEF8> "<lam><alef>";"<BAS><AHA>";"<AFI><AFI>";IGNORE
+<UFEF9> "<lam><alef>";"<BAS><AHS>";"<AIS><AFI>";IGNORE
+<UFEFA> "<lam><alef>";"<BAS><AHS>";"<AFI><AFI>";IGNORE
+<UFEFB> "<lam><alef>";"<BAS><BAS>";"<AIS><AFI>";IGNORE
+<UFEFC> "<lam><alef>";"<BAS><BAS>";"<AFI><AFI>";IGNORE
+
+order_start <HEBREU>;forward;forward;forward;forward,position
+<U05D0> <alef_heb>;<BAS>;IGNORE;IGNORE
+<U05D1> <bet>;<BAS>;IGNORE;IGNORE
+<U05D2> <gimel>;<BAS>;IGNORE;IGNORE
+<U05D3> <dalet>;<BAS>;IGNORE;IGNORE
+<U05D4> <he>;<BAS>;IGNORE;IGNORE
+<U05D5> <vav>;<BAS>;IGNORE;IGNORE
+<U05D6> <zayin>;<BAS>;IGNORE;IGNORE
+<U05D7> <het>;<BAS>;IGNORE;IGNORE
+<U05D8> <tet>;<BAS>;IGNORE;IGNORE
+<U05D9> <yod>;<BAS>;IGNORE;IGNORE
+<U05DA> <kaf_fin>;<BAS>;IGNORE;IGNORE
+<U05DB> <kaf_heb>;<BAS>;IGNORE;IGNORE
+<U05DC> <lamed>;<BAS>;IGNORE;IGNORE
+<U05DD> <mem_fin>;<BAS>;IGNORE;IGNORE
+<U05DE> <mem>;<BAS>;IGNORE;IGNORE
+<U05DF> <nun_fin>;<BAS>;IGNORE;IGNORE
+<U05E0> <nun>;<BAS>;IGNORE;IGNORE
+<U05E1> <samekh>;<BAS>;IGNORE;IGNORE
+<U05E2> <ayin>;<BAS>;IGNORE;IGNORE
+<U05E3> <pe_fin>;<BAS>;IGNORE;IGNORE
+<U05E4> <pe>;<BAS>;IGNORE;IGNORE
+<U05E5> <tsadi_fin>;<BAS>;IGNORE;IGNORE
+<U05E6> <tsadi>;<BAS>;IGNORE;IGNORE
+<U05E7> <qof>;<BAS>;IGNORE;IGNORE
+<U05E8> <resh>;<BAS>;IGNORE;IGNORE
+<U05E9> <shin>;<BAS>;IGNORE;IGNORE
+<U05EA> <tav>;<BAS>;IGNORE;IGNORE
+
+order_start <GREC>;forward;backward;forward;forward,position
+<U0391> <ALPHA>;<BAS>;<CAP>;IGNORE
+<U0386> <ALPHA>;<TNS>;<CAP>;IGNORE
+<U0392> <BETA>;<BAS>;<CAP>;IGNORE
+<U0393> <GAMMA>;<BAS>;<CAP>;IGNORE
+<U03DC> <GAMMA>;<PCL>;<CAP>;IGNORE # digamma copte
+<U0394> <DELTA>;<BAS>;<CAP>;IGNORE
+<U03EA> <DELTA>;<PCL>;<CAP>;IGNORE # GANGIA COPTE
+<U0395> <EPSILON>;<BAS>;<CAP>;IGNORE
+<U0388> <EPSILON>;<TNS>;<CAP>;IGNORE
+<U0396> <ZETA>;<BAS>;<CAP>;IGNORE
+<U03E8> <ZETA>;<PCL>;<CAP>;IGNORE # HORI COPTE
+<U0397> <ETA>;<BAS>;<CAP>;IGNORE
+<U0389> <ETA>;<TNS>;<CAP>;IGNORE
+<U0398> <THETA>;<BAS>;<CAP>;IGNORE
+<U0399> <IOTA>;<BAS>;<CAP>;IGNORE
+<U038A> <IOTA>;<TNS>;<CAP>;IGNORE
+<U03AA> <IOTA>;<DLT>;<CAP>;IGNORE
+<U039A> <KAPPA>;<BAS>;<CAP>;IGNORE
+<U03DE> <KAPPA>;<PCL>;<CAP>;IGNORE # koppa copte
+<U03E6> <KAPPA>;<LIG>;<CAP>;IGNORE # KHEI COPTE
+<U039B> <LAMBDA>;<BAS>;<CAP>;IGNORE
+<U039C> <MU>;<BAS>;<CAP>;IGNORE
+<U039D> <NU>;<BAS>;<CAP>;IGNORE
+<U039E> <XI>;<BAS>;<CAP>;IGNORE
+<U039F> <OMICRON>;<BAS>;<CAP>;IGNORE
+<U038C> <OMICRON>;<TNS>;<CAP>;IGNORE
+<U03A0> <PI>;<BAS>;<CAP>;IGNORE
+<U03A1> <RHO>;<BAS>;<CAP>;IGNORE
+<U03C1> <RHO>;<BAS>;<CAP>;IGNORE
+<U03A3> <SIGMA>;<BAS>;<CAP>;IGNORE
+<U03DA> <SIGMA>;<PCL>;<CAP>;IGNORE # STIGMA ARCH.
+<U03EC> <SIGMA>;<LIG>;<CAP>;IGNORE # SHIMA COPTE
+<U03A4> <TAU>;<BAS>;<CAP>;IGNORE
+<U03EE> <TAU>;<PCL>;<CAP>;IGNORE # DEI COPTE
+<U03A5> <UPSILON>;<BAS>;<CAP>;IGNORE
+<U038E> <UPSILON>;<TNS>;<CAP>;IGNORE
+<U03AB> <UPSILON>;<DLT>;<CAP>;IGNORE
+<U03D4> <UPSILON>;<DTT>;<CAP>;IGNORE
+<U03D2> <UPSILON>;<OGO>;<CAP>;IGNORE
+<U03D3> <UPSILON>;<MAC>;<CAP>;IGNORE
+<U03A6> <PHI>;<BAS>;<CAP>;IGNORE
+<U03E4> <PHI>;<LIG>;<CAP>;IGNORE # FEI COPTE
+<U03A7> <CHI>;<BAS>;<CAP>;IGNORE
+<U03E0> <CHI>;<PCL>;<CAP>;IGNORE # sampi copte
+<U03A8> <PSI>;<BAS>;<CAP>;IGNORE
+<U03E2> <PSI>;<PCL>;<CAP>;IGNORE # SHEI COPTE
+<U03A9> <OMEGA>;<BAS>;<CAP>;IGNORE
+<U038F> <OMEGA>;<TNS>;<CAP>;IGNORE
+<U03B1> <ALPHA>;<BAS>;<AMI>;IGNORE
+<U03AC> <ALPHA>;<TNS>;<AMI>;IGNORE
+<U03B2> <BETA>;<BAS>;<AMI>;IGNORE
+<U03D0> <BETA>;<PCL>;<AMI>;IGNORE
+<U03B3> <GAMMA>;<BAS>;<AMI>;IGNORE
+<U03B4> <DELTA>;<BAS>;<AMI>;IGNORE
+<U03EB> <DELTA>;<BAS>;<AMI>;IGNORE # gangia copte
+<U03B5> <EPSILON>;<BAS>;<AMI>;IGNORE
+<U03AD> <EPSILON>;<TNS>;<AMI>;IGNORE
+<U03B6> <ZETA>;<BAS>;<AMI>;IGNORE
+<U03E9> <ZETA>;<PCL>;<AMI>;IGNORE # hori copte
+<U03B7> <ETA>;<BAS>;<AMI>;IGNORE
+<U03AE> <ETA>;<TNS>;<AMI>;IGNORE
+<U03B8> <THETA>;<BAS>;<AMI>;IGNORE
+<U03D1> <THETA>;<PCL>;<AMI>;IGNORE
+<U03B9> <IOTA>;<BAS>;<AMI>;IGNORE
+<U03AF> <IOTA>;<TNS>;<AMI>;IGNORE
+<U03CA> <IOTA>;<DLT>;<AMI>;IGNORE
+<U0390> <IOTA>;<DTT>;<AMI>;IGNORE
+<U03F3> <IOTA>;<OGO>;<AMI>;IGNORE # yot
+<U03BA> <KAPPA>;<BAS>;<AMI>;IGNORE
+<U03F0> <KAPPA>;<PCL>;<AMI>;IGNORE
+<U03E7> <KAPPA>;<LIG>;<AMI>;IGNORE # khei copte
+<U03BB> <LAMBDA>;<BAS>;<AMI>;IGNORE
+<U03BC> <MU>;<BAS>;<AMI>;IGNORE
+<U03BD> <NU>;<BAS>;<AMI>;IGNORE
+<U03BE> <XI>;<BAS>;<AMI>;IGNORE
+<U03BF> <OMICRON>;<BAS>;<AMI>;IGNORE
+<U03CC> <OMICRON>;<TNS>;<AMI>;IGNORE
+<U03C0> <PI>;<BAS>;<AMI>;IGNORE
+<U03D6> <PI>;<PCL>;<AMI>;IGNORE
+<U03F1> <RHO>;<PCL>;<AMI>;IGNORE
+<U03C3> <SIGMA>;<BAS>;<AMI>;IGNORE
+<U03C2> <SIGMA>;<PCL>;<AMI>;IGNORE
+<U03ED> <SIGMA>;<LIG>;<AMI>;IGNORE # shima copte
+<U03F2> <SIGMA>;<OGO>;<AMI>;IGNORE
+<U03C4> <TAU>;<BAS>;<AMI>;IGNORE
+<U03EF> <TAU>;<PCL>;<AMI>;IGNORE # dei copte
+<U03C5> <UPSILON>;<BAS>;<AMI>;IGNORE
+<U03CD> <UPSILON>;<TNS>;<AMI>;IGNORE
+<U03CB> <UPSILON>;<DLT>;<AMI>;IGNORE
+<U03B0> <UPSILON>;<DTT>;<AMI>;IGNORE
+<U03C6> <PHI>;<BAS>;<AMI>;IGNORE
+<U03D5> <PHI>;<PCL>;<AMI>;IGNORE
+<U03E5> <PHI>;<LIG>;<AMI>;IGNORE # fei copte
+<U03C7> <CHI>;<BAS>;<AMI>;IGNORE
+<U03C8> <PSI>;<BAS>;<AMI>;IGNORE
+<U03E3> <PSI>;<PCL>;<AMI>;IGNORE # shei copte
+<U03C9> <OMEGA>;<BAS>;<AMI>;IGNORE
+<U03CE> <OMEGA>;<TNS>;<AMI>;IGNORE
+
+order_start <CYRIL>;forward;forward;forward;forward,position
+<U0430> <CYR-A>;<BAS>;<MIN>;IGNORE
+<U0431> <CYR-BE>;<BAS>;<MIN>;IGNORE
+<U0432> <CYR-VE>;<BAS>;<MIN>;IGNORE
+<U0433> <CYR-GHE>;<BAS>;<MIN>;IGNORE
+<U0434> <CYR-DE>;<BAS>;<MIN>;IGNORE
+<U0453> <CYR-GZHE>;<BAS>;<MIN>;IGNORE
+<U0435> <CYR-IE>;<BAS>;<MIN>;IGNORE
+<U0452> <CYR-DJE>;<BAS>;<MIN>;IGNORE
+<U0454> <UKR-IE>;<BAS>;<MIN>;IGNORE
+<U0451> <CYR-IO>;<BAS>;<MIN>;IGNORE
+<U0436> <CYR-ZHE>;<BAS>;<MIN>;IGNORE
+<U0437> <CYR-ZE>;<BAS>;<MIN>;IGNORE
+<U0455> <CYR-DZE>;<BAS>;<MIN>;IGNORE
+<U0438> <CYR-I>;<BAS>;<MIN>;IGNORE
+<U0456> <UKR-I>;<BAS>;<MIN>;IGNORE
+<U0457> <UKR-YI>;<BAS>;<MIN>;IGNORE
+<U0439> <CYR-IBRE>;<BAS>;<MIN>;IGNORE
+<U0458> <CYR-JE>;<BAS>;<MIN>;IGNORE
+<U043A> <CYR-KA>;<BAS>;<MIN>;IGNORE
+<U043B> <CYR-EL>;<BAS>;<MIN>;IGNORE
+<U0459> <CYR-LJE>;<BAS>;<MIN>;IGNORE
+<U043C> <CYR-EM>;<BAS>;<MIN>;IGNORE
+<U043D> <CYR-EN>;<BAS>;<MIN>;IGNORE
+<U045A> <CYR-NJE>;<BAS>;<MIN>;IGNORE
+<U043E> <CYR-O>;<BAS>;<MIN>;IGNORE
+<U043F> <CYR-PE>;<BAS>;<MIN>;IGNORE
+<U0440> <CYR-ER>;<BAS>;<MIN>;IGNORE
+<U0441> <CYR-ES>;<BAS>;<MIN>;IGNORE
+<U0442> <CYR-TE>;<BAS>;<MIN>;IGNORE
+<U045C> <CYR-KJE>;<BAS>;<MIN>;IGNORE
+<U045B> <CYR-TSHE>;<BAS>;<MIN>;IGNORE
+<U0443> <CYR-OU>;<BAS>;<MIN>;IGNORE
+<U045E> <CYR-OUBRE>;<BAS>;<MIN>;IGNORE
+<U0444> <CYR-EF>;<BAS>;<MIN>;IGNORE
+<U0445> <CYR-HA>;<BAS>;<MIN>;IGNORE
+<U0446> <CYR-TSE>;<BAS>;<MIN>;IGNORE
+<U0447> <CYR-CHE>;<BAS>;<MIN>;IGNORE
+<U045F> <CYR-DCHE>;<BAS>;<MIN>;IGNORE
+<U0448> <CYR-SHA>;<BAS>;<MIN>;IGNORE
+<U0449> <CYR-SHTSHA>;<BAS>;<MIN>;IGNORE
+<U044A> <CYR-SIGDUR>;<BAS>;<MIN>;IGNORE
+<U044B> <CYR-YEROU>;<BAS>;<MIN>;IGNORE
+<U044C> <CYR-SIGMOUIL>;<BAS>;<MIN>;IGNORE
+<U044D> <CYR-E>;<BAS>;<MIN>;IGNORE
+<U044E> <CYR-YOU>;<BAS>;<MIN>;IGNORE
+<U044F> <CYR-YA>;<BAS>;<MIN>;IGNORE
+<U0410> <CYR-A>;<BAS>;<CAP>;IGNORE
+<U0411> <CYR-BE>;<BAS>;<CAP>;IGNORE
+<U0412> <CYR-VE>;<BAS>;<CAP>;IGNORE
+<U0413> <CYR-GHE>;<BAS>;<CAP>;IGNORE
+<U0414> <CYR-DE>;<BAS>;<CAP>;IGNORE
+<U0403> <CYR-GZHE>;<BAS>;<CAP>;IGNORE
+<U0402> <CYR-DJE>;<BAS>;<CAP>;IGNORE
+<U0415> <CYR-IE>;<BAS>;<CAP>;IGNORE
+<U0404> <UKR-IE>;<BAS>;<CAP>;IGNORE
+<U0401> <CYR-IO>;<BAS>;<CAP>;IGNORE
+<U0416> <CYR-ZHE>;<BAS>;<CAP>;IGNORE
+<U0417> <CYR-ZE>;<BAS>;<CAP>;IGNORE
+<U0405> <CYR-DZE>;<BAS>;<CAP>;IGNORE
+<U0418> <CYR-I>;<BAS>;<CAP>;IGNORE
+<U0406> <UKR-I>;<BAS>;<CAP>;IGNORE
+<U0407> <UKR-YI>;<BAS>;<CAP>;IGNORE
+<U0419> <CYR-IBRE>;<BAS>;<CAP>;IGNORE
+<U0408> <CYR-JE>;<BAS>;<CAP>;IGNORE
+<U041A> <CYR-KA>;<BAS>;<CAP>;IGNORE
+<U041B> <CYR-EL>;<BAS>;<CAP>;IGNORE
+<U0409> <CYR-LJE>;<BAS>;<CAP>;IGNORE
+<U041C> <CYR-EM>;<BAS>;<CAP>;IGNORE
+<U041D> <CYR-EN>;<BAS>;<CAP>;IGNORE
+<U040A> <CYR-NJE>;<BAS>;<CAP>;IGNORE
+<U041E> <CYR-O>;<BAS>;<CAP>;IGNORE
+<U041F> <CYR-PE>;<BAS>;<CAP>;IGNORE
+<U0420> <CYR-ER>;<BAS>;<CAP>;IGNORE
+<U0421> <CYR-ES>;<BAS>;<CAP>;IGNORE
+<U0422> <CYR-TE>;<BAS>;<CAP>;IGNORE
+<U040C> <CYR-KJE>;<BAS>;<CAP>;IGNORE
+<U040B> <CYR-TSHE>;<BAS>;<CAP>;IGNORE
+<U0423> <CYR-OU>;<BAS>;<CAP>;IGNORE
+<U040E> <CYR-OUBRE>;<BAS>;<CAP>;IGNORE
+<U0424> <CYR-EF>;<BAS>;<CAP>;IGNORE
+<U0425> <CYR-HA>;<BAS>;<CAP>;IGNORE
+<U0426> <CYR-TSE>;<BAS>;<CAP>;IGNORE
+<U0427> <CYR-CHE>;<BAS>;<CAP>;IGNORE
+<U040F> <CYR-DCHE>;<BAS>;<CAP>;IGNORE
+<U0428> <CYR-SHA>;<BAS>;<CAP>;IGNORE
+<U0429> <CYR-SHTSHA>;<BAS>;<CAP>;IGNORE
+<U042A> <CYR-SIGDUR>;<BAS>;<CAP>;IGNORE
+<U042B> <CYR-YEROU>;<BAS>;<CAP>;IGNORE
+<U042C> <CYR-SIGMOUIL>;<BAS>;<CAP>;IGNORE
+<U042D> <CYR-E>;<BAS>;<CAP>;IGNORE
+<U042E> <CYR-YOU>;<BAS>;<CAP>;IGNORE
+<U042F> <CYR-YA>;<BAS>;<CAP>;IGNORE
+
+order_start <HAN>;forward;forward;forward;forward,position
+UCLIBC_RANGE <U4E00> <U9FA5> ..;IGNORE;IGNORE;IGNORE
+#<U4E00>	<U4E00>;IGNORE;IGNORE;IGNORE
+#..	..;IGNORE;IGNORE;IGNORE
+#<U9FA5> <U9FA5>;IGNORE;IGNORE;IGNORE
+#
+order_end
+#
diff --git a/ap/build/uClibc/extra/locale/collation/it_CH b/ap/build/uClibc/extra/locale/collation/it_CH
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/it_CH
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/it_IT b/ap/build/uClibc/extra/locale/collation/it_IT
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/it_IT
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/iw_IL b/ap/build/uClibc/extra/locale/collation/iw_IL
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/iw_IL
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/ja_JP b/ap/build/uClibc/extra/locale/collation/ja_JP
new file mode 100644
index 0000000..fa26bac
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ja_JP
@@ -0,0 +1,13188 @@
+order_start forward
+%
+% C0
+%
+<U0000>
+<U0001>
+<U0002>
+<U0003>
+<U0004>
+<U0005>
+<U0006>
+<U0007>
+<U0008>
+<U0009>
+<U000A>
+<U000B>
+<U000C>
+<U000D>
+<U000E>
+<U000F>
+<U0010>
+<U0011>
+<U0012>
+<U0013>
+<U0014>
+<U0015>
+<U0016>
+<U0017>
+<U0018>
+<U0019>
+<U001A>
+<U001B>
+<U001C>
+<U001D>
+<U001E>
+<U001F>
+%
+% ISO 646 IRV
+%
+<U0020>
+<U0021>
+<U0022>
+<U0023>
+<U0024>
+<U0025>
+<U0026>
+<U0027>
+<U0028>
+<U0029>
+<U002A>
+<U002B>
+<U002C>
+<U002D>
+<U002E>
+<U002F>
+<U0030>
+<U0031>
+<U0032>
+<U0033>
+<U0034>
+<U0035>
+<U0036>
+<U0037>
+<U0038>
+<U0039>
+<U003A>
+<U003B>
+<U003C>
+<U003D>
+<U003E>
+<U003F>
+<U0040>
+<U0041>
+<U0042>
+<U0043>
+<U0044>
+<U0045>
+<U0046>
+<U0047>
+<U0048>
+<U0049>
+<U004A>
+<U004B>
+<U004C>
+<U004D>
+<U004E>
+<U004F>
+<U0050>
+<U0051>
+<U0052>
+<U0053>
+<U0054>
+<U0055>
+<U0056>
+<U0057>
+<U0058>
+<U0059>
+<U005A>
+<U005B>
+<U005C>
+<U005D>
+<U005E>
+<U005F>
+<U0060>
+<U0061>
+<U0062>
+<U0063>
+<U0064>
+<U0065>
+<U0066>
+<U0067>
+<U0068>
+<U0069>
+<U006A>
+<U006B>
+<U006C>
+<U006D>
+<U006E>
+<U006F>
+<U0070>
+<U0071>
+<U0072>
+<U0073>
+<U0074>
+<U0075>
+<U0076>
+<U0077>
+<U0078>
+<U0079>
+<U007A>
+<U007B>
+<U007C>
+<U007D>
+<U007E>
+<U007F>
+%
+% C1
+%
+<U0080>
+<U0081>
+<U0082>
+<U0083>
+<U0084>
+<U0085>
+<U0086>
+<U0087>
+<U0088>
+<U0089>
+<U008A>
+<U008B>
+<U008C>
+<U008D>
+<U0090>
+<U0091>
+<U0092>
+<U0093>
+<U0094>
+<U0095>
+<U0096>
+<U0097>
+<U0098>
+<U0099>
+<U009A>
+<U009B>
+<U009C>
+<U009D>
+<U009E>
+<U009F>
+%
+% JIS X 0201 KATAKANA
+%
+<UFF61>
+<UFF62>
+<UFF63>
+<UFF64>
+<UFF65>
+<UFF66>
+<UFF67>
+<UFF68>
+<UFF69>
+<UFF6A>
+<UFF6B>
+<UFF6C>
+<UFF6D>
+<UFF6E>
+<UFF6F>
+<UFF70>
+<UFF71>
+<UFF72>
+<UFF73>
+<UFF74>
+<UFF75>
+<UFF76>
+<UFF77>
+<UFF78>
+<UFF79>
+<UFF7A>
+<UFF7B>
+<UFF7C>
+<UFF7D>
+<UFF7E>
+<UFF7F>
+<UFF80>
+<UFF81>
+<UFF82>
+<UFF83>
+<UFF84>
+<UFF85>
+<UFF86>
+<UFF87>
+<UFF88>
+<UFF89>
+<UFF8A>
+<UFF8B>
+<UFF8C>
+<UFF8D>
+<UFF8E>
+<UFF8F>
+<UFF90>
+<UFF91>
+<UFF92>
+<UFF93>
+<UFF94>
+<UFF95>
+<UFF96>
+<UFF97>
+<UFF98>
+<UFF99>
+<UFF9A>
+<UFF9B>
+<UFF9C>
+<UFF9D>
+<UFF9E>
+<UFF9F>
+%
+% JIS X 0208
+%
+<U3000>
+<U3001>
+<U3002>
+<UFF0C>
+<UFF0E>
+<U30FB>
+<UFF1A>
+<UFF1B>
+<UFF1F>
+<UFF01>
+<U309B>
+<U309C>
+<U00B4>
+<UFF40>
+<U00A8>
+<UFF3E>
+<UFFE3>
+<UFF3F>
+<U30FD>
+<U30FE>
+<U309D>
+<U309E>
+<U3003>
+<U4EDD>
+<U3005>
+<U3006>
+<U3007>
+<U30FC>
+<U2015>
+<U2010>
+<UFF0F>
+<UFF3C>
+<U301C>
+<U2016>
+<UFF5C>
+<U2026>
+<U2025>
+<U2018>
+<U2019>
+<U201C>
+<U201D>
+<UFF08>
+<UFF09>
+<U3014>
+<U3015>
+<UFF3B>
+<UFF3D>
+<UFF5B>
+<UFF5D>
+<U3008>
+<U3009>
+<U300A>
+<U300B>
+<U300C>
+<U300D>
+<U300E>
+<U300F>
+<U3010>
+<U3011>
+<UFF0B>
+<U2212>
+<U00B1>
+<U00D7>
+<U00F7>
+<UFF1D>
+<U2260>
+<UFF1C>
+<UFF1E>
+<U2266>
+<U2267>
+<U221E>
+<U2234>
+<U2642>
+<U2640>
+<U00B0>
+<U2032>
+<U2033>
+<U2103>
+<UFFE5>
+<UFF04>
+<U00A2>
+<U00A3>
+<UFF05>
+<UFF03>
+<UFF06>
+<UFF0A>
+<UFF20>
+<U00A7>
+<U2606>
+<U2605>
+<U25CB>
+<U25CF>
+<U25CE>
+<U25C7>
+<U25C6>
+<U25A1>
+<U25A0>
+<U25B3>
+<U25B2>
+<U25BD>
+<U25BC>
+<U203B>
+<U3012>
+<U2192>
+<U2190>
+<U2191>
+<U2193>
+<U3013>
+<U2208>
+<U220B>
+<U2286>
+<U2287>
+<U2282>
+<U2283>
+<U222A>
+<U2229>
+<U2227>
+<U2228>
+<U00AC>
+<U21D2>
+<U21D4>
+<U2200>
+<U2203>
+<U2220>
+<U22A5>
+<U2312>
+<U2202>
+<U2207>
+<U2261>
+<U2252>
+<U226A>
+<U226B>
+<U221A>
+<U223D>
+<U221D>
+<U2235>
+<U222B>
+<U222C>
+<U212B>
+<U2030>
+<U266F>
+<U266D>
+<U266A>
+<U2020>
+<U2021>
+<U00B6>
+<U25EF>
+<UFF10>
+<UFF11>
+<UFF12>
+<UFF13>
+<UFF14>
+<UFF15>
+<UFF16>
+<UFF17>
+<UFF18>
+<UFF19>
+<UFF21>
+<UFF22>
+<UFF23>
+<UFF24>
+<UFF25>
+<UFF26>
+<UFF27>
+<UFF28>
+<UFF29>
+<UFF2A>
+<UFF2B>
+<UFF2C>
+<UFF2D>
+<UFF2E>
+<UFF2F>
+<UFF30>
+<UFF31>
+<UFF32>
+<UFF33>
+<UFF34>
+<UFF35>
+<UFF36>
+<UFF37>
+<UFF38>
+<UFF39>
+<UFF3A>
+<UFF41>
+<UFF42>
+<UFF43>
+<UFF44>
+<UFF45>
+<UFF46>
+<UFF47>
+<UFF48>
+<UFF49>
+<UFF4A>
+<UFF4B>
+<UFF4C>
+<UFF4D>
+<UFF4E>
+<UFF4F>
+<UFF50>
+<UFF51>
+<UFF52>
+<UFF53>
+<UFF54>
+<UFF55>
+<UFF56>
+<UFF57>
+<UFF58>
+<UFF59>
+<UFF5A>
+<U3041>
+<U3042>
+<U3043>
+<U3044>
+<U3045>
+<U3046>
+<U3047>
+<U3048>
+<U3049>
+<U304A>
+<U304B>
+<U304C>
+<U304D>
+<U304E>
+<U304F>
+<U3050>
+<U3051>
+<U3052>
+<U3053>
+<U3054>
+<U3055>
+<U3056>
+<U3057>
+<U3058>
+<U3059>
+<U305A>
+<U305B>
+<U305C>
+<U305D>
+<U305E>
+<U305F>
+<U3060>
+<U3061>
+<U3062>
+<U3063>
+<U3064>
+<U3065>
+<U3066>
+<U3067>
+<U3068>
+<U3069>
+<U306A>
+<U306B>
+<U306C>
+<U306D>
+<U306E>
+<U306F>
+<U3070>
+<U3071>
+<U3072>
+<U3073>
+<U3074>
+<U3075>
+<U3076>
+<U3077>
+<U3078>
+<U3079>
+<U307A>
+<U307B>
+<U307C>
+<U307D>
+<U307E>
+<U307F>
+<U3080>
+<U3081>
+<U3082>
+<U3083>
+<U3084>
+<U3085>
+<U3086>
+<U3087>
+<U3088>
+<U3089>
+<U308A>
+<U308B>
+<U308C>
+<U308D>
+<U308E>
+<U308F>
+<U3090>
+<U3091>
+<U3092>
+<U3093>
+<U30A1>
+<U30A2>
+<U30A3>
+<U30A4>
+<U30A5>
+<U30A6>
+<U30A7>
+<U30A8>
+<U30A9>
+<U30AA>
+<U30AB>
+<U30AC>
+<U30AD>
+<U30AE>
+<U30AF>
+<U30B0>
+<U30B1>
+<U30B2>
+<U30B3>
+<U30B4>
+<U30B5>
+<U30B6>
+<U30B7>
+<U30B8>
+<U30B9>
+<U30BA>
+<U30BB>
+<U30BC>
+<U30BD>
+<U30BE>
+<U30BF>
+<U30C0>
+<U30C1>
+<U30C2>
+<U30C3>
+<U30C4>
+<U30C5>
+<U30C6>
+<U30C7>
+<U30C8>
+<U30C9>
+<U30CA>
+<U30CB>
+<U30CC>
+<U30CD>
+<U30CE>
+<U30CF>
+<U30D0>
+<U30D1>
+<U30D2>
+<U30D3>
+<U30D4>
+<U30D5>
+<U30D6>
+<U30D7>
+<U30D8>
+<U30D9>
+<U30DA>
+<U30DB>
+<U30DC>
+<U30DD>
+<U30DE>
+<U30DF>
+<U30E0>
+<U30E1>
+<U30E2>
+<U30E3>
+<U30E4>
+<U30E5>
+<U30E6>
+<U30E7>
+<U30E8>
+<U30E9>
+<U30EA>
+<U30EB>
+<U30EC>
+<U30ED>
+<U30EE>
+<U30EF>
+<U30F0>
+<U30F1>
+<U30F2>
+<U30F3>
+<U30F4>
+<U30F5>
+<U30F6>
+<U0391>
+<U0392>
+<U0393>
+<U0394>
+<U0395>
+<U0396>
+<U0397>
+<U0398>
+<U0399>
+<U039A>
+<U039B>
+<U039C>
+<U039D>
+<U039E>
+<U039F>
+<U03A0>
+<U03A1>
+<U03A3>
+<U03A4>
+<U03A5>
+<U03A6>
+<U03A7>
+<U03A8>
+<U03A9>
+<U03B1>
+<U03B2>
+<U03B3>
+<U03B4>
+<U03B5>
+<U03B6>
+<U03B7>
+<U03B8>
+<U03B9>
+<U03BA>
+<U03BB>
+<U03BC>
+<U03BD>
+<U03BE>
+<U03BF>
+<U03C0>
+<U03C1>
+<U03C3>
+<U03C4>
+<U03C5>
+<U03C6>
+<U03C7>
+<U03C8>
+<U03C9>
+<U0410>
+<U0411>
+<U0412>
+<U0413>
+<U0414>
+<U0415>
+<U0401>
+<U0416>
+<U0417>
+<U0418>
+<U0419>
+<U041A>
+<U041B>
+<U041C>
+<U041D>
+<U041E>
+<U041F>
+<U0420>
+<U0421>
+<U0422>
+<U0423>
+<U0424>
+<U0425>
+<U0426>
+<U0427>
+<U0428>
+<U0429>
+<U042A>
+<U042B>
+<U042C>
+<U042D>
+<U042E>
+<U042F>
+<U0430>
+<U0431>
+<U0432>
+<U0433>
+<U0434>
+<U0435>
+<U0451>
+<U0436>
+<U0437>
+<U0438>
+<U0439>
+<U043A>
+<U043B>
+<U043C>
+<U043D>
+<U043E>
+<U043F>
+<U0440>
+<U0441>
+<U0442>
+<U0443>
+<U0444>
+<U0445>
+<U0446>
+<U0447>
+<U0448>
+<U0449>
+<U044A>
+<U044B>
+<U044C>
+<U044D>
+<U044E>
+<U044F>
+<U2500>
+<U2502>
+<U250C>
+<U2510>
+<U2518>
+<U2514>
+<U251C>
+<U252C>
+<U2524>
+<U2534>
+<U253C>
+<U2501>
+<U2503>
+<U250F>
+<U2513>
+<U251B>
+<U2517>
+<U2523>
+<U2533>
+<U252B>
+<U253B>
+<U254B>
+<U2520>
+<U252F>
+<U2528>
+<U2537>
+<U253F>
+<U251D>
+<U2530>
+<U2525>
+<U2538>
+<U2542>
+<U4E9C>
+<U5516>
+<U5A03>
+<U963F>
+<U54C0>
+<U611B>
+<U6328>
+<U59F6>
+<U9022>
+<U8475>
+<U831C>
+<U7A50>
+<U60AA>
+<U63E1>
+<U6E25>
+<U65ED>
+<U8466>
+<U82A6>
+<U9BF5>
+<U6893>
+<U5727>
+<U65A1>
+<U6271>
+<U5B9B>
+<U59D0>
+<U867B>
+<U98F4>
+<U7D62>
+<U7DBE>
+<U9B8E>
+<U6216>
+<U7C9F>
+<U88B7>
+<U5B89>
+<U5EB5>
+<U6309>
+<U6697>
+<U6848>
+<U95C7>
+<U978D>
+<U674F>
+<U4EE5>
+<U4F0A>
+<U4F4D>
+<U4F9D>
+<U5049>
+<U56F2>
+<U5937>
+<U59D4>
+<U5A01>
+<U5C09>
+<U60DF>
+<U610F>
+<U6170>
+<U6613>
+<U6905>
+<U70BA>
+<U754F>
+<U7570>
+<U79FB>
+<U7DAD>
+<U7DEF>
+<U80C3>
+<U840E>
+<U8863>
+<U8B02>
+<U9055>
+<U907A>
+<U533B>
+<U4E95>
+<U4EA5>
+<U57DF>
+<U80B2>
+<U90C1>
+<U78EF>
+<U4E00>
+<U58F1>
+<U6EA2>
+<U9038>
+<U7A32>
+<U8328>
+<U828B>
+<U9C2F>
+<U5141>
+<U5370>
+<U54BD>
+<U54E1>
+<U56E0>
+<U59FB>
+<U5F15>
+<U98F2>
+<U6DEB>
+<U80E4>
+<U852D>
+<U9662>
+<U9670>
+<U96A0>
+<U97FB>
+<U540B>
+<U53F3>
+<U5B87>
+<U70CF>
+<U7FBD>
+<U8FC2>
+<U96E8>
+<U536F>
+<U9D5C>
+<U7ABA>
+<U4E11>
+<U7893>
+<U81FC>
+<U6E26>
+<U5618>
+<U5504>
+<U6B1D>
+<U851A>
+<U9C3B>
+<U59E5>
+<U53A9>
+<U6D66>
+<U74DC>
+<U958F>
+<U5642>
+<U4E91>
+<U904B>
+<U96F2>
+<U834F>
+<U990C>
+<U53E1>
+<U55B6>
+<U5B30>
+<U5F71>
+<U6620>
+<U66F3>
+<U6804>
+<U6C38>
+<U6CF3>
+<U6D29>
+<U745B>
+<U76C8>
+<U7A4E>
+<U9834>
+<U82F1>
+<U885B>
+<U8A60>
+<U92ED>
+<U6DB2>
+<U75AB>
+<U76CA>
+<U99C5>
+<U60A6>
+<U8B01>
+<U8D8A>
+<U95B2>
+<U698E>
+<U53AD>
+<U5186>
+<U5712>
+<U5830>
+<U5944>
+<U5BB4>
+<U5EF6>
+<U6028>
+<U63A9>
+<U63F4>
+<U6CBF>
+<U6F14>
+<U708E>
+<U7114>
+<U7159>
+<U71D5>
+<U733F>
+<U7E01>
+<U8276>
+<U82D1>
+<U8597>
+<U9060>
+<U925B>
+<U9D1B>
+<U5869>
+<U65BC>
+<U6C5A>
+<U7525>
+<U51F9>
+<U592E>
+<U5965>
+<U5F80>
+<U5FDC>
+<U62BC>
+<U65FA>
+<U6A2A>
+<U6B27>
+<U6BB4>
+<U738B>
+<U7FC1>
+<U8956>
+<U9D2C>
+<U9D0E>
+<U9EC4>
+<U5CA1>
+<U6C96>
+<U837B>
+<U5104>
+<U5C4B>
+<U61B6>
+<U81C6>
+<U6876>
+<U7261>
+<U4E59>
+<U4FFA>
+<U5378>
+<U6069>
+<U6E29>
+<U7A4F>
+<U97F3>
+<U4E0B>
+<U5316>
+<U4EEE>
+<U4F55>
+<U4F3D>
+<U4FA1>
+<U4F73>
+<U52A0>
+<U53EF>
+<U5609>
+<U590F>
+<U5AC1>
+<U5BB6>
+<U5BE1>
+<U79D1>
+<U6687>
+<U679C>
+<U67B6>
+<U6B4C>
+<U6CB3>
+<U706B>
+<U73C2>
+<U798D>
+<U79BE>
+<U7A3C>
+<U7B87>
+<U82B1>
+<U82DB>
+<U8304>
+<U8377>
+<U83EF>
+<U83D3>
+<U8766>
+<U8AB2>
+<U5629>
+<U8CA8>
+<U8FE6>
+<U904E>
+<U971E>
+<U868A>
+<U4FC4>
+<U5CE8>
+<U6211>
+<U7259>
+<U753B>
+<U81E5>
+<U82BD>
+<U86FE>
+<U8CC0>
+<U96C5>
+<U9913>
+<U99D5>
+<U4ECB>
+<U4F1A>
+<U89E3>
+<U56DE>
+<U584A>
+<U58CA>
+<U5EFB>
+<U5FEB>
+<U602A>
+<U6094>
+<U6062>
+<U61D0>
+<U6212>
+<U62D0>
+<U6539>
+<U9B41>
+<U6666>
+<U68B0>
+<U6D77>
+<U7070>
+<U754C>
+<U7686>
+<U7D75>
+<U82A5>
+<U87F9>
+<U958B>
+<U968E>
+<U8C9D>
+<U51F1>
+<U52BE>
+<U5916>
+<U54B3>
+<U5BB3>
+<U5D16>
+<U6168>
+<U6982>
+<U6DAF>
+<U788D>
+<U84CB>
+<U8857>
+<U8A72>
+<U93A7>
+<U9AB8>
+<U6D6C>
+<U99A8>
+<U86D9>
+<U57A3>
+<U67FF>
+<U86CE>
+<U920E>
+<U5283>
+<U5687>
+<U5404>
+<U5ED3>
+<U62E1>
+<U64B9>
+<U683C>
+<U6838>
+<U6BBB>
+<U7372>
+<U78BA>
+<U7A6B>
+<U899A>
+<U89D2>
+<U8D6B>
+<U8F03>
+<U90ED>
+<U95A3>
+<U9694>
+<U9769>
+<U5B66>
+<U5CB3>
+<U697D>
+<U984D>
+<U984E>
+<U639B>
+<U7B20>
+<U6A2B>
+<U6A7F>
+<U68B6>
+<U9C0D>
+<U6F5F>
+<U5272>
+<U559D>
+<U6070>
+<U62EC>
+<U6D3B>
+<U6E07>
+<U6ED1>
+<U845B>
+<U8910>
+<U8F44>
+<U4E14>
+<U9C39>
+<U53F6>
+<U691B>
+<U6A3A>
+<U9784>
+<U682A>
+<U515C>
+<U7AC3>
+<U84B2>
+<U91DC>
+<U938C>
+<U565B>
+<U9D28>
+<U6822>
+<U8305>
+<U8431>
+<U7CA5>
+<U5208>
+<U82C5>
+<U74E6>
+<U4E7E>
+<U4F83>
+<U51A0>
+<U5BD2>
+<U520A>
+<U52D8>
+<U52E7>
+<U5DFB>
+<U559A>
+<U582A>
+<U59E6>
+<U5B8C>
+<U5B98>
+<U5BDB>
+<U5E72>
+<U5E79>
+<U60A3>
+<U611F>
+<U6163>
+<U61BE>
+<U63DB>
+<U6562>
+<U67D1>
+<U6853>
+<U68FA>
+<U6B3E>
+<U6B53>
+<U6C57>
+<U6F22>
+<U6F97>
+<U6F45>
+<U74B0>
+<U7518>
+<U76E3>
+<U770B>
+<U7AFF>
+<U7BA1>
+<U7C21>
+<U7DE9>
+<U7F36>
+<U7FF0>
+<U809D>
+<U8266>
+<U839E>
+<U89B3>
+<U8ACC>
+<U8CAB>
+<U9084>
+<U9451>
+<U9593>
+<U9591>
+<U95A2>
+<U9665>
+<U97D3>
+<U9928>
+<U8218>
+<U4E38>
+<U542B>
+<U5CB8>
+<U5DCC>
+<U73A9>
+<U764C>
+<U773C>
+<U5CA9>
+<U7FEB>
+<U8D0B>
+<U96C1>
+<U9811>
+<U9854>
+<U9858>
+<U4F01>
+<U4F0E>
+<U5371>
+<U559C>
+<U5668>
+<U57FA>
+<U5947>
+<U5B09>
+<U5BC4>
+<U5C90>
+<U5E0C>
+<U5E7E>
+<U5FCC>
+<U63EE>
+<U673A>
+<U65D7>
+<U65E2>
+<U671F>
+<U68CB>
+<U68C4>
+<U6A5F>
+<U5E30>
+<U6BC5>
+<U6C17>
+<U6C7D>
+<U757F>
+<U7948>
+<U5B63>
+<U7A00>
+<U7D00>
+<U5FBD>
+<U898F>
+<U8A18>
+<U8CB4>
+<U8D77>
+<U8ECC>
+<U8F1D>
+<U98E2>
+<U9A0E>
+<U9B3C>
+<U4E80>
+<U507D>
+<U5100>
+<U5993>
+<U5B9C>
+<U622F>
+<U6280>
+<U64EC>
+<U6B3A>
+<U72A0>
+<U7591>
+<U7947>
+<U7FA9>
+<U87FB>
+<U8ABC>
+<U8B70>
+<U63AC>
+<U83CA>
+<U97A0>
+<U5409>
+<U5403>
+<U55AB>
+<U6854>
+<U6A58>
+<U8A70>
+<U7827>
+<U6775>
+<U9ECD>
+<U5374>
+<U5BA2>
+<U811A>
+<U8650>
+<U9006>
+<U4E18>
+<U4E45>
+<U4EC7>
+<U4F11>
+<U53CA>
+<U5438>
+<U5BAE>
+<U5F13>
+<U6025>
+<U6551>
+<U673D>
+<U6C42>
+<U6C72>
+<U6CE3>
+<U7078>
+<U7403>
+<U7A76>
+<U7AAE>
+<U7B08>
+<U7D1A>
+<U7CFE>
+<U7D66>
+<U65E7>
+<U725B>
+<U53BB>
+<U5C45>
+<U5DE8>
+<U62D2>
+<U62E0>
+<U6319>
+<U6E20>
+<U865A>
+<U8A31>
+<U8DDD>
+<U92F8>
+<U6F01>
+<U79A6>
+<U9B5A>
+<U4EA8>
+<U4EAB>
+<U4EAC>
+<U4F9B>
+<U4FA0>
+<U50D1>
+<U5147>
+<U7AF6>
+<U5171>
+<U51F6>
+<U5354>
+<U5321>
+<U537F>
+<U53EB>
+<U55AC>
+<U5883>
+<U5CE1>
+<U5F37>
+<U5F4A>
+<U602F>
+<U6050>
+<U606D>
+<U631F>
+<U6559>
+<U6A4B>
+<U6CC1>
+<U72C2>
+<U72ED>
+<U77EF>
+<U80F8>
+<U8105>
+<U8208>
+<U854E>
+<U90F7>
+<U93E1>
+<U97FF>
+<U9957>
+<U9A5A>
+<U4EF0>
+<U51DD>
+<U5C2D>
+<U6681>
+<U696D>
+<U5C40>
+<U66F2>
+<U6975>
+<U7389>
+<U6850>
+<U7C81>
+<U50C5>
+<U52E4>
+<U5747>
+<U5DFE>
+<U9326>
+<U65A4>
+<U6B23>
+<U6B3D>
+<U7434>
+<U7981>
+<U79BD>
+<U7B4B>
+<U7DCA>
+<U82B9>
+<U83CC>
+<U887F>
+<U895F>
+<U8B39>
+<U8FD1>
+<U91D1>
+<U541F>
+<U9280>
+<U4E5D>
+<U5036>
+<U53E5>
+<U533A>
+<U72D7>
+<U7396>
+<U77E9>
+<U82E6>
+<U8EAF>
+<U99C6>
+<U99C8>
+<U99D2>
+<U5177>
+<U611A>
+<U865E>
+<U55B0>
+<U7A7A>
+<U5076>
+<U5BD3>
+<U9047>
+<U9685>
+<U4E32>
+<U6ADB>
+<U91E7>
+<U5C51>
+<U5C48>
+<U6398>
+<U7A9F>
+<U6C93>
+<U9774>
+<U8F61>
+<U7AAA>
+<U718A>
+<U9688>
+<U7C82>
+<U6817>
+<U7E70>
+<U6851>
+<U936C>
+<U52F2>
+<U541B>
+<U85AB>
+<U8A13>
+<U7FA4>
+<U8ECD>
+<U90E1>
+<U5366>
+<U8888>
+<U7941>
+<U4FC2>
+<U50BE>
+<U5211>
+<U5144>
+<U5553>
+<U572D>
+<U73EA>
+<U578B>
+<U5951>
+<U5F62>
+<U5F84>
+<U6075>
+<U6176>
+<U6167>
+<U61A9>
+<U63B2>
+<U643A>
+<U656C>
+<U666F>
+<U6842>
+<U6E13>
+<U7566>
+<U7A3D>
+<U7CFB>
+<U7D4C>
+<U7D99>
+<U7E4B>
+<U7F6B>
+<U830E>
+<U834A>
+<U86CD>
+<U8A08>
+<U8A63>
+<U8B66>
+<U8EFD>
+<U981A>
+<U9D8F>
+<U82B8>
+<U8FCE>
+<U9BE8>
+<U5287>
+<U621F>
+<U6483>
+<U6FC0>
+<U9699>
+<U6841>
+<U5091>
+<U6B20>
+<U6C7A>
+<U6F54>
+<U7A74>
+<U7D50>
+<U8840>
+<U8A23>
+<U6708>
+<U4EF6>
+<U5039>
+<U5026>
+<U5065>
+<U517C>
+<U5238>
+<U5263>
+<U55A7>
+<U570F>
+<U5805>
+<U5ACC>
+<U5EFA>
+<U61B2>
+<U61F8>
+<U62F3>
+<U6372>
+<U691C>
+<U6A29>
+<U727D>
+<U72AC>
+<U732E>
+<U7814>
+<U786F>
+<U7D79>
+<U770C>
+<U80A9>
+<U898B>
+<U8B19>
+<U8CE2>
+<U8ED2>
+<U9063>
+<U9375>
+<U967A>
+<U9855>
+<U9A13>
+<U9E78>
+<U5143>
+<U539F>
+<U53B3>
+<U5E7B>
+<U5F26>
+<U6E1B>
+<U6E90>
+<U7384>
+<U73FE>
+<U7D43>
+<U8237>
+<U8A00>
+<U8AFA>
+<U9650>
+<U4E4E>
+<U500B>
+<U53E4>
+<U547C>
+<U56FA>
+<U59D1>
+<U5B64>
+<U5DF1>
+<U5EAB>
+<U5F27>
+<U6238>
+<U6545>
+<U67AF>
+<U6E56>
+<U72D0>
+<U7CCA>
+<U88B4>
+<U80A1>
+<U80E1>
+<U83F0>
+<U864E>
+<U8A87>
+<U8DE8>
+<U9237>
+<U96C7>
+<U9867>
+<U9F13>
+<U4E94>
+<U4E92>
+<U4F0D>
+<U5348>
+<U5449>
+<U543E>
+<U5A2F>
+<U5F8C>
+<U5FA1>
+<U609F>
+<U68A7>
+<U6A8E>
+<U745A>
+<U7881>
+<U8A9E>
+<U8AA4>
+<U8B77>
+<U9190>
+<U4E5E>
+<U9BC9>
+<U4EA4>
+<U4F7C>
+<U4FAF>
+<U5019>
+<U5016>
+<U5149>
+<U516C>
+<U529F>
+<U52B9>
+<U52FE>
+<U539A>
+<U53E3>
+<U5411>
+<U540E>
+<U5589>
+<U5751>
+<U57A2>
+<U597D>
+<U5B54>
+<U5B5D>
+<U5B8F>
+<U5DE5>
+<U5DE7>
+<U5DF7>
+<U5E78>
+<U5E83>
+<U5E9A>
+<U5EB7>
+<U5F18>
+<U6052>
+<U614C>
+<U6297>
+<U62D8>
+<U63A7>
+<U653B>
+<U6602>
+<U6643>
+<U66F4>
+<U676D>
+<U6821>
+<U6897>
+<U69CB>
+<U6C5F>
+<U6D2A>
+<U6D69>
+<U6E2F>
+<U6E9D>
+<U7532>
+<U7687>
+<U786C>
+<U7A3F>
+<U7CE0>
+<U7D05>
+<U7D18>
+<U7D5E>
+<U7DB1>
+<U8015>
+<U8003>
+<U80AF>
+<U80B1>
+<U8154>
+<U818F>
+<U822A>
+<U8352>
+<U884C>
+<U8861>
+<U8B1B>
+<U8CA2>
+<U8CFC>
+<U90CA>
+<U9175>
+<U9271>
+<U783F>
+<U92FC>
+<U95A4>
+<U964D>
+<U9805>
+<U9999>
+<U9AD8>
+<U9D3B>
+<U525B>
+<U52AB>
+<U53F7>
+<U5408>
+<U58D5>
+<U62F7>
+<U6FE0>
+<U8C6A>
+<U8F5F>
+<U9EB9>
+<U514B>
+<U523B>
+<U544A>
+<U56FD>
+<U7A40>
+<U9177>
+<U9D60>
+<U9ED2>
+<U7344>
+<U6F09>
+<U8170>
+<U7511>
+<U5FFD>
+<U60DA>
+<U9AA8>
+<U72DB>
+<U8FBC>
+<U6B64>
+<U9803>
+<U4ECA>
+<U56F0>
+<U5764>
+<U58BE>
+<U5A5A>
+<U6068>
+<U61C7>
+<U660F>
+<U6606>
+<U6839>
+<U68B1>
+<U6DF7>
+<U75D5>
+<U7D3A>
+<U826E>
+<U9B42>
+<U4E9B>
+<U4F50>
+<U53C9>
+<U5506>
+<U5D6F>
+<U5DE6>
+<U5DEE>
+<U67FB>
+<U6C99>
+<U7473>
+<U7802>
+<U8A50>
+<U9396>
+<U88DF>
+<U5750>
+<U5EA7>
+<U632B>
+<U50B5>
+<U50AC>
+<U518D>
+<U6700>
+<U54C9>
+<U585E>
+<U59BB>
+<U5BB0>
+<U5F69>
+<U624D>
+<U63A1>
+<U683D>
+<U6B73>
+<U6E08>
+<U707D>
+<U91C7>
+<U7280>
+<U7815>
+<U7826>
+<U796D>
+<U658E>
+<U7D30>
+<U83DC>
+<U88C1>
+<U8F09>
+<U969B>
+<U5264>
+<U5728>
+<U6750>
+<U7F6A>
+<U8CA1>
+<U51B4>
+<U5742>
+<U962A>
+<U583A>
+<U698A>
+<U80B4>
+<U54B2>
+<U5D0E>
+<U57FC>
+<U7895>
+<U9DFA>
+<U4F5C>
+<U524A>
+<U548B>
+<U643E>
+<U6628>
+<U6714>
+<U67F5>
+<U7A84>
+<U7B56>
+<U7D22>
+<U932F>
+<U685C>
+<U9BAD>
+<U7B39>
+<U5319>
+<U518A>
+<U5237>
+<U5BDF>
+<U62F6>
+<U64AE>
+<U64E6>
+<U672D>
+<U6BBA>
+<U85A9>
+<U96D1>
+<U7690>
+<U9BD6>
+<U634C>
+<U9306>
+<U9BAB>
+<U76BF>
+<U6652>
+<U4E09>
+<U5098>
+<U53C2>
+<U5C71>
+<U60E8>
+<U6492>
+<U6563>
+<U685F>
+<U71E6>
+<U73CA>
+<U7523>
+<U7B97>
+<U7E82>
+<U8695>
+<U8B83>
+<U8CDB>
+<U9178>
+<U9910>
+<U65AC>
+<U66AB>
+<U6B8B>
+<U4ED5>
+<U4ED4>
+<U4F3A>
+<U4F7F>
+<U523A>
+<U53F8>
+<U53F2>
+<U55E3>
+<U56DB>
+<U58EB>
+<U59CB>
+<U59C9>
+<U59FF>
+<U5B50>
+<U5C4D>
+<U5E02>
+<U5E2B>
+<U5FD7>
+<U601D>
+<U6307>
+<U652F>
+<U5B5C>
+<U65AF>
+<U65BD>
+<U65E8>
+<U679D>
+<U6B62>
+<U6B7B>
+<U6C0F>
+<U7345>
+<U7949>
+<U79C1>
+<U7CF8>
+<U7D19>
+<U7D2B>
+<U80A2>
+<U8102>
+<U81F3>
+<U8996>
+<U8A5E>
+<U8A69>
+<U8A66>
+<U8A8C>
+<U8AEE>
+<U8CC7>
+<U8CDC>
+<U96CC>
+<U98FC>
+<U6B6F>
+<U4E8B>
+<U4F3C>
+<U4F8D>
+<U5150>
+<U5B57>
+<U5BFA>
+<U6148>
+<U6301>
+<U6642>
+<U6B21>
+<U6ECB>
+<U6CBB>
+<U723E>
+<U74BD>
+<U75D4>
+<U78C1>
+<U793A>
+<U800C>
+<U8033>
+<U81EA>
+<U8494>
+<U8F9E>
+<U6C50>
+<U9E7F>
+<U5F0F>
+<U8B58>
+<U9D2B>
+<U7AFA>
+<U8EF8>
+<U5B8D>
+<U96EB>
+<U4E03>
+<U53F1>
+<U57F7>
+<U5931>
+<U5AC9>
+<U5BA4>
+<U6089>
+<U6E7F>
+<U6F06>
+<U75BE>
+<U8CEA>
+<U5B9F>
+<U8500>
+<U7BE0>
+<U5072>
+<U67F4>
+<U829D>
+<U5C61>
+<U854A>
+<U7E1E>
+<U820E>
+<U5199>
+<U5C04>
+<U6368>
+<U8D66>
+<U659C>
+<U716E>
+<U793E>
+<U7D17>
+<U8005>
+<U8B1D>
+<U8ECA>
+<U906E>
+<U86C7>
+<U90AA>
+<U501F>
+<U52FA>
+<U5C3A>
+<U6753>
+<U707C>
+<U7235>
+<U914C>
+<U91C8>
+<U932B>
+<U82E5>
+<U5BC2>
+<U5F31>
+<U60F9>
+<U4E3B>
+<U53D6>
+<U5B88>
+<U624B>
+<U6731>
+<U6B8A>
+<U72E9>
+<U73E0>
+<U7A2E>
+<U816B>
+<U8DA3>
+<U9152>
+<U9996>
+<U5112>
+<U53D7>
+<U546A>
+<U5BFF>
+<U6388>
+<U6A39>
+<U7DAC>
+<U9700>
+<U56DA>
+<U53CE>
+<U5468>
+<U5B97>
+<U5C31>
+<U5DDE>
+<U4FEE>
+<U6101>
+<U62FE>
+<U6D32>
+<U79C0>
+<U79CB>
+<U7D42>
+<U7E4D>
+<U7FD2>
+<U81ED>
+<U821F>
+<U8490>
+<U8846>
+<U8972>
+<U8B90>
+<U8E74>
+<U8F2F>
+<U9031>
+<U914B>
+<U916C>
+<U96C6>
+<U919C>
+<U4EC0>
+<U4F4F>
+<U5145>
+<U5341>
+<U5F93>
+<U620E>
+<U67D4>
+<U6C41>
+<U6E0B>
+<U7363>
+<U7E26>
+<U91CD>
+<U9283>
+<U53D4>
+<U5919>
+<U5BBF>
+<U6DD1>
+<U795D>
+<U7E2E>
+<U7C9B>
+<U587E>
+<U719F>
+<U51FA>
+<U8853>
+<U8FF0>
+<U4FCA>
+<U5CFB>
+<U6625>
+<U77AC>
+<U7AE3>
+<U821C>
+<U99FF>
+<U51C6>
+<U5FAA>
+<U65EC>
+<U696F>
+<U6B89>
+<U6DF3>
+<U6E96>
+<U6F64>
+<U76FE>
+<U7D14>
+<U5DE1>
+<U9075>
+<U9187>
+<U9806>
+<U51E6>
+<U521D>
+<U6240>
+<U6691>
+<U66D9>
+<U6E1A>
+<U5EB6>
+<U7DD2>
+<U7F72>
+<U66F8>
+<U85AF>
+<U85F7>
+<U8AF8>
+<U52A9>
+<U53D9>
+<U5973>
+<U5E8F>
+<U5F90>
+<U6055>
+<U92E4>
+<U9664>
+<U50B7>
+<U511F>
+<U52DD>
+<U5320>
+<U5347>
+<U53EC>
+<U54E8>
+<U5546>
+<U5531>
+<U5617>
+<U5968>
+<U59BE>
+<U5A3C>
+<U5BB5>
+<U5C06>
+<U5C0F>
+<U5C11>
+<U5C1A>
+<U5E84>
+<U5E8A>
+<U5EE0>
+<U5F70>
+<U627F>
+<U6284>
+<U62DB>
+<U638C>
+<U6377>
+<U6607>
+<U660C>
+<U662D>
+<U6676>
+<U677E>
+<U68A2>
+<U6A1F>
+<U6A35>
+<U6CBC>
+<U6D88>
+<U6E09>
+<U6E58>
+<U713C>
+<U7126>
+<U7167>
+<U75C7>
+<U7701>
+<U785D>
+<U7901>
+<U7965>
+<U79F0>
+<U7AE0>
+<U7B11>
+<U7CA7>
+<U7D39>
+<U8096>
+<U83D6>
+<U848B>
+<U8549>
+<U885D>
+<U88F3>
+<U8A1F>
+<U8A3C>
+<U8A54>
+<U8A73>
+<U8C61>
+<U8CDE>
+<U91A4>
+<U9266>
+<U937E>
+<U9418>
+<U969C>
+<U9798>
+<U4E0A>
+<U4E08>
+<U4E1E>
+<U4E57>
+<U5197>
+<U5270>
+<U57CE>
+<U5834>
+<U58CC>
+<U5B22>
+<U5E38>
+<U60C5>
+<U64FE>
+<U6761>
+<U6756>
+<U6D44>
+<U72B6>
+<U7573>
+<U7A63>
+<U84B8>
+<U8B72>
+<U91B8>
+<U9320>
+<U5631>
+<U57F4>
+<U98FE>
+<U62ED>
+<U690D>
+<U6B96>
+<U71ED>
+<U7E54>
+<U8077>
+<U8272>
+<U89E6>
+<U98DF>
+<U8755>
+<U8FB1>
+<U5C3B>
+<U4F38>
+<U4FE1>
+<U4FB5>
+<U5507>
+<U5A20>
+<U5BDD>
+<U5BE9>
+<U5FC3>
+<U614E>
+<U632F>
+<U65B0>
+<U664B>
+<U68EE>
+<U699B>
+<U6D78>
+<U6DF1>
+<U7533>
+<U75B9>
+<U771F>
+<U795E>
+<U79E6>
+<U7D33>
+<U81E3>
+<U82AF>
+<U85AA>
+<U89AA>
+<U8A3A>
+<U8EAB>
+<U8F9B>
+<U9032>
+<U91DD>
+<U9707>
+<U4EBA>
+<U4EC1>
+<U5203>
+<U5875>
+<U58EC>
+<U5C0B>
+<U751A>
+<U5C3D>
+<U814E>
+<U8A0A>
+<U8FC5>
+<U9663>
+<U976D>
+<U7B25>
+<U8ACF>
+<U9808>
+<U9162>
+<U56F3>
+<U53A8>
+<U9017>
+<U5439>
+<U5782>
+<U5E25>
+<U63A8>
+<U6C34>
+<U708A>
+<U7761>
+<U7C8B>
+<U7FE0>
+<U8870>
+<U9042>
+<U9154>
+<U9310>
+<U9318>
+<U968F>
+<U745E>
+<U9AC4>
+<U5D07>
+<U5D69>
+<U6570>
+<U67A2>
+<U8DA8>
+<U96DB>
+<U636E>
+<U6749>
+<U6919>
+<U83C5>
+<U9817>
+<U96C0>
+<U88FE>
+<U6F84>
+<U647A>
+<U5BF8>
+<U4E16>
+<U702C>
+<U755D>
+<U662F>
+<U51C4>
+<U5236>
+<U52E2>
+<U59D3>
+<U5F81>
+<U6027>
+<U6210>
+<U653F>
+<U6574>
+<U661F>
+<U6674>
+<U68F2>
+<U6816>
+<U6B63>
+<U6E05>
+<U7272>
+<U751F>
+<U76DB>
+<U7CBE>
+<U8056>
+<U58F0>
+<U88FD>
+<U897F>
+<U8AA0>
+<U8A93>
+<U8ACB>
+<U901D>
+<U9192>
+<U9752>
+<U9759>
+<U6589>
+<U7A0E>
+<U8106>
+<U96BB>
+<U5E2D>
+<U60DC>
+<U621A>
+<U65A5>
+<U6614>
+<U6790>
+<U77F3>
+<U7A4D>
+<U7C4D>
+<U7E3E>
+<U810A>
+<U8CAC>
+<U8D64>
+<U8DE1>
+<U8E5F>
+<U78A9>
+<U5207>
+<U62D9>
+<U63A5>
+<U6442>
+<U6298>
+<U8A2D>
+<U7A83>
+<U7BC0>
+<U8AAC>
+<U96EA>
+<U7D76>
+<U820C>
+<U8749>
+<U4ED9>
+<U5148>
+<U5343>
+<U5360>
+<U5BA3>
+<U5C02>
+<U5C16>
+<U5DDD>
+<U6226>
+<U6247>
+<U64B0>
+<U6813>
+<U6834>
+<U6CC9>
+<U6D45>
+<U6D17>
+<U67D3>
+<U6F5C>
+<U714E>
+<U717D>
+<U65CB>
+<U7A7F>
+<U7BAD>
+<U7DDA>
+<U7E4A>
+<U7FA8>
+<U817A>
+<U821B>
+<U8239>
+<U85A6>
+<U8A6E>
+<U8CCE>
+<U8DF5>
+<U9078>
+<U9077>
+<U92AD>
+<U9291>
+<U9583>
+<U9BAE>
+<U524D>
+<U5584>
+<U6F38>
+<U7136>
+<U5168>
+<U7985>
+<U7E55>
+<U81B3>
+<U7CCE>
+<U564C>
+<U5851>
+<U5CA8>
+<U63AA>
+<U66FE>
+<U66FD>
+<U695A>
+<U72D9>
+<U758F>
+<U758E>
+<U790E>
+<U7956>
+<U79DF>
+<U7C97>
+<U7D20>
+<U7D44>
+<U8607>
+<U8A34>
+<U963B>
+<U9061>
+<U9F20>
+<U50E7>
+<U5275>
+<U53CC>
+<U53E2>
+<U5009>
+<U55AA>
+<U58EE>
+<U594F>
+<U723D>
+<U5B8B>
+<U5C64>
+<U531D>
+<U60E3>
+<U60F3>
+<U635C>
+<U6383>
+<U633F>
+<U63BB>
+<U64CD>
+<U65E9>
+<U66F9>
+<U5DE3>
+<U69CD>
+<U69FD>
+<U6F15>
+<U71E5>
+<U4E89>
+<U75E9>
+<U76F8>
+<U7A93>
+<U7CDF>
+<U7DCF>
+<U7D9C>
+<U8061>
+<U8349>
+<U8358>
+<U846C>
+<U84BC>
+<U85FB>
+<U88C5>
+<U8D70>
+<U9001>
+<U906D>
+<U9397>
+<U971C>
+<U9A12>
+<U50CF>
+<U5897>
+<U618E>
+<U81D3>
+<U8535>
+<U8D08>
+<U9020>
+<U4FC3>
+<U5074>
+<U5247>
+<U5373>
+<U606F>
+<U6349>
+<U675F>
+<U6E2C>
+<U8DB3>
+<U901F>
+<U4FD7>
+<U5C5E>
+<U8CCA>
+<U65CF>
+<U7D9A>
+<U5352>
+<U8896>
+<U5176>
+<U63C3>
+<U5B58>
+<U5B6B>
+<U5C0A>
+<U640D>
+<U6751>
+<U905C>
+<U4ED6>
+<U591A>
+<U592A>
+<U6C70>
+<U8A51>
+<U553E>
+<U5815>
+<U59A5>
+<U60F0>
+<U6253>
+<U67C1>
+<U8235>
+<U6955>
+<U9640>
+<U99C4>
+<U9A28>
+<U4F53>
+<U5806>
+<U5BFE>
+<U8010>
+<U5CB1>
+<U5E2F>
+<U5F85>
+<U6020>
+<U614B>
+<U6234>
+<U66FF>
+<U6CF0>
+<U6EDE>
+<U80CE>
+<U817F>
+<U82D4>
+<U888B>
+<U8CB8>
+<U9000>
+<U902E>
+<U968A>
+<U9EDB>
+<U9BDB>
+<U4EE3>
+<U53F0>
+<U5927>
+<U7B2C>
+<U918D>
+<U984C>
+<U9DF9>
+<U6EDD>
+<U7027>
+<U5353>
+<U5544>
+<U5B85>
+<U6258>
+<U629E>
+<U62D3>
+<U6CA2>
+<U6FEF>
+<U7422>
+<U8A17>
+<U9438>
+<U6FC1>
+<U8AFE>
+<U8338>
+<U51E7>
+<U86F8>
+<U53EA>
+<U53E9>
+<U4F46>
+<U9054>
+<U8FB0>
+<U596A>
+<U8131>
+<U5DFD>
+<U7AEA>
+<U8FBF>
+<U68DA>
+<U8C37>
+<U72F8>
+<U9C48>
+<U6A3D>
+<U8AB0>
+<U4E39>
+<U5358>
+<U5606>
+<U5766>
+<U62C5>
+<U63A2>
+<U65E6>
+<U6B4E>
+<U6DE1>
+<U6E5B>
+<U70AD>
+<U77ED>
+<U7AEF>
+<U7BAA>
+<U7DBB>
+<U803D>
+<U80C6>
+<U86CB>
+<U8A95>
+<U935B>
+<U56E3>
+<U58C7>
+<U5F3E>
+<U65AD>
+<U6696>
+<U6A80>
+<U6BB5>
+<U7537>
+<U8AC7>
+<U5024>
+<U77E5>
+<U5730>
+<U5F1B>
+<U6065>
+<U667A>
+<U6C60>
+<U75F4>
+<U7A1A>
+<U7F6E>
+<U81F4>
+<U8718>
+<U9045>
+<U99B3>
+<U7BC9>
+<U755C>
+<U7AF9>
+<U7B51>
+<U84C4>
+<U9010>
+<U79E9>
+<U7A92>
+<U8336>
+<U5AE1>
+<U7740>
+<U4E2D>
+<U4EF2>
+<U5B99>
+<U5FE0>
+<U62BD>
+<U663C>
+<U67F1>
+<U6CE8>
+<U866B>
+<U8877>
+<U8A3B>
+<U914E>
+<U92F3>
+<U99D0>
+<U6A17>
+<U7026>
+<U732A>
+<U82E7>
+<U8457>
+<U8CAF>
+<U4E01>
+<U5146>
+<U51CB>
+<U558B>
+<U5BF5>
+<U5E16>
+<U5E33>
+<U5E81>
+<U5F14>
+<U5F35>
+<U5F6B>
+<U5FB4>
+<U61F2>
+<U6311>
+<U66A2>
+<U671D>
+<U6F6E>
+<U7252>
+<U753A>
+<U773A>
+<U8074>
+<U8139>
+<U8178>
+<U8776>
+<U8ABF>
+<U8ADC>
+<U8D85>
+<U8DF3>
+<U929A>
+<U9577>
+<U9802>
+<U9CE5>
+<U52C5>
+<U6357>
+<U76F4>
+<U6715>
+<U6C88>
+<U73CD>
+<U8CC3>
+<U93AE>
+<U9673>
+<U6D25>
+<U589C>
+<U690E>
+<U69CC>
+<U8FFD>
+<U939A>
+<U75DB>
+<U901A>
+<U585A>
+<U6802>
+<U63B4>
+<U69FB>
+<U4F43>
+<U6F2C>
+<U67D8>
+<U8FBB>
+<U8526>
+<U7DB4>
+<U9354>
+<U693F>
+<U6F70>
+<U576A>
+<U58F7>
+<U5B2C>
+<U7D2C>
+<U722A>
+<U540A>
+<U91E3>
+<U9DB4>
+<U4EAD>
+<U4F4E>
+<U505C>
+<U5075>
+<U5243>
+<U8C9E>
+<U5448>
+<U5824>
+<U5B9A>
+<U5E1D>
+<U5E95>
+<U5EAD>
+<U5EF7>
+<U5F1F>
+<U608C>
+<U62B5>
+<U633A>
+<U63D0>
+<U68AF>
+<U6C40>
+<U7887>
+<U798E>
+<U7A0B>
+<U7DE0>
+<U8247>
+<U8A02>
+<U8AE6>
+<U8E44>
+<U9013>
+<U90B8>
+<U912D>
+<U91D8>
+<U9F0E>
+<U6CE5>
+<U6458>
+<U64E2>
+<U6575>
+<U6EF4>
+<U7684>
+<U7B1B>
+<U9069>
+<U93D1>
+<U6EBA>
+<U54F2>
+<U5FB9>
+<U64A4>
+<U8F4D>
+<U8FED>
+<U9244>
+<U5178>
+<U586B>
+<U5929>
+<U5C55>
+<U5E97>
+<U6DFB>
+<U7E8F>
+<U751C>
+<U8CBC>
+<U8EE2>
+<U985B>
+<U70B9>
+<U4F1D>
+<U6BBF>
+<U6FB1>
+<U7530>
+<U96FB>
+<U514E>
+<U5410>
+<U5835>
+<U5857>
+<U59AC>
+<U5C60>
+<U5F92>
+<U6597>
+<U675C>
+<U6E21>
+<U767B>
+<U83DF>
+<U8CED>
+<U9014>
+<U90FD>
+<U934D>
+<U7825>
+<U783A>
+<U52AA>
+<U5EA6>
+<U571F>
+<U5974>
+<U6012>
+<U5012>
+<U515A>
+<U51AC>
+<U51CD>
+<U5200>
+<U5510>
+<U5854>
+<U5858>
+<U5957>
+<U5B95>
+<U5CF6>
+<U5D8B>
+<U60BC>
+<U6295>
+<U642D>
+<U6771>
+<U6843>
+<U68BC>
+<U68DF>
+<U76D7>
+<U6DD8>
+<U6E6F>
+<U6D9B>
+<U706F>
+<U71C8>
+<U5F53>
+<U75D8>
+<U7977>
+<U7B49>
+<U7B54>
+<U7B52>
+<U7CD6>
+<U7D71>
+<U5230>
+<U8463>
+<U8569>
+<U85E4>
+<U8A0E>
+<U8B04>
+<U8C46>
+<U8E0F>
+<U9003>
+<U900F>
+<U9419>
+<U9676>
+<U982D>
+<U9A30>
+<U95D8>
+<U50CD>
+<U52D5>
+<U540C>
+<U5802>
+<U5C0E>
+<U61A7>
+<U649E>
+<U6D1E>
+<U77B3>
+<U7AE5>
+<U80F4>
+<U8404>
+<U9053>
+<U9285>
+<U5CE0>
+<U9D07>
+<U533F>
+<U5F97>
+<U5FB3>
+<U6D9C>
+<U7279>
+<U7763>
+<U79BF>
+<U7BE4>
+<U6BD2>
+<U72EC>
+<U8AAD>
+<U6803>
+<U6A61>
+<U51F8>
+<U7A81>
+<U6934>
+<U5C4A>
+<U9CF6>
+<U82EB>
+<U5BC5>
+<U9149>
+<U701E>
+<U5678>
+<U5C6F>
+<U60C7>
+<U6566>
+<U6C8C>
+<U8C5A>
+<U9041>
+<U9813>
+<U5451>
+<U66C7>
+<U920D>
+<U5948>
+<U90A3>
+<U5185>
+<U4E4D>
+<U51EA>
+<U8599>
+<U8B0E>
+<U7058>
+<U637A>
+<U934B>
+<U6962>
+<U99B4>
+<U7E04>
+<U7577>
+<U5357>
+<U6960>
+<U8EDF>
+<U96E3>
+<U6C5D>
+<U4E8C>
+<U5C3C>
+<U5F10>
+<U8FE9>
+<U5302>
+<U8CD1>
+<U8089>
+<U8679>
+<U5EFF>
+<U65E5>
+<U4E73>
+<U5165>
+<U5982>
+<U5C3F>
+<U97EE>
+<U4EFB>
+<U598A>
+<U5FCD>
+<U8A8D>
+<U6FE1>
+<U79B0>
+<U7962>
+<U5BE7>
+<U8471>
+<U732B>
+<U71B1>
+<U5E74>
+<U5FF5>
+<U637B>
+<U649A>
+<U71C3>
+<U7C98>
+<U4E43>
+<U5EFC>
+<U4E4B>
+<U57DC>
+<U56A2>
+<U60A9>
+<U6FC3>
+<U7D0D>
+<U80FD>
+<U8133>
+<U81BF>
+<U8FB2>
+<U8997>
+<U86A4>
+<U5DF4>
+<U628A>
+<U64AD>
+<U8987>
+<U6777>
+<U6CE2>
+<U6D3E>
+<U7436>
+<U7834>
+<U5A46>
+<U7F75>
+<U82AD>
+<U99AC>
+<U4FF3>
+<U5EC3>
+<U62DD>
+<U6392>
+<U6557>
+<U676F>
+<U76C3>
+<U724C>
+<U80CC>
+<U80BA>
+<U8F29>
+<U914D>
+<U500D>
+<U57F9>
+<U5A92>
+<U6885>
+<U6973>
+<U7164>
+<U72FD>
+<U8CB7>
+<U58F2>
+<U8CE0>
+<U966A>
+<U9019>
+<U877F>
+<U79E4>
+<U77E7>
+<U8429>
+<U4F2F>
+<U5265>
+<U535A>
+<U62CD>
+<U67CF>
+<U6CCA>
+<U767D>
+<U7B94>
+<U7C95>
+<U8236>
+<U8584>
+<U8FEB>
+<U66DD>
+<U6F20>
+<U7206>
+<U7E1B>
+<U83AB>
+<U99C1>
+<U9EA6>
+<U51FD>
+<U7BB1>
+<U7872>
+<U7BB8>
+<U8087>
+<U7B48>
+<U6AE8>
+<U5E61>
+<U808C>
+<U7551>
+<U7560>
+<U516B>
+<U9262>
+<U6E8C>
+<U767A>
+<U9197>
+<U9AEA>
+<U4F10>
+<U7F70>
+<U629C>
+<U7B4F>
+<U95A5>
+<U9CE9>
+<U567A>
+<U5859>
+<U86E4>
+<U96BC>
+<U4F34>
+<U5224>
+<U534A>
+<U53CD>
+<U53DB>
+<U5E06>
+<U642C>
+<U6591>
+<U677F>
+<U6C3E>
+<U6C4E>
+<U7248>
+<U72AF>
+<U73ED>
+<U7554>
+<U7E41>
+<U822C>
+<U85E9>
+<U8CA9>
+<U7BC4>
+<U91C6>
+<U7169>
+<U9812>
+<U98EF>
+<U633D>
+<U6669>
+<U756A>
+<U76E4>
+<U78D0>
+<U8543>
+<U86EE>
+<U532A>
+<U5351>
+<U5426>
+<U5983>
+<U5E87>
+<U5F7C>
+<U60B2>
+<U6249>
+<U6279>
+<U62AB>
+<U6590>
+<U6BD4>
+<U6CCC>
+<U75B2>
+<U76AE>
+<U7891>
+<U79D8>
+<U7DCB>
+<U7F77>
+<U80A5>
+<U88AB>
+<U8AB9>
+<U8CBB>
+<U907F>
+<U975E>
+<U98DB>
+<U6A0B>
+<U7C38>
+<U5099>
+<U5C3E>
+<U5FAE>
+<U6787>
+<U6BD8>
+<U7435>
+<U7709>
+<U7F8E>
+<U9F3B>
+<U67CA>
+<U7A17>
+<U5339>
+<U758B>
+<U9AED>
+<U5F66>
+<U819D>
+<U83F1>
+<U8098>
+<U5F3C>
+<U5FC5>
+<U7562>
+<U7B46>
+<U903C>
+<U6867>
+<U59EB>
+<U5A9B>
+<U7D10>
+<U767E>
+<U8B2C>
+<U4FF5>
+<U5F6A>
+<U6A19>
+<U6C37>
+<U6F02>
+<U74E2>
+<U7968>
+<U8868>
+<U8A55>
+<U8C79>
+<U5EDF>
+<U63CF>
+<U75C5>
+<U79D2>
+<U82D7>
+<U9328>
+<U92F2>
+<U849C>
+<U86ED>
+<U9C2D>
+<U54C1>
+<U5F6C>
+<U658C>
+<U6D5C>
+<U7015>
+<U8CA7>
+<U8CD3>
+<U983B>
+<U654F>
+<U74F6>
+<U4E0D>
+<U4ED8>
+<U57E0>
+<U592B>
+<U5A66>
+<U5BCC>
+<U51A8>
+<U5E03>
+<U5E9C>
+<U6016>
+<U6276>
+<U6577>
+<U65A7>
+<U666E>
+<U6D6E>
+<U7236>
+<U7B26>
+<U8150>
+<U819A>
+<U8299>
+<U8B5C>
+<U8CA0>
+<U8CE6>
+<U8D74>
+<U961C>
+<U9644>
+<U4FAE>
+<U64AB>
+<U6B66>
+<U821E>
+<U8461>
+<U856A>
+<U90E8>
+<U5C01>
+<U6953>
+<U98A8>
+<U847A>
+<U8557>
+<U4F0F>
+<U526F>
+<U5FA9>
+<U5E45>
+<U670D>
+<U798F>
+<U8179>
+<U8907>
+<U8986>
+<U6DF5>
+<U5F17>
+<U6255>
+<U6CB8>
+<U4ECF>
+<U7269>
+<U9B92>
+<U5206>
+<U543B>
+<U5674>
+<U58B3>
+<U61A4>
+<U626E>
+<U711A>
+<U596E>
+<U7C89>
+<U7CDE>
+<U7D1B>
+<U96F0>
+<U6587>
+<U805E>
+<U4E19>
+<U4F75>
+<U5175>
+<U5840>
+<U5E63>
+<U5E73>
+<U5F0A>
+<U67C4>
+<U4E26>
+<U853D>
+<U9589>
+<U965B>
+<U7C73>
+<U9801>
+<U50FB>
+<U58C1>
+<U7656>
+<U78A7>
+<U5225>
+<U77A5>
+<U8511>
+<U7B86>
+<U504F>
+<U5909>
+<U7247>
+<U7BC7>
+<U7DE8>
+<U8FBA>
+<U8FD4>
+<U904D>
+<U4FBF>
+<U52C9>
+<U5A29>
+<U5F01>
+<U97AD>
+<U4FDD>
+<U8217>
+<U92EA>
+<U5703>
+<U6355>
+<U6B69>
+<U752B>
+<U88DC>
+<U8F14>
+<U7A42>
+<U52DF>
+<U5893>
+<U6155>
+<U620A>
+<U66AE>
+<U6BCD>
+<U7C3F>
+<U83E9>
+<U5023>
+<U4FF8>
+<U5305>
+<U5446>
+<U5831>
+<U5949>
+<U5B9D>
+<U5CF0>
+<U5CEF>
+<U5D29>
+<U5E96>
+<U62B1>
+<U6367>
+<U653E>
+<U65B9>
+<U670B>
+<U6CD5>
+<U6CE1>
+<U70F9>
+<U7832>
+<U7E2B>
+<U80DE>
+<U82B3>
+<U840C>
+<U84EC>
+<U8702>
+<U8912>
+<U8A2A>
+<U8C4A>
+<U90A6>
+<U92D2>
+<U98FD>
+<U9CF3>
+<U9D6C>
+<U4E4F>
+<U4EA1>
+<U508D>
+<U5256>
+<U574A>
+<U59A8>
+<U5E3D>
+<U5FD8>
+<U5FD9>
+<U623F>
+<U66B4>
+<U671B>
+<U67D0>
+<U68D2>
+<U5192>
+<U7D21>
+<U80AA>
+<U81A8>
+<U8B00>
+<U8C8C>
+<U8CBF>
+<U927E>
+<U9632>
+<U5420>
+<U982C>
+<U5317>
+<U50D5>
+<U535C>
+<U58A8>
+<U64B2>
+<U6734>
+<U7267>
+<U7766>
+<U7A46>
+<U91E6>
+<U52C3>
+<U6CA1>
+<U6B86>
+<U5800>
+<U5E4C>
+<U5954>
+<U672C>
+<U7FFB>
+<U51E1>
+<U76C6>
+<U6469>
+<U78E8>
+<U9B54>
+<U9EBB>
+<U57CB>
+<U59B9>
+<U6627>
+<U679A>
+<U6BCE>
+<U54E9>
+<U69D9>
+<U5E55>
+<U819C>
+<U6795>
+<U9BAA>
+<U67FE>
+<U9C52>
+<U685D>
+<U4EA6>
+<U4FE3>
+<U53C8>
+<U62B9>
+<U672B>
+<U6CAB>
+<U8FC4>
+<U4FAD>
+<U7E6D>
+<U9EBF>
+<U4E07>
+<U6162>
+<U6E80>
+<U6F2B>
+<U8513>
+<U5473>
+<U672A>
+<U9B45>
+<U5DF3>
+<U7B95>
+<U5CAC>
+<U5BC6>
+<U871C>
+<U6E4A>
+<U84D1>
+<U7A14>
+<U8108>
+<U5999>
+<U7C8D>
+<U6C11>
+<U7720>
+<U52D9>
+<U5922>
+<U7121>
+<U725F>
+<U77DB>
+<U9727>
+<U9D61>
+<U690B>
+<U5A7F>
+<U5A18>
+<U51A5>
+<U540D>
+<U547D>
+<U660E>
+<U76DF>
+<U8FF7>
+<U9298>
+<U9CF4>
+<U59EA>
+<U725D>
+<U6EC5>
+<U514D>
+<U68C9>
+<U7DBF>
+<U7DEC>
+<U9762>
+<U9EBA>
+<U6478>
+<U6A21>
+<U8302>
+<U5984>
+<U5B5F>
+<U6BDB>
+<U731B>
+<U76F2>
+<U7DB2>
+<U8017>
+<U8499>
+<U5132>
+<U6728>
+<U9ED9>
+<U76EE>
+<U6762>
+<U52FF>
+<U9905>
+<U5C24>
+<U623B>
+<U7C7E>
+<U8CB0>
+<U554F>
+<U60B6>
+<U7D0B>
+<U9580>
+<U5301>
+<U4E5F>
+<U51B6>
+<U591C>
+<U723A>
+<U8036>
+<U91CE>
+<U5F25>
+<U77E2>
+<U5384>
+<U5F79>
+<U7D04>
+<U85AC>
+<U8A33>
+<U8E8D>
+<U9756>
+<U67F3>
+<U85AE>
+<U9453>
+<U6109>
+<U6108>
+<U6CB9>
+<U7652>
+<U8AED>
+<U8F38>
+<U552F>
+<U4F51>
+<U512A>
+<U52C7>
+<U53CB>
+<U5BA5>
+<U5E7D>
+<U60A0>
+<U6182>
+<U63D6>
+<U6709>
+<U67DA>
+<U6E67>
+<U6D8C>
+<U7336>
+<U7337>
+<U7531>
+<U7950>
+<U88D5>
+<U8A98>
+<U904A>
+<U9091>
+<U90F5>
+<U96C4>
+<U878D>
+<U5915>
+<U4E88>
+<U4F59>
+<U4E0E>
+<U8A89>
+<U8F3F>
+<U9810>
+<U50AD>
+<U5E7C>
+<U5996>
+<U5BB9>
+<U5EB8>
+<U63DA>
+<U63FA>
+<U64C1>
+<U66DC>
+<U694A>
+<U69D8>
+<U6D0B>
+<U6EB6>
+<U7194>
+<U7528>
+<U7AAF>
+<U7F8A>
+<U8000>
+<U8449>
+<U84C9>
+<U8981>
+<U8B21>
+<U8E0A>
+<U9065>
+<U967D>
+<U990A>
+<U617E>
+<U6291>
+<U6B32>
+<U6C83>
+<U6D74>
+<U7FCC>
+<U7FFC>
+<U6DC0>
+<U7F85>
+<U87BA>
+<U88F8>
+<U6765>
+<U83B1>
+<U983C>
+<U96F7>
+<U6D1B>
+<U7D61>
+<U843D>
+<U916A>
+<U4E71>
+<U5375>
+<U5D50>
+<U6B04>
+<U6FEB>
+<U85CD>
+<U862D>
+<U89A7>
+<U5229>
+<U540F>
+<U5C65>
+<U674E>
+<U68A8>
+<U7406>
+<U7483>
+<U75E2>
+<U88CF>
+<U88E1>
+<U91CC>
+<U96E2>
+<U9678>
+<U5F8B>
+<U7387>
+<U7ACB>
+<U844E>
+<U63A0>
+<U7565>
+<U5289>
+<U6D41>
+<U6E9C>
+<U7409>
+<U7559>
+<U786B>
+<U7C92>
+<U9686>
+<U7ADC>
+<U9F8D>
+<U4FB6>
+<U616E>
+<U65C5>
+<U865C>
+<U4E86>
+<U4EAE>
+<U50DA>
+<U4E21>
+<U51CC>
+<U5BEE>
+<U6599>
+<U6881>
+<U6DBC>
+<U731F>
+<U7642>
+<U77AD>
+<U7A1C>
+<U7CE7>
+<U826F>
+<U8AD2>
+<U907C>
+<U91CF>
+<U9675>
+<U9818>
+<U529B>
+<U7DD1>
+<U502B>
+<U5398>
+<U6797>
+<U6DCB>
+<U71D0>
+<U7433>
+<U81E8>
+<U8F2A>
+<U96A3>
+<U9C57>
+<U9E9F>
+<U7460>
+<U5841>
+<U6D99>
+<U7D2F>
+<U985E>
+<U4EE4>
+<U4F36>
+<U4F8B>
+<U51B7>
+<U52B1>
+<U5DBA>
+<U601C>
+<U73B2>
+<U793C>
+<U82D3>
+<U9234>
+<U96B7>
+<U96F6>
+<U970A>
+<U9E97>
+<U9F62>
+<U66A6>
+<U6B74>
+<U5217>
+<U52A3>
+<U70C8>
+<U88C2>
+<U5EC9>
+<U604B>
+<U6190>
+<U6F23>
+<U7149>
+<U7C3E>
+<U7DF4>
+<U806F>
+<U84EE>
+<U9023>
+<U932C>
+<U5442>
+<U9B6F>
+<U6AD3>
+<U7089>
+<U8CC2>
+<U8DEF>
+<U9732>
+<U52B4>
+<U5A41>
+<U5ECA>
+<U5F04>
+<U6717>
+<U697C>
+<U6994>
+<U6D6A>
+<U6F0F>
+<U7262>
+<U72FC>
+<U7BED>
+<U8001>
+<U807E>
+<U874B>
+<U90CE>
+<U516D>
+<U9E93>
+<U7984>
+<U808B>
+<U9332>
+<U8AD6>
+<U502D>
+<U548C>
+<U8A71>
+<U6B6A>
+<U8CC4>
+<U8107>
+<U60D1>
+<U67A0>
+<U9DF2>
+<U4E99>
+<U4E98>
+<U9C10>
+<U8A6B>
+<U85C1>
+<U8568>
+<U6900>
+<U6E7E>
+<U7897>
+<U8155>
+<U5F0C>
+<U4E10>
+<U4E15>
+<U4E2A>
+<U4E31>
+<U4E36>
+<U4E3C>
+<U4E3F>
+<U4E42>
+<U4E56>
+<U4E58>
+<U4E82>
+<U4E85>
+<U8C6B>
+<U4E8A>
+<U8212>
+<U5F0D>
+<U4E8E>
+<U4E9E>
+<U4E9F>
+<U4EA0>
+<U4EA2>
+<U4EB0>
+<U4EB3>
+<U4EB6>
+<U4ECE>
+<U4ECD>
+<U4EC4>
+<U4EC6>
+<U4EC2>
+<U4ED7>
+<U4EDE>
+<U4EED>
+<U4EDF>
+<U4EF7>
+<U4F09>
+<U4F5A>
+<U4F30>
+<U4F5B>
+<U4F5D>
+<U4F57>
+<U4F47>
+<U4F76>
+<U4F88>
+<U4F8F>
+<U4F98>
+<U4F7B>
+<U4F69>
+<U4F70>
+<U4F91>
+<U4F6F>
+<U4F86>
+<U4F96>
+<U5118>
+<U4FD4>
+<U4FDF>
+<U4FCE>
+<U4FD8>
+<U4FDB>
+<U4FD1>
+<U4FDA>
+<U4FD0>
+<U4FE4>
+<U4FE5>
+<U501A>
+<U5028>
+<U5014>
+<U502A>
+<U5025>
+<U5005>
+<U4F1C>
+<U4FF6>
+<U5021>
+<U5029>
+<U502C>
+<U4FFE>
+<U4FEF>
+<U5011>
+<U5006>
+<U5043>
+<U5047>
+<U6703>
+<U5055>
+<U5050>
+<U5048>
+<U505A>
+<U5056>
+<U506C>
+<U5078>
+<U5080>
+<U509A>
+<U5085>
+<U50B4>
+<U50B2>
+<U50C9>
+<U50CA>
+<U50B3>
+<U50C2>
+<U50D6>
+<U50DE>
+<U50E5>
+<U50ED>
+<U50E3>
+<U50EE>
+<U50F9>
+<U50F5>
+<U5109>
+<U5101>
+<U5102>
+<U5116>
+<U5115>
+<U5114>
+<U511A>
+<U5121>
+<U513A>
+<U5137>
+<U513C>
+<U513B>
+<U513F>
+<U5140>
+<U5152>
+<U514C>
+<U5154>
+<U5162>
+<U7AF8>
+<U5169>
+<U516A>
+<U516E>
+<U5180>
+<U5182>
+<U56D8>
+<U518C>
+<U5189>
+<U518F>
+<U5191>
+<U5193>
+<U5195>
+<U5196>
+<U51A4>
+<U51A6>
+<U51A2>
+<U51A9>
+<U51AA>
+<U51AB>
+<U51B3>
+<U51B1>
+<U51B2>
+<U51B0>
+<U51B5>
+<U51BD>
+<U51C5>
+<U51C9>
+<U51DB>
+<U51E0>
+<U8655>
+<U51E9>
+<U51ED>
+<U51F0>
+<U51F5>
+<U51FE>
+<U5204>
+<U520B>
+<U5214>
+<U520E>
+<U5227>
+<U522A>
+<U522E>
+<U5233>
+<U5239>
+<U524F>
+<U5244>
+<U524B>
+<U524C>
+<U525E>
+<U5254>
+<U526A>
+<U5274>
+<U5269>
+<U5273>
+<U527F>
+<U527D>
+<U528D>
+<U5294>
+<U5292>
+<U5271>
+<U5288>
+<U5291>
+<U8FA8>
+<U8FA7>
+<U52AC>
+<U52AD>
+<U52BC>
+<U52B5>
+<U52C1>
+<U52CD>
+<U52D7>
+<U52DE>
+<U52E3>
+<U52E6>
+<U98ED>
+<U52E0>
+<U52F3>
+<U52F5>
+<U52F8>
+<U52F9>
+<U5306>
+<U5308>
+<U7538>
+<U530D>
+<U5310>
+<U530F>
+<U5315>
+<U531A>
+<U5323>
+<U532F>
+<U5331>
+<U5333>
+<U5338>
+<U5340>
+<U5346>
+<U5345>
+<U4E17>
+<U5349>
+<U534D>
+<U51D6>
+<U535E>
+<U5369>
+<U536E>
+<U5918>
+<U537B>
+<U5377>
+<U5382>
+<U5396>
+<U53A0>
+<U53A6>
+<U53A5>
+<U53AE>
+<U53B0>
+<U53B6>
+<U53C3>
+<U7C12>
+<U96D9>
+<U53DF>
+<U66FC>
+<U71EE>
+<U53EE>
+<U53E8>
+<U53ED>
+<U53FA>
+<U5401>
+<U543D>
+<U5440>
+<U542C>
+<U542D>
+<U543C>
+<U542E>
+<U5436>
+<U5429>
+<U541D>
+<U544E>
+<U548F>
+<U5475>
+<U548E>
+<U545F>
+<U5471>
+<U5477>
+<U5470>
+<U5492>
+<U547B>
+<U5480>
+<U5476>
+<U5484>
+<U5490>
+<U5486>
+<U54C7>
+<U54A2>
+<U54B8>
+<U54A5>
+<U54AC>
+<U54C4>
+<U54C8>
+<U54A8>
+<U54AB>
+<U54C2>
+<U54A4>
+<U54BE>
+<U54BC>
+<U54D8>
+<U54E5>
+<U54E6>
+<U550F>
+<U5514>
+<U54FD>
+<U54EE>
+<U54ED>
+<U54FA>
+<U54E2>
+<U5539>
+<U5540>
+<U5563>
+<U554C>
+<U552E>
+<U555C>
+<U5545>
+<U5556>
+<U5557>
+<U5538>
+<U5533>
+<U555D>
+<U5599>
+<U5580>
+<U54AF>
+<U558A>
+<U559F>
+<U557B>
+<U557E>
+<U5598>
+<U559E>
+<U55AE>
+<U557C>
+<U5583>
+<U55A9>
+<U5587>
+<U55A8>
+<U55DA>
+<U55C5>
+<U55DF>
+<U55C4>
+<U55DC>
+<U55E4>
+<U55D4>
+<U5614>
+<U55F7>
+<U5616>
+<U55FE>
+<U55FD>
+<U561B>
+<U55F9>
+<U564E>
+<U5650>
+<U71DF>
+<U5634>
+<U5636>
+<U5632>
+<U5638>
+<U566B>
+<U5664>
+<U562F>
+<U566C>
+<U566A>
+<U5686>
+<U5680>
+<U568A>
+<U56A0>
+<U5694>
+<U568F>
+<U56A5>
+<U56AE>
+<U56B6>
+<U56B4>
+<U56C2>
+<U56BC>
+<U56C1>
+<U56C3>
+<U56C0>
+<U56C8>
+<U56CE>
+<U56D1>
+<U56D3>
+<U56D7>
+<U56EE>
+<U56F9>
+<U5700>
+<U56FF>
+<U5704>
+<U5709>
+<U5708>
+<U570B>
+<U570D>
+<U5713>
+<U5718>
+<U5716>
+<U55C7>
+<U571C>
+<U5726>
+<U5737>
+<U5738>
+<U574E>
+<U573B>
+<U5740>
+<U574F>
+<U5769>
+<U57C0>
+<U5788>
+<U5761>
+<U577F>
+<U5789>
+<U5793>
+<U57A0>
+<U57B3>
+<U57A4>
+<U57AA>
+<U57B0>
+<U57C3>
+<U57C6>
+<U57D4>
+<U57D2>
+<U57D3>
+<U580A>
+<U57D6>
+<U57E3>
+<U580B>
+<U5819>
+<U581D>
+<U5872>
+<U5821>
+<U5862>
+<U584B>
+<U5870>
+<U6BC0>
+<U5852>
+<U583D>
+<U5879>
+<U5885>
+<U58B9>
+<U589F>
+<U58AB>
+<U58BA>
+<U58DE>
+<U58BB>
+<U58B8>
+<U58AE>
+<U58C5>
+<U58D3>
+<U58D1>
+<U58D7>
+<U58D9>
+<U58D8>
+<U58E5>
+<U58DC>
+<U58E4>
+<U58DF>
+<U58EF>
+<U58FA>
+<U58F9>
+<U58FB>
+<U58FC>
+<U58FD>
+<U5902>
+<U590A>
+<U5910>
+<U591B>
+<U68A6>
+<U5925>
+<U592C>
+<U592D>
+<U5932>
+<U5938>
+<U593E>
+<U7AD2>
+<U5955>
+<U5950>
+<U594E>
+<U595A>
+<U5958>
+<U5962>
+<U5960>
+<U5967>
+<U596C>
+<U5969>
+<U5978>
+<U5981>
+<U599D>
+<U4F5E>
+<U4FAB>
+<U59A3>
+<U59B2>
+<U59C6>
+<U59E8>
+<U59DC>
+<U598D>
+<U59D9>
+<U59DA>
+<U5A25>
+<U5A1F>
+<U5A11>
+<U5A1C>
+<U5A09>
+<U5A1A>
+<U5A40>
+<U5A6C>
+<U5A49>
+<U5A35>
+<U5A36>
+<U5A62>
+<U5A6A>
+<U5A9A>
+<U5ABC>
+<U5ABE>
+<U5ACB>
+<U5AC2>
+<U5ABD>
+<U5AE3>
+<U5AD7>
+<U5AE6>
+<U5AE9>
+<U5AD6>
+<U5AFA>
+<U5AFB>
+<U5B0C>
+<U5B0B>
+<U5B16>
+<U5B32>
+<U5AD0>
+<U5B2A>
+<U5B36>
+<U5B3E>
+<U5B43>
+<U5B45>
+<U5B40>
+<U5B51>
+<U5B55>
+<U5B5A>
+<U5B5B>
+<U5B65>
+<U5B69>
+<U5B70>
+<U5B73>
+<U5B75>
+<U5B78>
+<U6588>
+<U5B7A>
+<U5B80>
+<U5B83>
+<U5BA6>
+<U5BB8>
+<U5BC3>
+<U5BC7>
+<U5BC9>
+<U5BD4>
+<U5BD0>
+<U5BE4>
+<U5BE6>
+<U5BE2>
+<U5BDE>
+<U5BE5>
+<U5BEB>
+<U5BF0>
+<U5BF6>
+<U5BF3>
+<U5C05>
+<U5C07>
+<U5C08>
+<U5C0D>
+<U5C13>
+<U5C20>
+<U5C22>
+<U5C28>
+<U5C38>
+<U5C39>
+<U5C41>
+<U5C46>
+<U5C4E>
+<U5C53>
+<U5C50>
+<U5C4F>
+<U5B71>
+<U5C6C>
+<U5C6E>
+<U4E62>
+<U5C76>
+<U5C79>
+<U5C8C>
+<U5C91>
+<U5C94>
+<U599B>
+<U5CAB>
+<U5CBB>
+<U5CB6>
+<U5CBC>
+<U5CB7>
+<U5CC5>
+<U5CBE>
+<U5CC7>
+<U5CD9>
+<U5CE9>
+<U5CFD>
+<U5CFA>
+<U5CED>
+<U5D8C>
+<U5CEA>
+<U5D0B>
+<U5D15>
+<U5D17>
+<U5D5C>
+<U5D1F>
+<U5D1B>
+<U5D11>
+<U5D14>
+<U5D22>
+<U5D1A>
+<U5D19>
+<U5D18>
+<U5D4C>
+<U5D52>
+<U5D4E>
+<U5D4B>
+<U5D6C>
+<U5D73>
+<U5D76>
+<U5D87>
+<U5D84>
+<U5D82>
+<U5DA2>
+<U5D9D>
+<U5DAC>
+<U5DAE>
+<U5DBD>
+<U5D90>
+<U5DB7>
+<U5DBC>
+<U5DC9>
+<U5DCD>
+<U5DD3>
+<U5DD2>
+<U5DD6>
+<U5DDB>
+<U5DEB>
+<U5DF2>
+<U5DF5>
+<U5E0B>
+<U5E1A>
+<U5E19>
+<U5E11>
+<U5E1B>
+<U5E36>
+<U5E37>
+<U5E44>
+<U5E43>
+<U5E40>
+<U5E4E>
+<U5E57>
+<U5E54>
+<U5E5F>
+<U5E62>
+<U5E64>
+<U5E47>
+<U5E75>
+<U5E76>
+<U5E7A>
+<U9EBC>
+<U5E7F>
+<U5EA0>
+<U5EC1>
+<U5EC2>
+<U5EC8>
+<U5ED0>
+<U5ECF>
+<U5ED6>
+<U5EE3>
+<U5EDD>
+<U5EDA>
+<U5EDB>
+<U5EE2>
+<U5EE1>
+<U5EE8>
+<U5EE9>
+<U5EEC>
+<U5EF1>
+<U5EF3>
+<U5EF0>
+<U5EF4>
+<U5EF8>
+<U5EFE>
+<U5F03>
+<U5F09>
+<U5F5D>
+<U5F5C>
+<U5F0B>
+<U5F11>
+<U5F16>
+<U5F29>
+<U5F2D>
+<U5F38>
+<U5F41>
+<U5F48>
+<U5F4C>
+<U5F4E>
+<U5F2F>
+<U5F51>
+<U5F56>
+<U5F57>
+<U5F59>
+<U5F61>
+<U5F6D>
+<U5F73>
+<U5F77>
+<U5F83>
+<U5F82>
+<U5F7F>
+<U5F8A>
+<U5F88>
+<U5F91>
+<U5F87>
+<U5F9E>
+<U5F99>
+<U5F98>
+<U5FA0>
+<U5FA8>
+<U5FAD>
+<U5FBC>
+<U5FD6>
+<U5FFB>
+<U5FE4>
+<U5FF8>
+<U5FF1>
+<U5FDD>
+<U60B3>
+<U5FFF>
+<U6021>
+<U6060>
+<U6019>
+<U6010>
+<U6029>
+<U600E>
+<U6031>
+<U601B>
+<U6015>
+<U602B>
+<U6026>
+<U600F>
+<U603A>
+<U605A>
+<U6041>
+<U606A>
+<U6077>
+<U605F>
+<U604A>
+<U6046>
+<U604D>
+<U6063>
+<U6043>
+<U6064>
+<U6042>
+<U606C>
+<U606B>
+<U6059>
+<U6081>
+<U608D>
+<U60E7>
+<U6083>
+<U609A>
+<U6084>
+<U609B>
+<U6096>
+<U6097>
+<U6092>
+<U60A7>
+<U608B>
+<U60E1>
+<U60B8>
+<U60E0>
+<U60D3>
+<U60B4>
+<U5FF0>
+<U60BD>
+<U60C6>
+<U60B5>
+<U60D8>
+<U614D>
+<U6115>
+<U6106>
+<U60F6>
+<U60F7>
+<U6100>
+<U60F4>
+<U60FA>
+<U6103>
+<U6121>
+<U60FB>
+<U60F1>
+<U610D>
+<U610E>
+<U6147>
+<U613E>
+<U6128>
+<U6127>
+<U614A>
+<U613F>
+<U613C>
+<U612C>
+<U6134>
+<U613D>
+<U6142>
+<U6144>
+<U6173>
+<U6177>
+<U6158>
+<U6159>
+<U615A>
+<U616B>
+<U6174>
+<U616F>
+<U6165>
+<U6171>
+<U615F>
+<U615D>
+<U6153>
+<U6175>
+<U6199>
+<U6196>
+<U6187>
+<U61AC>
+<U6194>
+<U619A>
+<U618A>
+<U6191>
+<U61AB>
+<U61AE>
+<U61CC>
+<U61CA>
+<U61C9>
+<U61F7>
+<U61C8>
+<U61C3>
+<U61C6>
+<U61BA>
+<U61CB>
+<U7F79>
+<U61CD>
+<U61E6>
+<U61E3>
+<U61F6>
+<U61FA>
+<U61F4>
+<U61FF>
+<U61FD>
+<U61FC>
+<U61FE>
+<U6200>
+<U6208>
+<U6209>
+<U620D>
+<U620C>
+<U6214>
+<U621B>
+<U621E>
+<U6221>
+<U622A>
+<U622E>
+<U6230>
+<U6232>
+<U6233>
+<U6241>
+<U624E>
+<U625E>
+<U6263>
+<U625B>
+<U6260>
+<U6268>
+<U627C>
+<U6282>
+<U6289>
+<U627E>
+<U6292>
+<U6293>
+<U6296>
+<U62D4>
+<U6283>
+<U6294>
+<U62D7>
+<U62D1>
+<U62BB>
+<U62CF>
+<U62FF>
+<U62C6>
+<U64D4>
+<U62C8>
+<U62DC>
+<U62CC>
+<U62CA>
+<U62C2>
+<U62C7>
+<U629B>
+<U62C9>
+<U630C>
+<U62EE>
+<U62F1>
+<U6327>
+<U6302>
+<U6308>
+<U62EF>
+<U62F5>
+<U6350>
+<U633E>
+<U634D>
+<U641C>
+<U634F>
+<U6396>
+<U638E>
+<U6380>
+<U63AB>
+<U6376>
+<U63A3>
+<U638F>
+<U6389>
+<U639F>
+<U63B5>
+<U636B>
+<U6369>
+<U63BE>
+<U63E9>
+<U63C0>
+<U63C6>
+<U63E3>
+<U63C9>
+<U63D2>
+<U63F6>
+<U63C4>
+<U6416>
+<U6434>
+<U6406>
+<U6413>
+<U6426>
+<U6436>
+<U651D>
+<U6417>
+<U6428>
+<U640F>
+<U6467>
+<U646F>
+<U6476>
+<U644E>
+<U652A>
+<U6495>
+<U6493>
+<U64A5>
+<U64A9>
+<U6488>
+<U64BC>
+<U64DA>
+<U64D2>
+<U64C5>
+<U64C7>
+<U64BB>
+<U64D8>
+<U64C2>
+<U64F1>
+<U64E7>
+<U8209>
+<U64E0>
+<U64E1>
+<U62AC>
+<U64E3>
+<U64EF>
+<U652C>
+<U64F6>
+<U64F4>
+<U64F2>
+<U64FA>
+<U6500>
+<U64FD>
+<U6518>
+<U651C>
+<U6505>
+<U6524>
+<U6523>
+<U652B>
+<U6534>
+<U6535>
+<U6537>
+<U6536>
+<U6538>
+<U754B>
+<U6548>
+<U6556>
+<U6555>
+<U654D>
+<U6558>
+<U655E>
+<U655D>
+<U6572>
+<U6578>
+<U6582>
+<U6583>
+<U8B8A>
+<U659B>
+<U659F>
+<U65AB>
+<U65B7>
+<U65C3>
+<U65C6>
+<U65C1>
+<U65C4>
+<U65CC>
+<U65D2>
+<U65DB>
+<U65D9>
+<U65E0>
+<U65E1>
+<U65F1>
+<U6772>
+<U660A>
+<U6603>
+<U65FB>
+<U6773>
+<U6635>
+<U6636>
+<U6634>
+<U661C>
+<U664F>
+<U6644>
+<U6649>
+<U6641>
+<U665E>
+<U665D>
+<U6664>
+<U6667>
+<U6668>
+<U665F>
+<U6662>
+<U6670>
+<U6683>
+<U6688>
+<U668E>
+<U6689>
+<U6684>
+<U6698>
+<U669D>
+<U66C1>
+<U66B9>
+<U66C9>
+<U66BE>
+<U66BC>
+<U66C4>
+<U66B8>
+<U66D6>
+<U66DA>
+<U66E0>
+<U663F>
+<U66E6>
+<U66E9>
+<U66F0>
+<U66F5>
+<U66F7>
+<U670F>
+<U6716>
+<U671E>
+<U6726>
+<U6727>
+<U9738>
+<U672E>
+<U673F>
+<U6736>
+<U6741>
+<U6738>
+<U6737>
+<U6746>
+<U675E>
+<U6760>
+<U6759>
+<U6763>
+<U6764>
+<U6789>
+<U6770>
+<U67A9>
+<U677C>
+<U676A>
+<U678C>
+<U678B>
+<U67A6>
+<U67A1>
+<U6785>
+<U67B7>
+<U67EF>
+<U67B4>
+<U67EC>
+<U67B3>
+<U67E9>
+<U67B8>
+<U67E4>
+<U67DE>
+<U67DD>
+<U67E2>
+<U67EE>
+<U67B9>
+<U67CE>
+<U67C6>
+<U67E7>
+<U6A9C>
+<U681E>
+<U6846>
+<U6829>
+<U6840>
+<U684D>
+<U6832>
+<U684E>
+<U68B3>
+<U682B>
+<U6859>
+<U6863>
+<U6877>
+<U687F>
+<U689F>
+<U688F>
+<U68AD>
+<U6894>
+<U689D>
+<U689B>
+<U6883>
+<U6AAE>
+<U68B9>
+<U6874>
+<U68B5>
+<U68A0>
+<U68BA>
+<U690F>
+<U688D>
+<U687E>
+<U6901>
+<U68CA>
+<U6908>
+<U68D8>
+<U6922>
+<U6926>
+<U68E1>
+<U690C>
+<U68CD>
+<U68D4>
+<U68E7>
+<U68D5>
+<U6936>
+<U6912>
+<U6904>
+<U68D7>
+<U68E3>
+<U6925>
+<U68F9>
+<U68E0>
+<U68EF>
+<U6928>
+<U692A>
+<U691A>
+<U6923>
+<U6921>
+<U68C6>
+<U6979>
+<U6977>
+<U695C>
+<U6978>
+<U696B>
+<U6954>
+<U697E>
+<U696E>
+<U6939>
+<U6974>
+<U693D>
+<U6959>
+<U6930>
+<U6961>
+<U695E>
+<U695D>
+<U6981>
+<U696A>
+<U69B2>
+<U69AE>
+<U69D0>
+<U69BF>
+<U69C1>
+<U69D3>
+<U69BE>
+<U69CE>
+<U5BE8>
+<U69CA>
+<U69DD>
+<U69BB>
+<U69C3>
+<U69A7>
+<U6A2E>
+<U6991>
+<U69A0>
+<U699C>
+<U6995>
+<U69B4>
+<U69DE>
+<U69E8>
+<U6A02>
+<U6A1B>
+<U69FF>
+<U6B0A>
+<U69F9>
+<U69F2>
+<U69E7>
+<U6A05>
+<U69B1>
+<U6A1E>
+<U69ED>
+<U6A14>
+<U69EB>
+<U6A0A>
+<U6A12>
+<U6AC1>
+<U6A23>
+<U6A13>
+<U6A44>
+<U6A0C>
+<U6A72>
+<U6A36>
+<U6A78>
+<U6A47>
+<U6A62>
+<U6A59>
+<U6A66>
+<U6A48>
+<U6A38>
+<U6A22>
+<U6A90>
+<U6A8D>
+<U6AA0>
+<U6A84>
+<U6AA2>
+<U6AA3>
+<U6A97>
+<U8617>
+<U6ABB>
+<U6AC3>
+<U6AC2>
+<U6AB8>
+<U6AB3>
+<U6AAC>
+<U6ADE>
+<U6AD1>
+<U6ADF>
+<U6AAA>
+<U6ADA>
+<U6AEA>
+<U6AFB>
+<U6B05>
+<U8616>
+<U6AFA>
+<U6B12>
+<U6B16>
+<U9B31>
+<U6B1F>
+<U6B38>
+<U6B37>
+<U76DC>
+<U6B39>
+<U98EE>
+<U6B47>
+<U6B43>
+<U6B49>
+<U6B50>
+<U6B59>
+<U6B54>
+<U6B5B>
+<U6B5F>
+<U6B61>
+<U6B78>
+<U6B79>
+<U6B7F>
+<U6B80>
+<U6B84>
+<U6B83>
+<U6B8D>
+<U6B98>
+<U6B95>
+<U6B9E>
+<U6BA4>
+<U6BAA>
+<U6BAB>
+<U6BAF>
+<U6BB2>
+<U6BB1>
+<U6BB3>
+<U6BB7>
+<U6BBC>
+<U6BC6>
+<U6BCB>
+<U6BD3>
+<U6BDF>
+<U6BEC>
+<U6BEB>
+<U6BF3>
+<U6BEF>
+<U9EBE>
+<U6C08>
+<U6C13>
+<U6C14>
+<U6C1B>
+<U6C24>
+<U6C23>
+<U6C5E>
+<U6C55>
+<U6C62>
+<U6C6A>
+<U6C82>
+<U6C8D>
+<U6C9A>
+<U6C81>
+<U6C9B>
+<U6C7E>
+<U6C68>
+<U6C73>
+<U6C92>
+<U6C90>
+<U6CC4>
+<U6CF1>
+<U6CD3>
+<U6CBD>
+<U6CD7>
+<U6CC5>
+<U6CDD>
+<U6CAE>
+<U6CB1>
+<U6CBE>
+<U6CBA>
+<U6CDB>
+<U6CEF>
+<U6CD9>
+<U6CEA>
+<U6D1F>
+<U884D>
+<U6D36>
+<U6D2B>
+<U6D3D>
+<U6D38>
+<U6D19>
+<U6D35>
+<U6D33>
+<U6D12>
+<U6D0C>
+<U6D63>
+<U6D93>
+<U6D64>
+<U6D5A>
+<U6D79>
+<U6D59>
+<U6D8E>
+<U6D95>
+<U6FE4>
+<U6D85>
+<U6DF9>
+<U6E15>
+<U6E0A>
+<U6DB5>
+<U6DC7>
+<U6DE6>
+<U6DB8>
+<U6DC6>
+<U6DEC>
+<U6DDE>
+<U6DCC>
+<U6DE8>
+<U6DD2>
+<U6DC5>
+<U6DFA>
+<U6DD9>
+<U6DE4>
+<U6DD5>
+<U6DEA>
+<U6DEE>
+<U6E2D>
+<U6E6E>
+<U6E2E>
+<U6E19>
+<U6E72>
+<U6E5F>
+<U6E3E>
+<U6E23>
+<U6E6B>
+<U6E2B>
+<U6E76>
+<U6E4D>
+<U6E1F>
+<U6E43>
+<U6E3A>
+<U6E4E>
+<U6E24>
+<U6EFF>
+<U6E1D>
+<U6E38>
+<U6E82>
+<U6EAA>
+<U6E98>
+<U6EC9>
+<U6EB7>
+<U6ED3>
+<U6EBD>
+<U6EAF>
+<U6EC4>
+<U6EB2>
+<U6ED4>
+<U6ED5>
+<U6E8F>
+<U6EA5>
+<U6EC2>
+<U6E9F>
+<U6F41>
+<U6F11>
+<U704C>
+<U6EEC>
+<U6EF8>
+<U6EFE>
+<U6F3F>
+<U6EF2>
+<U6F31>
+<U6EEF>
+<U6F32>
+<U6ECC>
+<U6F3E>
+<U6F13>
+<U6EF7>
+<U6F86>
+<U6F7A>
+<U6F78>
+<U6F81>
+<U6F80>
+<U6F6F>
+<U6F5B>
+<U6FF3>
+<U6F6D>
+<U6F82>
+<U6F7C>
+<U6F58>
+<U6F8E>
+<U6F91>
+<U6FC2>
+<U6F66>
+<U6FB3>
+<U6FA3>
+<U6FA1>
+<U6FA4>
+<U6FB9>
+<U6FC6>
+<U6FAA>
+<U6FDF>
+<U6FD5>
+<U6FEC>
+<U6FD4>
+<U6FD8>
+<U6FF1>
+<U6FEE>
+<U6FDB>
+<U7009>
+<U700B>
+<U6FFA>
+<U7011>
+<U7001>
+<U700F>
+<U6FFE>
+<U701B>
+<U701A>
+<U6F74>
+<U701D>
+<U7018>
+<U701F>
+<U7030>
+<U703E>
+<U7032>
+<U7051>
+<U7063>
+<U7099>
+<U7092>
+<U70AF>
+<U70F1>
+<U70AC>
+<U70B8>
+<U70B3>
+<U70AE>
+<U70DF>
+<U70CB>
+<U70DD>
+<U70D9>
+<U7109>
+<U70FD>
+<U711C>
+<U7119>
+<U7165>
+<U7155>
+<U7188>
+<U7166>
+<U7162>
+<U714C>
+<U7156>
+<U716C>
+<U718F>
+<U71FB>
+<U7184>
+<U7195>
+<U71A8>
+<U71AC>
+<U71D7>
+<U71B9>
+<U71BE>
+<U71D2>
+<U71C9>
+<U71D4>
+<U71CE>
+<U71E0>
+<U71EC>
+<U71E7>
+<U71F5>
+<U71FC>
+<U71F9>
+<U71FF>
+<U720D>
+<U7210>
+<U721B>
+<U7228>
+<U722D>
+<U722C>
+<U7230>
+<U7232>
+<U723B>
+<U723C>
+<U723F>
+<U7240>
+<U7246>
+<U724B>
+<U7258>
+<U7274>
+<U727E>
+<U7282>
+<U7281>
+<U7287>
+<U7292>
+<U7296>
+<U72A2>
+<U72A7>
+<U72B9>
+<U72B2>
+<U72C3>
+<U72C6>
+<U72C4>
+<U72CE>
+<U72D2>
+<U72E2>
+<U72E0>
+<U72E1>
+<U72F9>
+<U72F7>
+<U500F>
+<U7317>
+<U730A>
+<U731C>
+<U7316>
+<U731D>
+<U7334>
+<U732F>
+<U7329>
+<U7325>
+<U733E>
+<U734E>
+<U734F>
+<U9ED8>
+<U7357>
+<U736A>
+<U7368>
+<U7370>
+<U7378>
+<U7375>
+<U737B>
+<U737A>
+<U73C8>
+<U73B3>
+<U73CE>
+<U73BB>
+<U73C0>
+<U73E5>
+<U73EE>
+<U73DE>
+<U74A2>
+<U7405>
+<U746F>
+<U7425>
+<U73F8>
+<U7432>
+<U743A>
+<U7455>
+<U743F>
+<U745F>
+<U7459>
+<U7441>
+<U745C>
+<U7469>
+<U7470>
+<U7463>
+<U746A>
+<U7476>
+<U747E>
+<U748B>
+<U749E>
+<U74A7>
+<U74CA>
+<U74CF>
+<U74D4>
+<U73F1>
+<U74E0>
+<U74E3>
+<U74E7>
+<U74E9>
+<U74EE>
+<U74F2>
+<U74F0>
+<U74F1>
+<U74F8>
+<U74F7>
+<U7504>
+<U7503>
+<U7505>
+<U750C>
+<U750E>
+<U750D>
+<U7515>
+<U7513>
+<U751E>
+<U7526>
+<U752C>
+<U753C>
+<U7544>
+<U754D>
+<U754A>
+<U7549>
+<U755B>
+<U7546>
+<U755A>
+<U7569>
+<U7564>
+<U7567>
+<U756B>
+<U756D>
+<U7578>
+<U7576>
+<U7586>
+<U7587>
+<U7574>
+<U758A>
+<U7589>
+<U7582>
+<U7594>
+<U759A>
+<U759D>
+<U75A5>
+<U75A3>
+<U75C2>
+<U75B3>
+<U75C3>
+<U75B5>
+<U75BD>
+<U75B8>
+<U75BC>
+<U75B1>
+<U75CD>
+<U75CA>
+<U75D2>
+<U75D9>
+<U75E3>
+<U75DE>
+<U75FE>
+<U75FF>
+<U75FC>
+<U7601>
+<U75F0>
+<U75FA>
+<U75F2>
+<U75F3>
+<U760B>
+<U760D>
+<U7609>
+<U761F>
+<U7627>
+<U7620>
+<U7621>
+<U7622>
+<U7624>
+<U7634>
+<U7630>
+<U763B>
+<U7647>
+<U7648>
+<U7646>
+<U765C>
+<U7658>
+<U7661>
+<U7662>
+<U7668>
+<U7669>
+<U766A>
+<U7667>
+<U766C>
+<U7670>
+<U7672>
+<U7676>
+<U7678>
+<U767C>
+<U7680>
+<U7683>
+<U7688>
+<U768B>
+<U768E>
+<U7696>
+<U7693>
+<U7699>
+<U769A>
+<U76B0>
+<U76B4>
+<U76B8>
+<U76B9>
+<U76BA>
+<U76C2>
+<U76CD>
+<U76D6>
+<U76D2>
+<U76DE>
+<U76E1>
+<U76E5>
+<U76E7>
+<U76EA>
+<U862F>
+<U76FB>
+<U7708>
+<U7707>
+<U7704>
+<U7729>
+<U7724>
+<U771E>
+<U7725>
+<U7726>
+<U771B>
+<U7737>
+<U7738>
+<U7747>
+<U775A>
+<U7768>
+<U776B>
+<U775B>
+<U7765>
+<U777F>
+<U777E>
+<U7779>
+<U778E>
+<U778B>
+<U7791>
+<U77A0>
+<U779E>
+<U77B0>
+<U77B6>
+<U77B9>
+<U77BF>
+<U77BC>
+<U77BD>
+<U77BB>
+<U77C7>
+<U77CD>
+<U77D7>
+<U77DA>
+<U77DC>
+<U77E3>
+<U77EE>
+<U77FC>
+<U780C>
+<U7812>
+<U7926>
+<U7820>
+<U792A>
+<U7845>
+<U788E>
+<U7874>
+<U7886>
+<U787C>
+<U789A>
+<U788C>
+<U78A3>
+<U78B5>
+<U78AA>
+<U78AF>
+<U78D1>
+<U78C6>
+<U78CB>
+<U78D4>
+<U78BE>
+<U78BC>
+<U78C5>
+<U78CA>
+<U78EC>
+<U78E7>
+<U78DA>
+<U78FD>
+<U78F4>
+<U7907>
+<U7912>
+<U7911>
+<U7919>
+<U792C>
+<U792B>
+<U7940>
+<U7960>
+<U7957>
+<U795F>
+<U795A>
+<U7955>
+<U7953>
+<U797A>
+<U797F>
+<U798A>
+<U799D>
+<U79A7>
+<U9F4B>
+<U79AA>
+<U79AE>
+<U79B3>
+<U79B9>
+<U79BA>
+<U79C9>
+<U79D5>
+<U79E7>
+<U79EC>
+<U79E1>
+<U79E3>
+<U7A08>
+<U7A0D>
+<U7A18>
+<U7A19>
+<U7A20>
+<U7A1F>
+<U7980>
+<U7A31>
+<U7A3B>
+<U7A3E>
+<U7A37>
+<U7A43>
+<U7A57>
+<U7A49>
+<U7A61>
+<U7A62>
+<U7A69>
+<U9F9D>
+<U7A70>
+<U7A79>
+<U7A7D>
+<U7A88>
+<U7A97>
+<U7A95>
+<U7A98>
+<U7A96>
+<U7AA9>
+<U7AC8>
+<U7AB0>
+<U7AB6>
+<U7AC5>
+<U7AC4>
+<U7ABF>
+<U9083>
+<U7AC7>
+<U7ACA>
+<U7ACD>
+<U7ACF>
+<U7AD5>
+<U7AD3>
+<U7AD9>
+<U7ADA>
+<U7ADD>
+<U7AE1>
+<U7AE2>
+<U7AE6>
+<U7AED>
+<U7AF0>
+<U7B02>
+<U7B0F>
+<U7B0A>
+<U7B06>
+<U7B33>
+<U7B18>
+<U7B19>
+<U7B1E>
+<U7B35>
+<U7B28>
+<U7B36>
+<U7B50>
+<U7B7A>
+<U7B04>
+<U7B4D>
+<U7B0B>
+<U7B4C>
+<U7B45>
+<U7B75>
+<U7B65>
+<U7B74>
+<U7B67>
+<U7B70>
+<U7B71>
+<U7B6C>
+<U7B6E>
+<U7B9D>
+<U7B98>
+<U7B9F>
+<U7B8D>
+<U7B9C>
+<U7B9A>
+<U7B8B>
+<U7B92>
+<U7B8F>
+<U7B5D>
+<U7B99>
+<U7BCB>
+<U7BC1>
+<U7BCC>
+<U7BCF>
+<U7BB4>
+<U7BC6>
+<U7BDD>
+<U7BE9>
+<U7C11>
+<U7C14>
+<U7BE6>
+<U7BE5>
+<U7C60>
+<U7C00>
+<U7C07>
+<U7C13>
+<U7BF3>
+<U7BF7>
+<U7C17>
+<U7C0D>
+<U7BF6>
+<U7C23>
+<U7C27>
+<U7C2A>
+<U7C1F>
+<U7C37>
+<U7C2B>
+<U7C3D>
+<U7C4C>
+<U7C43>
+<U7C54>
+<U7C4F>
+<U7C40>
+<U7C50>
+<U7C58>
+<U7C5F>
+<U7C64>
+<U7C56>
+<U7C65>
+<U7C6C>
+<U7C75>
+<U7C83>
+<U7C90>
+<U7CA4>
+<U7CAD>
+<U7CA2>
+<U7CAB>
+<U7CA1>
+<U7CA8>
+<U7CB3>
+<U7CB2>
+<U7CB1>
+<U7CAE>
+<U7CB9>
+<U7CBD>
+<U7CC0>
+<U7CC5>
+<U7CC2>
+<U7CD8>
+<U7CD2>
+<U7CDC>
+<U7CE2>
+<U9B3B>
+<U7CEF>
+<U7CF2>
+<U7CF4>
+<U7CF6>
+<U7CFA>
+<U7D06>
+<U7D02>
+<U7D1C>
+<U7D15>
+<U7D0A>
+<U7D45>
+<U7D4B>
+<U7D2E>
+<U7D32>
+<U7D3F>
+<U7D35>
+<U7D46>
+<U7D73>
+<U7D56>
+<U7D4E>
+<U7D72>
+<U7D68>
+<U7D6E>
+<U7D4F>
+<U7D63>
+<U7D93>
+<U7D89>
+<U7D5B>
+<U7D8F>
+<U7D7D>
+<U7D9B>
+<U7DBA>
+<U7DAE>
+<U7DA3>
+<U7DB5>
+<U7DC7>
+<U7DBD>
+<U7DAB>
+<U7E3D>
+<U7DA2>
+<U7DAF>
+<U7DDC>
+<U7DB8>
+<U7D9F>
+<U7DB0>
+<U7DD8>
+<U7DDD>
+<U7DE4>
+<U7DDE>
+<U7DFB>
+<U7DF2>
+<U7DE1>
+<U7E05>
+<U7E0A>
+<U7E23>
+<U7E21>
+<U7E12>
+<U7E31>
+<U7E1F>
+<U7E09>
+<U7E0B>
+<U7E22>
+<U7E46>
+<U7E66>
+<U7E3B>
+<U7E35>
+<U7E39>
+<U7E43>
+<U7E37>
+<U7E32>
+<U7E3A>
+<U7E67>
+<U7E5D>
+<U7E56>
+<U7E5E>
+<U7E59>
+<U7E5A>
+<U7E79>
+<U7E6A>
+<U7E69>
+<U7E7C>
+<U7E7B>
+<U7E83>
+<U7DD5>
+<U7E7D>
+<U8FAE>
+<U7E7F>
+<U7E88>
+<U7E89>
+<U7E8C>
+<U7E92>
+<U7E90>
+<U7E93>
+<U7E94>
+<U7E96>
+<U7E8E>
+<U7E9B>
+<U7E9C>
+<U7F38>
+<U7F3A>
+<U7F45>
+<U7F4C>
+<U7F4D>
+<U7F4E>
+<U7F50>
+<U7F51>
+<U7F55>
+<U7F54>
+<U7F58>
+<U7F5F>
+<U7F60>
+<U7F68>
+<U7F69>
+<U7F67>
+<U7F78>
+<U7F82>
+<U7F86>
+<U7F83>
+<U7F88>
+<U7F87>
+<U7F8C>
+<U7F94>
+<U7F9E>
+<U7F9D>
+<U7F9A>
+<U7FA3>
+<U7FAF>
+<U7FB2>
+<U7FB9>
+<U7FAE>
+<U7FB6>
+<U7FB8>
+<U8B71>
+<U7FC5>
+<U7FC6>
+<U7FCA>
+<U7FD5>
+<U7FD4>
+<U7FE1>
+<U7FE6>
+<U7FE9>
+<U7FF3>
+<U7FF9>
+<U98DC>
+<U8006>
+<U8004>
+<U800B>
+<U8012>
+<U8018>
+<U8019>
+<U801C>
+<U8021>
+<U8028>
+<U803F>
+<U803B>
+<U804A>
+<U8046>
+<U8052>
+<U8058>
+<U805A>
+<U805F>
+<U8062>
+<U8068>
+<U8073>
+<U8072>
+<U8070>
+<U8076>
+<U8079>
+<U807D>
+<U807F>
+<U8084>
+<U8086>
+<U8085>
+<U809B>
+<U8093>
+<U809A>
+<U80AD>
+<U5190>
+<U80AC>
+<U80DB>
+<U80E5>
+<U80D9>
+<U80DD>
+<U80C4>
+<U80DA>
+<U80D6>
+<U8109>
+<U80EF>
+<U80F1>
+<U811B>
+<U8129>
+<U8123>
+<U812F>
+<U814B>
+<U968B>
+<U8146>
+<U813E>
+<U8153>
+<U8151>
+<U80FC>
+<U8171>
+<U816E>
+<U8165>
+<U8166>
+<U8174>
+<U8183>
+<U8188>
+<U818A>
+<U8180>
+<U8182>
+<U81A0>
+<U8195>
+<U81A4>
+<U81A3>
+<U815F>
+<U8193>
+<U81A9>
+<U81B0>
+<U81B5>
+<U81BE>
+<U81B8>
+<U81BD>
+<U81C0>
+<U81C2>
+<U81BA>
+<U81C9>
+<U81CD>
+<U81D1>
+<U81D9>
+<U81D8>
+<U81C8>
+<U81DA>
+<U81DF>
+<U81E0>
+<U81E7>
+<U81FA>
+<U81FB>
+<U81FE>
+<U8201>
+<U8202>
+<U8205>
+<U8207>
+<U820A>
+<U820D>
+<U8210>
+<U8216>
+<U8229>
+<U822B>
+<U8238>
+<U8233>
+<U8240>
+<U8259>
+<U8258>
+<U825D>
+<U825A>
+<U825F>
+<U8264>
+<U8262>
+<U8268>
+<U826A>
+<U826B>
+<U822E>
+<U8271>
+<U8277>
+<U8278>
+<U827E>
+<U828D>
+<U8292>
+<U82AB>
+<U829F>
+<U82BB>
+<U82AC>
+<U82E1>
+<U82E3>
+<U82DF>
+<U82D2>
+<U82F4>
+<U82F3>
+<U82FA>
+<U8393>
+<U8303>
+<U82FB>
+<U82F9>
+<U82DE>
+<U8306>
+<U82DC>
+<U8309>
+<U82D9>
+<U8335>
+<U8334>
+<U8316>
+<U8332>
+<U8331>
+<U8340>
+<U8339>
+<U8350>
+<U8345>
+<U832F>
+<U832B>
+<U8317>
+<U8318>
+<U8385>
+<U839A>
+<U83AA>
+<U839F>
+<U83A2>
+<U8396>
+<U8323>
+<U838E>
+<U8387>
+<U838A>
+<U837C>
+<U83B5>
+<U8373>
+<U8375>
+<U83A0>
+<U8389>
+<U83A8>
+<U83F4>
+<U8413>
+<U83EB>
+<U83CE>
+<U83FD>
+<U8403>
+<U83D8>
+<U840B>
+<U83C1>
+<U83F7>
+<U8407>
+<U83E0>
+<U83F2>
+<U840D>
+<U8422>
+<U8420>
+<U83BD>
+<U8438>
+<U8506>
+<U83FB>
+<U846D>
+<U842A>
+<U843C>
+<U855A>
+<U8484>
+<U8477>
+<U846B>
+<U84AD>
+<U846E>
+<U8482>
+<U8469>
+<U8446>
+<U842C>
+<U846F>
+<U8479>
+<U8435>
+<U84CA>
+<U8462>
+<U84B9>
+<U84BF>
+<U849F>
+<U84D9>
+<U84CD>
+<U84BB>
+<U84DA>
+<U84D0>
+<U84C1>
+<U84C6>
+<U84D6>
+<U84A1>
+<U8521>
+<U84FF>
+<U84F4>
+<U8517>
+<U8518>
+<U852C>
+<U851F>
+<U8515>
+<U8514>
+<U84FC>
+<U8540>
+<U8563>
+<U8558>
+<U8548>
+<U8541>
+<U8602>
+<U854B>
+<U8555>
+<U8580>
+<U85A4>
+<U8588>
+<U8591>
+<U858A>
+<U85A8>
+<U856D>
+<U8594>
+<U859B>
+<U85EA>
+<U8587>
+<U859C>
+<U8577>
+<U857E>
+<U8590>
+<U85C9>
+<U85BA>
+<U85CF>
+<U85B9>
+<U85D0>
+<U85D5>
+<U85DD>
+<U85E5>
+<U85DC>
+<U85F9>
+<U860A>
+<U8613>
+<U860B>
+<U85FE>
+<U85FA>
+<U8606>
+<U8622>
+<U861A>
+<U8630>
+<U863F>
+<U864D>
+<U4E55>
+<U8654>
+<U865F>
+<U8667>
+<U8671>
+<U8693>
+<U86A3>
+<U86A9>
+<U86AA>
+<U868B>
+<U868C>
+<U86B6>
+<U86AF>
+<U86C4>
+<U86C6>
+<U86B0>
+<U86C9>
+<U8823>
+<U86AB>
+<U86D4>
+<U86DE>
+<U86E9>
+<U86EC>
+<U86DF>
+<U86DB>
+<U86EF>
+<U8712>
+<U8706>
+<U8708>
+<U8700>
+<U8703>
+<U86FB>
+<U8711>
+<U8709>
+<U870D>
+<U86F9>
+<U870A>
+<U8734>
+<U873F>
+<U8737>
+<U873B>
+<U8725>
+<U8729>
+<U871A>
+<U8760>
+<U875F>
+<U8778>
+<U874C>
+<U874E>
+<U8774>
+<U8757>
+<U8768>
+<U876E>
+<U8759>
+<U8753>
+<U8763>
+<U876A>
+<U8805>
+<U87A2>
+<U879F>
+<U8782>
+<U87AF>
+<U87CB>
+<U87BD>
+<U87C0>
+<U87D0>
+<U96D6>
+<U87AB>
+<U87C4>
+<U87B3>
+<U87C7>
+<U87C6>
+<U87BB>
+<U87EF>
+<U87F2>
+<U87E0>
+<U880F>
+<U880D>
+<U87FE>
+<U87F6>
+<U87F7>
+<U880E>
+<U87D2>
+<U8811>
+<U8816>
+<U8815>
+<U8822>
+<U8821>
+<U8831>
+<U8836>
+<U8839>
+<U8827>
+<U883B>
+<U8844>
+<U8842>
+<U8852>
+<U8859>
+<U885E>
+<U8862>
+<U886B>
+<U8881>
+<U887E>
+<U889E>
+<U8875>
+<U887D>
+<U88B5>
+<U8872>
+<U8882>
+<U8897>
+<U8892>
+<U88AE>
+<U8899>
+<U88A2>
+<U888D>
+<U88A4>
+<U88B0>
+<U88BF>
+<U88B1>
+<U88C3>
+<U88C4>
+<U88D4>
+<U88D8>
+<U88D9>
+<U88DD>
+<U88F9>
+<U8902>
+<U88FC>
+<U88F4>
+<U88E8>
+<U88F2>
+<U8904>
+<U890C>
+<U890A>
+<U8913>
+<U8943>
+<U891E>
+<U8925>
+<U892A>
+<U892B>
+<U8941>
+<U8944>
+<U893B>
+<U8936>
+<U8938>
+<U894C>
+<U891D>
+<U8960>
+<U895E>
+<U8966>
+<U8964>
+<U896D>
+<U896A>
+<U896F>
+<U8974>
+<U8977>
+<U897E>
+<U8983>
+<U8988>
+<U898A>
+<U8993>
+<U8998>
+<U89A1>
+<U89A9>
+<U89A6>
+<U89AC>
+<U89AF>
+<U89B2>
+<U89BA>
+<U89BD>
+<U89BF>
+<U89C0>
+<U89DA>
+<U89DC>
+<U89DD>
+<U89E7>
+<U89F4>
+<U89F8>
+<U8A03>
+<U8A16>
+<U8A10>
+<U8A0C>
+<U8A1B>
+<U8A1D>
+<U8A25>
+<U8A36>
+<U8A41>
+<U8A5B>
+<U8A52>
+<U8A46>
+<U8A48>
+<U8A7C>
+<U8A6D>
+<U8A6C>
+<U8A62>
+<U8A85>
+<U8A82>
+<U8A84>
+<U8AA8>
+<U8AA1>
+<U8A91>
+<U8AA5>
+<U8AA6>
+<U8A9A>
+<U8AA3>
+<U8AC4>
+<U8ACD>
+<U8AC2>
+<U8ADA>
+<U8AEB>
+<U8AF3>
+<U8AE7>
+<U8AE4>
+<U8AF1>
+<U8B14>
+<U8AE0>
+<U8AE2>
+<U8AF7>
+<U8ADE>
+<U8ADB>
+<U8B0C>
+<U8B07>
+<U8B1A>
+<U8AE1>
+<U8B16>
+<U8B10>
+<U8B17>
+<U8B20>
+<U8B33>
+<U97AB>
+<U8B26>
+<U8B2B>
+<U8B3E>
+<U8B28>
+<U8B41>
+<U8B4C>
+<U8B4F>
+<U8B4E>
+<U8B49>
+<U8B56>
+<U8B5B>
+<U8B5A>
+<U8B6B>
+<U8B5F>
+<U8B6C>
+<U8B6F>
+<U8B74>
+<U8B7D>
+<U8B80>
+<U8B8C>
+<U8B8E>
+<U8B92>
+<U8B93>
+<U8B96>
+<U8B99>
+<U8B9A>
+<U8C3A>
+<U8C41>
+<U8C3F>
+<U8C48>
+<U8C4C>
+<U8C4E>
+<U8C50>
+<U8C55>
+<U8C62>
+<U8C6C>
+<U8C78>
+<U8C7A>
+<U8C82>
+<U8C89>
+<U8C85>
+<U8C8A>
+<U8C8D>
+<U8C8E>
+<U8C94>
+<U8C7C>
+<U8C98>
+<U621D>
+<U8CAD>
+<U8CAA>
+<U8CBD>
+<U8CB2>
+<U8CB3>
+<U8CAE>
+<U8CB6>
+<U8CC8>
+<U8CC1>
+<U8CE4>
+<U8CE3>
+<U8CDA>
+<U8CFD>
+<U8CFA>
+<U8CFB>
+<U8D04>
+<U8D05>
+<U8D0A>
+<U8D07>
+<U8D0F>
+<U8D0D>
+<U8D10>
+<U9F4E>
+<U8D13>
+<U8CCD>
+<U8D14>
+<U8D16>
+<U8D67>
+<U8D6D>
+<U8D71>
+<U8D73>
+<U8D81>
+<U8D99>
+<U8DC2>
+<U8DBE>
+<U8DBA>
+<U8DCF>
+<U8DDA>
+<U8DD6>
+<U8DCC>
+<U8DDB>
+<U8DCB>
+<U8DEA>
+<U8DEB>
+<U8DDF>
+<U8DE3>
+<U8DFC>
+<U8E08>
+<U8E09>
+<U8DFF>
+<U8E1D>
+<U8E1E>
+<U8E10>
+<U8E1F>
+<U8E42>
+<U8E35>
+<U8E30>
+<U8E34>
+<U8E4A>
+<U8E47>
+<U8E49>
+<U8E4C>
+<U8E50>
+<U8E48>
+<U8E59>
+<U8E64>
+<U8E60>
+<U8E2A>
+<U8E63>
+<U8E55>
+<U8E76>
+<U8E72>
+<U8E7C>
+<U8E81>
+<U8E87>
+<U8E85>
+<U8E84>
+<U8E8B>
+<U8E8A>
+<U8E93>
+<U8E91>
+<U8E94>
+<U8E99>
+<U8EAA>
+<U8EA1>
+<U8EAC>
+<U8EB0>
+<U8EC6>
+<U8EB1>
+<U8EBE>
+<U8EC5>
+<U8EC8>
+<U8ECB>
+<U8EDB>
+<U8EE3>
+<U8EFC>
+<U8EFB>
+<U8EEB>
+<U8EFE>
+<U8F0A>
+<U8F05>
+<U8F15>
+<U8F12>
+<U8F19>
+<U8F13>
+<U8F1C>
+<U8F1F>
+<U8F1B>
+<U8F0C>
+<U8F26>
+<U8F33>
+<U8F3B>
+<U8F39>
+<U8F45>
+<U8F42>
+<U8F3E>
+<U8F4C>
+<U8F49>
+<U8F46>
+<U8F4E>
+<U8F57>
+<U8F5C>
+<U8F62>
+<U8F63>
+<U8F64>
+<U8F9C>
+<U8F9F>
+<U8FA3>
+<U8FAD>
+<U8FAF>
+<U8FB7>
+<U8FDA>
+<U8FE5>
+<U8FE2>
+<U8FEA>
+<U8FEF>
+<U9087>
+<U8FF4>
+<U9005>
+<U8FF9>
+<U8FFA>
+<U9011>
+<U9015>
+<U9021>
+<U900D>
+<U901E>
+<U9016>
+<U900B>
+<U9027>
+<U9036>
+<U9035>
+<U9039>
+<U8FF8>
+<U904F>
+<U9050>
+<U9051>
+<U9052>
+<U900E>
+<U9049>
+<U903E>
+<U9056>
+<U9058>
+<U905E>
+<U9068>
+<U906F>
+<U9076>
+<U96A8>
+<U9072>
+<U9082>
+<U907D>
+<U9081>
+<U9080>
+<U908A>
+<U9089>
+<U908F>
+<U90A8>
+<U90AF>
+<U90B1>
+<U90B5>
+<U90E2>
+<U90E4>
+<U6248>
+<U90DB>
+<U9102>
+<U9112>
+<U9119>
+<U9132>
+<U9130>
+<U914A>
+<U9156>
+<U9158>
+<U9163>
+<U9165>
+<U9169>
+<U9173>
+<U9172>
+<U918B>
+<U9189>
+<U9182>
+<U91A2>
+<U91AB>
+<U91AF>
+<U91AA>
+<U91B5>
+<U91B4>
+<U91BA>
+<U91C0>
+<U91C1>
+<U91C9>
+<U91CB>
+<U91D0>
+<U91D6>
+<U91DF>
+<U91E1>
+<U91DB>
+<U91FC>
+<U91F5>
+<U91F6>
+<U921E>
+<U91FF>
+<U9214>
+<U922C>
+<U9215>
+<U9211>
+<U925E>
+<U9257>
+<U9245>
+<U9249>
+<U9264>
+<U9248>
+<U9295>
+<U923F>
+<U924B>
+<U9250>
+<U929C>
+<U9296>
+<U9293>
+<U929B>
+<U925A>
+<U92CF>
+<U92B9>
+<U92B7>
+<U92E9>
+<U930F>
+<U92FA>
+<U9344>
+<U932E>
+<U9319>
+<U9322>
+<U931A>
+<U9323>
+<U933A>
+<U9335>
+<U933B>
+<U935C>
+<U9360>
+<U937C>
+<U936E>
+<U9356>
+<U93B0>
+<U93AC>
+<U93AD>
+<U9394>
+<U93B9>
+<U93D6>
+<U93D7>
+<U93E8>
+<U93E5>
+<U93D8>
+<U93C3>
+<U93DD>
+<U93D0>
+<U93C8>
+<U93E4>
+<U941A>
+<U9414>
+<U9413>
+<U9403>
+<U9407>
+<U9410>
+<U9436>
+<U942B>
+<U9435>
+<U9421>
+<U943A>
+<U9441>
+<U9452>
+<U9444>
+<U945B>
+<U9460>
+<U9462>
+<U945E>
+<U946A>
+<U9229>
+<U9470>
+<U9475>
+<U9477>
+<U947D>
+<U945A>
+<U947C>
+<U947E>
+<U9481>
+<U947F>
+<U9582>
+<U9587>
+<U958A>
+<U9594>
+<U9596>
+<U9598>
+<U9599>
+<U95A0>
+<U95A8>
+<U95A7>
+<U95AD>
+<U95BC>
+<U95BB>
+<U95B9>
+<U95BE>
+<U95CA>
+<U6FF6>
+<U95C3>
+<U95CD>
+<U95CC>
+<U95D5>
+<U95D4>
+<U95D6>
+<U95DC>
+<U95E1>
+<U95E5>
+<U95E2>
+<U9621>
+<U9628>
+<U962E>
+<U962F>
+<U9642>
+<U964C>
+<U964F>
+<U964B>
+<U9677>
+<U965C>
+<U965E>
+<U965D>
+<U965F>
+<U9666>
+<U9672>
+<U966C>
+<U968D>
+<U9698>
+<U9695>
+<U9697>
+<U96AA>
+<U96A7>
+<U96B1>
+<U96B2>
+<U96B0>
+<U96B4>
+<U96B6>
+<U96B8>
+<U96B9>
+<U96CE>
+<U96CB>
+<U96C9>
+<U96CD>
+<U894D>
+<U96DC>
+<U970D>
+<U96D5>
+<U96F9>
+<U9704>
+<U9706>
+<U9708>
+<U9713>
+<U970E>
+<U9711>
+<U970F>
+<U9716>
+<U9719>
+<U9724>
+<U972A>
+<U9730>
+<U9739>
+<U973D>
+<U973E>
+<U9744>
+<U9746>
+<U9748>
+<U9742>
+<U9749>
+<U975C>
+<U9760>
+<U9764>
+<U9766>
+<U9768>
+<U52D2>
+<U976B>
+<U9771>
+<U9779>
+<U9785>
+<U977C>
+<U9781>
+<U977A>
+<U9786>
+<U978B>
+<U978F>
+<U9790>
+<U979C>
+<U97A8>
+<U97A6>
+<U97A3>
+<U97B3>
+<U97B4>
+<U97C3>
+<U97C6>
+<U97C8>
+<U97CB>
+<U97DC>
+<U97ED>
+<U9F4F>
+<U97F2>
+<U7ADF>
+<U97F6>
+<U97F5>
+<U980F>
+<U980C>
+<U9838>
+<U9824>
+<U9821>
+<U9837>
+<U983D>
+<U9846>
+<U984F>
+<U984B>
+<U986B>
+<U986F>
+<U9870>
+<U9871>
+<U9874>
+<U9873>
+<U98AA>
+<U98AF>
+<U98B1>
+<U98B6>
+<U98C4>
+<U98C3>
+<U98C6>
+<U98E9>
+<U98EB>
+<U9903>
+<U9909>
+<U9912>
+<U9914>
+<U9918>
+<U9921>
+<U991D>
+<U991E>
+<U9924>
+<U9920>
+<U992C>
+<U992E>
+<U993D>
+<U993E>
+<U9942>
+<U9949>
+<U9945>
+<U9950>
+<U994B>
+<U9951>
+<U9952>
+<U994C>
+<U9955>
+<U9997>
+<U9998>
+<U99A5>
+<U99AD>
+<U99AE>
+<U99BC>
+<U99DF>
+<U99DB>
+<U99DD>
+<U99D8>
+<U99D1>
+<U99ED>
+<U99EE>
+<U99F1>
+<U99F2>
+<U99FB>
+<U99F8>
+<U9A01>
+<U9A0F>
+<U9A05>
+<U99E2>
+<U9A19>
+<U9A2B>
+<U9A37>
+<U9A45>
+<U9A42>
+<U9A40>
+<U9A43>
+<U9A3E>
+<U9A55>
+<U9A4D>
+<U9A5B>
+<U9A57>
+<U9A5F>
+<U9A62>
+<U9A65>
+<U9A64>
+<U9A69>
+<U9A6B>
+<U9A6A>
+<U9AAD>
+<U9AB0>
+<U9ABC>
+<U9AC0>
+<U9ACF>
+<U9AD1>
+<U9AD3>
+<U9AD4>
+<U9ADE>
+<U9ADF>
+<U9AE2>
+<U9AE3>
+<U9AE6>
+<U9AEF>
+<U9AEB>
+<U9AEE>
+<U9AF4>
+<U9AF1>
+<U9AF7>
+<U9AFB>
+<U9B06>
+<U9B18>
+<U9B1A>
+<U9B1F>
+<U9B22>
+<U9B23>
+<U9B25>
+<U9B27>
+<U9B28>
+<U9B29>
+<U9B2A>
+<U9B2E>
+<U9B2F>
+<U9B32>
+<U9B44>
+<U9B43>
+<U9B4F>
+<U9B4D>
+<U9B4E>
+<U9B51>
+<U9B58>
+<U9B74>
+<U9B93>
+<U9B83>
+<U9B91>
+<U9B96>
+<U9B97>
+<U9B9F>
+<U9BA0>
+<U9BA8>
+<U9BB4>
+<U9BC0>
+<U9BCA>
+<U9BB9>
+<U9BC6>
+<U9BCF>
+<U9BD1>
+<U9BD2>
+<U9BE3>
+<U9BE2>
+<U9BE4>
+<U9BD4>
+<U9BE1>
+<U9C3A>
+<U9BF2>
+<U9BF1>
+<U9BF0>
+<U9C15>
+<U9C14>
+<U9C09>
+<U9C13>
+<U9C0C>
+<U9C06>
+<U9C08>
+<U9C12>
+<U9C0A>
+<U9C04>
+<U9C2E>
+<U9C1B>
+<U9C25>
+<U9C24>
+<U9C21>
+<U9C30>
+<U9C47>
+<U9C32>
+<U9C46>
+<U9C3E>
+<U9C5A>
+<U9C60>
+<U9C67>
+<U9C76>
+<U9C78>
+<U9CE7>
+<U9CEC>
+<U9CF0>
+<U9D09>
+<U9D08>
+<U9CEB>
+<U9D03>
+<U9D06>
+<U9D2A>
+<U9D26>
+<U9DAF>
+<U9D23>
+<U9D1F>
+<U9D44>
+<U9D15>
+<U9D12>
+<U9D41>
+<U9D3F>
+<U9D3E>
+<U9D46>
+<U9D48>
+<U9D5D>
+<U9D5E>
+<U9D64>
+<U9D51>
+<U9D50>
+<U9D59>
+<U9D72>
+<U9D89>
+<U9D87>
+<U9DAB>
+<U9D6F>
+<U9D7A>
+<U9D9A>
+<U9DA4>
+<U9DA9>
+<U9DB2>
+<U9DC4>
+<U9DC1>
+<U9DBB>
+<U9DB8>
+<U9DBA>
+<U9DC6>
+<U9DCF>
+<U9DC2>
+<U9DD9>
+<U9DD3>
+<U9DF8>
+<U9DE6>
+<U9DED>
+<U9DEF>
+<U9DFD>
+<U9E1A>
+<U9E1B>
+<U9E1E>
+<U9E75>
+<U9E79>
+<U9E7D>
+<U9E81>
+<U9E88>
+<U9E8B>
+<U9E8C>
+<U9E92>
+<U9E95>
+<U9E91>
+<U9E9D>
+<U9EA5>
+<U9EA9>
+<U9EB8>
+<U9EAA>
+<U9EAD>
+<U9761>
+<U9ECC>
+<U9ECE>
+<U9ECF>
+<U9ED0>
+<U9ED4>
+<U9EDC>
+<U9EDE>
+<U9EDD>
+<U9EE0>
+<U9EE5>
+<U9EE8>
+<U9EEF>
+<U9EF4>
+<U9EF6>
+<U9EF7>
+<U9EF9>
+<U9EFB>
+<U9EFC>
+<U9EFD>
+<U9F07>
+<U9F08>
+<U76B7>
+<U9F15>
+<U9F21>
+<U9F2C>
+<U9F3E>
+<U9F4A>
+<U9F52>
+<U9F54>
+<U9F63>
+<U9F5F>
+<U9F60>
+<U9F61>
+<U9F66>
+<U9F67>
+<U9F6C>
+<U9F6A>
+<U9F77>
+<U9F72>
+<U9F76>
+<U9F95>
+<U9F9C>
+<U9FA0>
+<U582F>
+<U69C7>
+<U9059>
+<U7464>
+<U51DC>
+<U7199>
+%
+% JIS X 0212
+%
+<U02D8>
+<U02C7>
+<U00B8>
+<U02D9>
+<U02DD>
+<U00AF>
+<U02DB>
+<U02DA>
+<UFF5E>
+<U0384>
+<U0385>
+<U00A1>
+<U00A6>
+<U00BF>
+<U00BA>
+<U00AA>
+<U00A9>
+<U00AE>
+<U2122>
+<U00A4>
+<U2116>
+<U0386>
+<U0388>
+<U0389>
+<U038A>
+<U03AA>
+<U038C>
+<U038E>
+<U03AB>
+<U038F>
+<U03AC>
+<U03AD>
+<U03AE>
+<U03AF>
+<U03CA>
+<U0390>
+<U03CC>
+<U03C2>
+<U03CD>
+<U03CB>
+<U03B0>
+<U03CE>
+<U0402>
+<U0403>
+<U0404>
+<U0405>
+<U0406>
+<U0407>
+<U0408>
+<U0409>
+<U040A>
+<U040B>
+<U040C>
+<U040E>
+<U040F>
+<U0452>
+<U0453>
+<U0454>
+<U0455>
+<U0456>
+<U0457>
+<U0458>
+<U0459>
+<U045A>
+<U045B>
+<U045C>
+<U045E>
+<U045F>
+<U00C6>
+<U0110>
+<U0126>
+<U0132>
+<U0141>
+<U013F>
+<U014A>
+<U00D8>
+<U0152>
+<U0166>
+<U00DE>
+<U00E6>
+<U0111>
+<U00F0>
+<U0127>
+<U0131>
+<U0133>
+<U0138>
+<U0142>
+<U0140>
+<U0149>
+<U014B>
+<U00F8>
+<U0153>
+<U00DF>
+<U0167>
+<U00FE>
+<U00C1>
+<U00C0>
+<U00C4>
+<U00C2>
+<U0102>
+<U01CD>
+<U0100>
+<U0104>
+<U00C5>
+<U00C3>
+<U0106>
+<U0108>
+<U010C>
+<U00C7>
+<U010A>
+<U010E>
+<U00C9>
+<U00C8>
+<U00CB>
+<U00CA>
+<U011A>
+<U0116>
+<U0112>
+<U0118>
+<U011C>
+<U011E>
+<U0122>
+<U0120>
+<U0124>
+<U00CD>
+<U00CC>
+<U00CF>
+<U00CE>
+<U01CF>
+<U0130>
+<U012A>
+<U012E>
+<U0128>
+<U0134>
+<U0136>
+<U0139>
+<U013D>
+<U013B>
+<U0143>
+<U0147>
+<U0145>
+<U00D1>
+<U00D3>
+<U00D2>
+<U00D6>
+<U00D4>
+<U01D1>
+<U0150>
+<U014C>
+<U00D5>
+<U0154>
+<U0158>
+<U0156>
+<U015A>
+<U015C>
+<U0160>
+<U015E>
+<U0164>
+<U0162>
+<U00DA>
+<U00D9>
+<U00DC>
+<U00DB>
+<U016C>
+<U01D3>
+<U0170>
+<U016A>
+<U0172>
+<U016E>
+<U0168>
+<U01D7>
+<U01DB>
+<U01D9>
+<U01D5>
+<U0174>
+<U00DD>
+<U0178>
+<U0176>
+<U0179>
+<U017D>
+<U017B>
+<U00E1>
+<U00E0>
+<U00E4>
+<U00E2>
+<U0103>
+<U01CE>
+<U0101>
+<U0105>
+<U00E5>
+<U00E3>
+<U0107>
+<U0109>
+<U010D>
+<U00E7>
+<U010B>
+<U010F>
+<U00E9>
+<U00E8>
+<U00EB>
+<U00EA>
+<U011B>
+<U0117>
+<U0113>
+<U0119>
+<U01F5>
+<U011D>
+<U011F>
+<U0121>
+<U0125>
+<U00ED>
+<U00EC>
+<U00EF>
+<U00EE>
+<U01D0>
+<U012B>
+<U012F>
+<U0129>
+<U0135>
+<U0137>
+<U013A>
+<U013E>
+<U013C>
+<U0144>
+<U0148>
+<U0146>
+<U00F1>
+<U00F3>
+<U00F2>
+<U00F6>
+<U00F4>
+<U01D2>
+<U0151>
+<U014D>
+<U00F5>
+<U0155>
+<U0159>
+<U0157>
+<U015B>
+<U015D>
+<U0161>
+<U015F>
+<U0165>
+<U0163>
+<U00FA>
+<U00F9>
+<U00FC>
+<U00FB>
+<U016D>
+<U01D4>
+<U0171>
+<U016B>
+<U0173>
+<U016F>
+<U0169>
+<U01D8>
+<U01DC>
+<U01DA>
+<U01D6>
+<U0175>
+<U00FD>
+<U00FF>
+<U0177>
+<U017A>
+<U017E>
+<U017C>
+<U4E02>
+<U4E04>
+<U4E05>
+<U4E0C>
+<U4E12>
+<U4E1F>
+<U4E23>
+<U4E24>
+<U4E28>
+<U4E2B>
+<U4E2E>
+<U4E2F>
+<U4E30>
+<U4E35>
+<U4E40>
+<U4E41>
+<U4E44>
+<U4E47>
+<U4E51>
+<U4E5A>
+<U4E5C>
+<U4E63>
+<U4E68>
+<U4E69>
+<U4E74>
+<U4E75>
+<U4E79>
+<U4E7F>
+<U4E8D>
+<U4E96>
+<U4E97>
+<U4E9D>
+<U4EAF>
+<U4EB9>
+<U4EC3>
+<U4ED0>
+<U4EDA>
+<U4EDB>
+<U4EE0>
+<U4EE1>
+<U4EE2>
+<U4EE8>
+<U4EEF>
+<U4EF1>
+<U4EF3>
+<U4EF5>
+<U4EFD>
+<U4EFE>
+<U4EFF>
+<U4F00>
+<U4F02>
+<U4F03>
+<U4F08>
+<U4F0B>
+<U4F0C>
+<U4F12>
+<U4F15>
+<U4F16>
+<U4F17>
+<U4F19>
+<U4F2E>
+<U4F31>
+<U4F60>
+<U4F33>
+<U4F35>
+<U4F37>
+<U4F39>
+<U4F3B>
+<U4F3E>
+<U4F40>
+<U4F42>
+<U4F48>
+<U4F49>
+<U4F4B>
+<U4F4C>
+<U4F52>
+<U4F54>
+<U4F56>
+<U4F58>
+<U4F5F>
+<U4F63>
+<U4F6A>
+<U4F6C>
+<U4F6E>
+<U4F71>
+<U4F77>
+<U4F78>
+<U4F79>
+<U4F7A>
+<U4F7D>
+<U4F7E>
+<U4F81>
+<U4F82>
+<U4F84>
+<U4F85>
+<U4F89>
+<U4F8A>
+<U4F8C>
+<U4F8E>
+<U4F90>
+<U4F92>
+<U4F93>
+<U4F94>
+<U4F97>
+<U4F99>
+<U4F9A>
+<U4F9E>
+<U4F9F>
+<U4FB2>
+<U4FB7>
+<U4FB9>
+<U4FBB>
+<U4FBC>
+<U4FBD>
+<U4FBE>
+<U4FC0>
+<U4FC1>
+<U4FC5>
+<U4FC6>
+<U4FC8>
+<U4FC9>
+<U4FCB>
+<U4FCC>
+<U4FCD>
+<U4FCF>
+<U4FD2>
+<U4FDC>
+<U4FE0>
+<U4FE2>
+<U4FF0>
+<U4FF2>
+<U4FFC>
+<U4FFD>
+<U4FFF>
+<U5000>
+<U5001>
+<U5004>
+<U5007>
+<U500A>
+<U500C>
+<U500E>
+<U5010>
+<U5013>
+<U5017>
+<U5018>
+<U501B>
+<U501C>
+<U501D>
+<U501E>
+<U5022>
+<U5027>
+<U502E>
+<U5030>
+<U5032>
+<U5033>
+<U5035>
+<U5040>
+<U5041>
+<U5042>
+<U5045>
+<U5046>
+<U504A>
+<U504C>
+<U504E>
+<U5051>
+<U5052>
+<U5053>
+<U5057>
+<U5059>
+<U505F>
+<U5060>
+<U5062>
+<U5063>
+<U5066>
+<U5067>
+<U506A>
+<U506D>
+<U5070>
+<U5071>
+<U503B>
+<U5081>
+<U5083>
+<U5084>
+<U5086>
+<U508A>
+<U508E>
+<U508F>
+<U5090>
+<U5092>
+<U5093>
+<U5094>
+<U5096>
+<U509B>
+<U509C>
+<U509E>
+<U509F>
+<U50A0>
+<U50A1>
+<U50A2>
+<U50AA>
+<U50AF>
+<U50B0>
+<U50B9>
+<U50BA>
+<U50BD>
+<U50C0>
+<U50C3>
+<U50C4>
+<U50C7>
+<U50CC>
+<U50CE>
+<U50D0>
+<U50D3>
+<U50D4>
+<U50D8>
+<U50DC>
+<U50DD>
+<U50DF>
+<U50E2>
+<U50E4>
+<U50E6>
+<U50E8>
+<U50E9>
+<U50EF>
+<U50F1>
+<U50F6>
+<U50FA>
+<U50FE>
+<U5103>
+<U5106>
+<U5107>
+<U5108>
+<U510B>
+<U510C>
+<U510D>
+<U510E>
+<U50F2>
+<U5110>
+<U5117>
+<U5119>
+<U511B>
+<U511C>
+<U511D>
+<U511E>
+<U5123>
+<U5127>
+<U5128>
+<U512C>
+<U512D>
+<U512F>
+<U5131>
+<U5133>
+<U5134>
+<U5135>
+<U5138>
+<U5139>
+<U5142>
+<U514A>
+<U514F>
+<U5153>
+<U5155>
+<U5157>
+<U5158>
+<U515F>
+<U5164>
+<U5166>
+<U517E>
+<U5183>
+<U5184>
+<U518B>
+<U518E>
+<U5198>
+<U519D>
+<U51A1>
+<U51A3>
+<U51AD>
+<U51B8>
+<U51BA>
+<U51BC>
+<U51BE>
+<U51BF>
+<U51C2>
+<U51C8>
+<U51CF>
+<U51D1>
+<U51D2>
+<U51D3>
+<U51D5>
+<U51D8>
+<U51DE>
+<U51E2>
+<U51E5>
+<U51EE>
+<U51F2>
+<U51F3>
+<U51F4>
+<U51F7>
+<U5201>
+<U5202>
+<U5205>
+<U5212>
+<U5213>
+<U5215>
+<U5216>
+<U5218>
+<U5222>
+<U5228>
+<U5231>
+<U5232>
+<U5235>
+<U523C>
+<U5245>
+<U5249>
+<U5255>
+<U5257>
+<U5258>
+<U525A>
+<U525C>
+<U525F>
+<U5260>
+<U5261>
+<U5266>
+<U526E>
+<U5277>
+<U5278>
+<U5279>
+<U5280>
+<U5282>
+<U5285>
+<U528A>
+<U528C>
+<U5293>
+<U5295>
+<U5296>
+<U5297>
+<U5298>
+<U529A>
+<U529C>
+<U52A4>
+<U52A5>
+<U52A6>
+<U52A7>
+<U52AF>
+<U52B0>
+<U52B6>
+<U52B7>
+<U52B8>
+<U52BA>
+<U52BB>
+<U52BD>
+<U52C0>
+<U52C4>
+<U52C6>
+<U52C8>
+<U52CC>
+<U52CF>
+<U52D1>
+<U52D4>
+<U52D6>
+<U52DB>
+<U52DC>
+<U52E1>
+<U52E5>
+<U52E8>
+<U52E9>
+<U52EA>
+<U52EC>
+<U52F0>
+<U52F1>
+<U52F4>
+<U52F6>
+<U52F7>
+<U5300>
+<U5303>
+<U530A>
+<U530B>
+<U530C>
+<U5311>
+<U5313>
+<U5318>
+<U531B>
+<U531C>
+<U531E>
+<U531F>
+<U5325>
+<U5327>
+<U5328>
+<U5329>
+<U532B>
+<U532C>
+<U532D>
+<U5330>
+<U5332>
+<U5335>
+<U533C>
+<U533D>
+<U533E>
+<U5342>
+<U534C>
+<U534B>
+<U5359>
+<U535B>
+<U5361>
+<U5363>
+<U5365>
+<U536C>
+<U536D>
+<U5372>
+<U5379>
+<U537E>
+<U5383>
+<U5387>
+<U5388>
+<U538E>
+<U5393>
+<U5394>
+<U5399>
+<U539D>
+<U53A1>
+<U53A4>
+<U53AA>
+<U53AB>
+<U53AF>
+<U53B2>
+<U53B4>
+<U53B5>
+<U53B7>
+<U53B8>
+<U53BA>
+<U53BD>
+<U53C0>
+<U53C5>
+<U53CF>
+<U53D2>
+<U53D3>
+<U53D5>
+<U53DA>
+<U53DD>
+<U53DE>
+<U53E0>
+<U53E6>
+<U53E7>
+<U53F5>
+<U5402>
+<U5413>
+<U541A>
+<U5421>
+<U5427>
+<U5428>
+<U542A>
+<U542F>
+<U5431>
+<U5434>
+<U5435>
+<U5443>
+<U5444>
+<U5447>
+<U544D>
+<U544F>
+<U545E>
+<U5462>
+<U5464>
+<U5466>
+<U5467>
+<U5469>
+<U546B>
+<U546D>
+<U546E>
+<U5474>
+<U547F>
+<U5481>
+<U5483>
+<U5485>
+<U5488>
+<U5489>
+<U548D>
+<U5491>
+<U5495>
+<U5496>
+<U549C>
+<U549F>
+<U54A1>
+<U54A6>
+<U54A7>
+<U54A9>
+<U54AA>
+<U54AD>
+<U54AE>
+<U54B1>
+<U54B7>
+<U54B9>
+<U54BA>
+<U54BB>
+<U54BF>
+<U54C6>
+<U54CA>
+<U54CD>
+<U54CE>
+<U54E0>
+<U54EA>
+<U54EC>
+<U54EF>
+<U54F6>
+<U54FC>
+<U54FE>
+<U54FF>
+<U5500>
+<U5501>
+<U5505>
+<U5508>
+<U5509>
+<U550C>
+<U550D>
+<U550E>
+<U5515>
+<U552A>
+<U552B>
+<U5532>
+<U5535>
+<U5536>
+<U553B>
+<U553C>
+<U553D>
+<U5541>
+<U5547>
+<U5549>
+<U554A>
+<U554D>
+<U5550>
+<U5551>
+<U5558>
+<U555A>
+<U555B>
+<U555E>
+<U5560>
+<U5561>
+<U5564>
+<U5566>
+<U557F>
+<U5581>
+<U5582>
+<U5586>
+<U5588>
+<U558E>
+<U558F>
+<U5591>
+<U5592>
+<U5593>
+<U5594>
+<U5597>
+<U55A3>
+<U55A4>
+<U55AD>
+<U55B2>
+<U55BF>
+<U55C1>
+<U55C3>
+<U55C6>
+<U55C9>
+<U55CB>
+<U55CC>
+<U55CE>
+<U55D1>
+<U55D2>
+<U55D3>
+<U55D7>
+<U55D8>
+<U55DB>
+<U55DE>
+<U55E2>
+<U55E9>
+<U55F6>
+<U55FF>
+<U5605>
+<U5608>
+<U560A>
+<U560D>
+<U560E>
+<U560F>
+<U5610>
+<U5611>
+<U5612>
+<U5619>
+<U562C>
+<U5630>
+<U5633>
+<U5635>
+<U5637>
+<U5639>
+<U563B>
+<U563C>
+<U563D>
+<U563F>
+<U5640>
+<U5641>
+<U5643>
+<U5644>
+<U5646>
+<U5649>
+<U564B>
+<U564D>
+<U564F>
+<U5654>
+<U565E>
+<U5660>
+<U5661>
+<U5662>
+<U5663>
+<U5666>
+<U5669>
+<U566D>
+<U566F>
+<U5671>
+<U5672>
+<U5675>
+<U5684>
+<U5685>
+<U5688>
+<U568B>
+<U568C>
+<U5695>
+<U5699>
+<U569A>
+<U569D>
+<U569E>
+<U569F>
+<U56A6>
+<U56A7>
+<U56A8>
+<U56A9>
+<U56AB>
+<U56AC>
+<U56AD>
+<U56B1>
+<U56B3>
+<U56B7>
+<U56BE>
+<U56C5>
+<U56C9>
+<U56CA>
+<U56CB>
+<U56CF>
+<U56D0>
+<U56CC>
+<U56CD>
+<U56D9>
+<U56DC>
+<U56DD>
+<U56DF>
+<U56E1>
+<U56E4>
+<U56E5>
+<U56E6>
+<U56E7>
+<U56E8>
+<U56F1>
+<U56EB>
+<U56ED>
+<U56F6>
+<U56F7>
+<U5701>
+<U5702>
+<U5707>
+<U570A>
+<U570C>
+<U5711>
+<U5715>
+<U571A>
+<U571B>
+<U571D>
+<U5720>
+<U5722>
+<U5723>
+<U5724>
+<U5725>
+<U5729>
+<U572A>
+<U572C>
+<U572E>
+<U572F>
+<U5733>
+<U5734>
+<U573D>
+<U573E>
+<U573F>
+<U5745>
+<U5746>
+<U574C>
+<U574D>
+<U5752>
+<U5762>
+<U5765>
+<U5767>
+<U5768>
+<U576B>
+<U576D>
+<U576E>
+<U576F>
+<U5770>
+<U5771>
+<U5773>
+<U5774>
+<U5775>
+<U5777>
+<U5779>
+<U577A>
+<U577B>
+<U577C>
+<U577E>
+<U5781>
+<U5783>
+<U578C>
+<U5794>
+<U5797>
+<U5799>
+<U579A>
+<U579C>
+<U579D>
+<U579E>
+<U579F>
+<U57A1>
+<U5795>
+<U57A7>
+<U57A8>
+<U57A9>
+<U57AC>
+<U57B8>
+<U57BD>
+<U57C7>
+<U57C8>
+<U57CC>
+<U57CF>
+<U57D5>
+<U57DD>
+<U57DE>
+<U57E4>
+<U57E6>
+<U57E7>
+<U57E9>
+<U57ED>
+<U57F0>
+<U57F5>
+<U57F6>
+<U57F8>
+<U57FD>
+<U57FE>
+<U57FF>
+<U5803>
+<U5804>
+<U5808>
+<U5809>
+<U57E1>
+<U580C>
+<U580D>
+<U581B>
+<U581E>
+<U581F>
+<U5820>
+<U5826>
+<U5827>
+<U582D>
+<U5832>
+<U5839>
+<U583F>
+<U5849>
+<U584C>
+<U584D>
+<U584F>
+<U5850>
+<U5855>
+<U585F>
+<U5861>
+<U5864>
+<U5867>
+<U5868>
+<U5878>
+<U587C>
+<U587F>
+<U5880>
+<U5881>
+<U5887>
+<U5888>
+<U5889>
+<U588A>
+<U588C>
+<U588D>
+<U588F>
+<U5890>
+<U5894>
+<U5896>
+<U589D>
+<U58A0>
+<U58A1>
+<U58A2>
+<U58A6>
+<U58A9>
+<U58B1>
+<U58B2>
+<U58C4>
+<U58BC>
+<U58C2>
+<U58C8>
+<U58CD>
+<U58CE>
+<U58D0>
+<U58D2>
+<U58D4>
+<U58D6>
+<U58DA>
+<U58DD>
+<U58E1>
+<U58E2>
+<U58E9>
+<U58F3>
+<U5905>
+<U5906>
+<U590B>
+<U590C>
+<U5912>
+<U5913>
+<U5914>
+<U8641>
+<U591D>
+<U5921>
+<U5923>
+<U5924>
+<U5928>
+<U592F>
+<U5930>
+<U5933>
+<U5935>
+<U5936>
+<U593F>
+<U5943>
+<U5946>
+<U5952>
+<U5953>
+<U5959>
+<U595B>
+<U595D>
+<U595E>
+<U595F>
+<U5961>
+<U5963>
+<U596B>
+<U596D>
+<U596F>
+<U5972>
+<U5975>
+<U5976>
+<U5979>
+<U597B>
+<U597C>
+<U598B>
+<U598C>
+<U598E>
+<U5992>
+<U5995>
+<U5997>
+<U599F>
+<U59A4>
+<U59A7>
+<U59AD>
+<U59AE>
+<U59AF>
+<U59B0>
+<U59B3>
+<U59B7>
+<U59BA>
+<U59BC>
+<U59C1>
+<U59C3>
+<U59C4>
+<U59C8>
+<U59CA>
+<U59CD>
+<U59D2>
+<U59DD>
+<U59DE>
+<U59DF>
+<U59E3>
+<U59E4>
+<U59E7>
+<U59EE>
+<U59EF>
+<U59F1>
+<U59F2>
+<U59F4>
+<U59F7>
+<U5A00>
+<U5A04>
+<U5A0C>
+<U5A0D>
+<U5A0E>
+<U5A12>
+<U5A13>
+<U5A1E>
+<U5A23>
+<U5A24>
+<U5A27>
+<U5A28>
+<U5A2A>
+<U5A2D>
+<U5A30>
+<U5A44>
+<U5A45>
+<U5A47>
+<U5A48>
+<U5A4C>
+<U5A50>
+<U5A55>
+<U5A5E>
+<U5A63>
+<U5A65>
+<U5A67>
+<U5A6D>
+<U5A77>
+<U5A7A>
+<U5A7B>
+<U5A7E>
+<U5A8B>
+<U5A90>
+<U5A93>
+<U5A96>
+<U5A99>
+<U5A9C>
+<U5A9E>
+<U5A9F>
+<U5AA0>
+<U5AA2>
+<U5AA7>
+<U5AAC>
+<U5AB1>
+<U5AB2>
+<U5AB3>
+<U5AB5>
+<U5AB8>
+<U5ABA>
+<U5ABB>
+<U5ABF>
+<U5AC4>
+<U5AC6>
+<U5AC8>
+<U5ACF>
+<U5ADA>
+<U5ADC>
+<U5AE0>
+<U5AE5>
+<U5AEA>
+<U5AEE>
+<U5AF5>
+<U5AF6>
+<U5AFD>
+<U5B00>
+<U5B01>
+<U5B08>
+<U5B17>
+<U5B34>
+<U5B19>
+<U5B1B>
+<U5B1D>
+<U5B21>
+<U5B25>
+<U5B2D>
+<U5B38>
+<U5B41>
+<U5B4B>
+<U5B4C>
+<U5B52>
+<U5B56>
+<U5B5E>
+<U5B68>
+<U5B6E>
+<U5B6F>
+<U5B7C>
+<U5B7D>
+<U5B7E>
+<U5B7F>
+<U5B81>
+<U5B84>
+<U5B86>
+<U5B8A>
+<U5B8E>
+<U5B90>
+<U5B91>
+<U5B93>
+<U5B94>
+<U5B96>
+<U5BA8>
+<U5BA9>
+<U5BAC>
+<U5BAD>
+<U5BAF>
+<U5BB1>
+<U5BB2>
+<U5BB7>
+<U5BBA>
+<U5BBC>
+<U5BC0>
+<U5BC1>
+<U5BCD>
+<U5BCF>
+<U5BD6>
+<U5BD7>
+<U5BD8>
+<U5BD9>
+<U5BDA>
+<U5BE0>
+<U5BEF>
+<U5BF1>
+<U5BF4>
+<U5BFD>
+<U5C0C>
+<U5C17>
+<U5C1E>
+<U5C1F>
+<U5C23>
+<U5C26>
+<U5C29>
+<U5C2B>
+<U5C2C>
+<U5C2E>
+<U5C30>
+<U5C32>
+<U5C35>
+<U5C36>
+<U5C59>
+<U5C5A>
+<U5C5C>
+<U5C62>
+<U5C63>
+<U5C67>
+<U5C68>
+<U5C69>
+<U5C6D>
+<U5C70>
+<U5C74>
+<U5C75>
+<U5C7A>
+<U5C7B>
+<U5C7C>
+<U5C7D>
+<U5C87>
+<U5C88>
+<U5C8A>
+<U5C8F>
+<U5C92>
+<U5C9D>
+<U5C9F>
+<U5CA0>
+<U5CA2>
+<U5CA3>
+<U5CA6>
+<U5CAA>
+<U5CB2>
+<U5CB4>
+<U5CB5>
+<U5CBA>
+<U5CC9>
+<U5CCB>
+<U5CD2>
+<U5CDD>
+<U5CD7>
+<U5CEE>
+<U5CF1>
+<U5CF2>
+<U5CF4>
+<U5D01>
+<U5D06>
+<U5D0D>
+<U5D12>
+<U5D2B>
+<U5D23>
+<U5D24>
+<U5D26>
+<U5D27>
+<U5D31>
+<U5D34>
+<U5D39>
+<U5D3D>
+<U5D3F>
+<U5D42>
+<U5D43>
+<U5D46>
+<U5D48>
+<U5D55>
+<U5D51>
+<U5D59>
+<U5D4A>
+<U5D5F>
+<U5D60>
+<U5D61>
+<U5D62>
+<U5D64>
+<U5D6A>
+<U5D6D>
+<U5D70>
+<U5D79>
+<U5D7A>
+<U5D7E>
+<U5D7F>
+<U5D81>
+<U5D83>
+<U5D88>
+<U5D8A>
+<U5D92>
+<U5D93>
+<U5D94>
+<U5D95>
+<U5D99>
+<U5D9B>
+<U5D9F>
+<U5DA0>
+<U5DA7>
+<U5DAB>
+<U5DB0>
+<U5DB4>
+<U5DB8>
+<U5DB9>
+<U5DC3>
+<U5DC7>
+<U5DCB>
+<U5DD0>
+<U5DCE>
+<U5DD8>
+<U5DD9>
+<U5DE0>
+<U5DE4>
+<U5DE9>
+<U5DF8>
+<U5DF9>
+<U5E00>
+<U5E07>
+<U5E0D>
+<U5E12>
+<U5E14>
+<U5E15>
+<U5E18>
+<U5E1F>
+<U5E20>
+<U5E2E>
+<U5E28>
+<U5E32>
+<U5E35>
+<U5E3E>
+<U5E4B>
+<U5E50>
+<U5E49>
+<U5E51>
+<U5E56>
+<U5E58>
+<U5E5B>
+<U5E5C>
+<U5E5E>
+<U5E68>
+<U5E6A>
+<U5E6B>
+<U5E6C>
+<U5E6D>
+<U5E6E>
+<U5E70>
+<U5E80>
+<U5E8B>
+<U5E8E>
+<U5EA2>
+<U5EA4>
+<U5EA5>
+<U5EA8>
+<U5EAA>
+<U5EAC>
+<U5EB1>
+<U5EB3>
+<U5EBD>
+<U5EBE>
+<U5EBF>
+<U5EC6>
+<U5ECC>
+<U5ECB>
+<U5ECE>
+<U5ED1>
+<U5ED2>
+<U5ED4>
+<U5ED5>
+<U5EDC>
+<U5EDE>
+<U5EE5>
+<U5EEB>
+<U5F02>
+<U5F06>
+<U5F07>
+<U5F08>
+<U5F0E>
+<U5F19>
+<U5F1C>
+<U5F1D>
+<U5F21>
+<U5F22>
+<U5F23>
+<U5F24>
+<U5F28>
+<U5F2B>
+<U5F2C>
+<U5F2E>
+<U5F30>
+<U5F34>
+<U5F36>
+<U5F3B>
+<U5F3D>
+<U5F3F>
+<U5F40>
+<U5F44>
+<U5F45>
+<U5F47>
+<U5F4D>
+<U5F50>
+<U5F54>
+<U5F58>
+<U5F5B>
+<U5F60>
+<U5F63>
+<U5F64>
+<U5F67>
+<U5F6F>
+<U5F72>
+<U5F74>
+<U5F75>
+<U5F78>
+<U5F7A>
+<U5F7D>
+<U5F7E>
+<U5F89>
+<U5F8D>
+<U5F8F>
+<U5F96>
+<U5F9C>
+<U5F9D>
+<U5FA2>
+<U5FA7>
+<U5FAB>
+<U5FA4>
+<U5FAC>
+<U5FAF>
+<U5FB0>
+<U5FB1>
+<U5FB8>
+<U5FC4>
+<U5FC7>
+<U5FC8>
+<U5FC9>
+<U5FCB>
+<U5FD0>
+<U5FD1>
+<U5FD2>
+<U5FD3>
+<U5FD4>
+<U5FDE>
+<U5FE1>
+<U5FE2>
+<U5FE8>
+<U5FE9>
+<U5FEA>
+<U5FEC>
+<U5FED>
+<U5FEE>
+<U5FEF>
+<U5FF2>
+<U5FF3>
+<U5FF6>
+<U5FFA>
+<U5FFC>
+<U6007>
+<U600A>
+<U600D>
+<U6013>
+<U6014>
+<U6017>
+<U6018>
+<U601A>
+<U601F>
+<U6024>
+<U602D>
+<U6033>
+<U6035>
+<U6040>
+<U6047>
+<U6048>
+<U6049>
+<U604C>
+<U6051>
+<U6054>
+<U6056>
+<U6057>
+<U605D>
+<U6061>
+<U6067>
+<U6071>
+<U607E>
+<U607F>
+<U6082>
+<U6086>
+<U6088>
+<U608A>
+<U608E>
+<U6091>
+<U6093>
+<U6095>
+<U6098>
+<U609D>
+<U609E>
+<U60A2>
+<U60A4>
+<U60A5>
+<U60A8>
+<U60B0>
+<U60B1>
+<U60B7>
+<U60BB>
+<U60BE>
+<U60C2>
+<U60C4>
+<U60C8>
+<U60C9>
+<U60CA>
+<U60CB>
+<U60CE>
+<U60CF>
+<U60D4>
+<U60D5>
+<U60D9>
+<U60DB>
+<U60DD>
+<U60DE>
+<U60E2>
+<U60E5>
+<U60F2>
+<U60F5>
+<U60F8>
+<U60FC>
+<U60FD>
+<U6102>
+<U6107>
+<U610A>
+<U610C>
+<U6110>
+<U6111>
+<U6112>
+<U6113>
+<U6114>
+<U6116>
+<U6117>
+<U6119>
+<U611C>
+<U611E>
+<U6122>
+<U612A>
+<U612B>
+<U6130>
+<U6131>
+<U6135>
+<U6136>
+<U6137>
+<U6139>
+<U6141>
+<U6145>
+<U6146>
+<U6149>
+<U615E>
+<U6160>
+<U616C>
+<U6172>
+<U6178>
+<U617B>
+<U617C>
+<U617F>
+<U6180>
+<U6181>
+<U6183>
+<U6184>
+<U618B>
+<U618D>
+<U6192>
+<U6193>
+<U6197>
+<U6198>
+<U619C>
+<U619D>
+<U619F>
+<U61A0>
+<U61A5>
+<U61A8>
+<U61AA>
+<U61AD>
+<U61B8>
+<U61B9>
+<U61BC>
+<U61C0>
+<U61C1>
+<U61C2>
+<U61CE>
+<U61CF>
+<U61D5>
+<U61DC>
+<U61DD>
+<U61DE>
+<U61DF>
+<U61E1>
+<U61E2>
+<U61E7>
+<U61E9>
+<U61E5>
+<U61EC>
+<U61ED>
+<U61EF>
+<U6201>
+<U6203>
+<U6204>
+<U6207>
+<U6213>
+<U6215>
+<U621C>
+<U6220>
+<U6222>
+<U6223>
+<U6227>
+<U6229>
+<U622B>
+<U6239>
+<U623D>
+<U6242>
+<U6243>
+<U6244>
+<U6246>
+<U624C>
+<U6250>
+<U6251>
+<U6252>
+<U6254>
+<U6256>
+<U625A>
+<U625C>
+<U6264>
+<U626D>
+<U626F>
+<U6273>
+<U627A>
+<U627D>
+<U628D>
+<U628E>
+<U628F>
+<U6290>
+<U62A6>
+<U62A8>
+<U62B3>
+<U62B6>
+<U62B7>
+<U62BA>
+<U62BE>
+<U62BF>
+<U62C4>
+<U62CE>
+<U62D5>
+<U62D6>
+<U62DA>
+<U62EA>
+<U62F2>
+<U62F4>
+<U62FC>
+<U62FD>
+<U6303>
+<U6304>
+<U630A>
+<U630B>
+<U630D>
+<U6310>
+<U6313>
+<U6316>
+<U6318>
+<U6329>
+<U632A>
+<U632D>
+<U6335>
+<U6336>
+<U6339>
+<U633C>
+<U6341>
+<U6342>
+<U6343>
+<U6344>
+<U6346>
+<U634A>
+<U634B>
+<U634E>
+<U6352>
+<U6353>
+<U6354>
+<U6358>
+<U635B>
+<U6365>
+<U6366>
+<U636C>
+<U636D>
+<U6371>
+<U6374>
+<U6375>
+<U6378>
+<U637C>
+<U637D>
+<U637F>
+<U6382>
+<U6384>
+<U6387>
+<U638A>
+<U6390>
+<U6394>
+<U6395>
+<U6399>
+<U639A>
+<U639E>
+<U63A4>
+<U63A6>
+<U63AD>
+<U63AE>
+<U63AF>
+<U63BD>
+<U63C1>
+<U63C5>
+<U63C8>
+<U63CE>
+<U63D1>
+<U63D3>
+<U63D4>
+<U63D5>
+<U63DC>
+<U63E0>
+<U63E5>
+<U63EA>
+<U63EC>
+<U63F2>
+<U63F3>
+<U63F5>
+<U63F8>
+<U63F9>
+<U6409>
+<U640A>
+<U6410>
+<U6412>
+<U6414>
+<U6418>
+<U641E>
+<U6420>
+<U6422>
+<U6424>
+<U6425>
+<U6429>
+<U642A>
+<U642F>
+<U6430>
+<U6435>
+<U643D>
+<U643F>
+<U644B>
+<U644F>
+<U6451>
+<U6452>
+<U6453>
+<U6454>
+<U645A>
+<U645B>
+<U645C>
+<U645D>
+<U645F>
+<U6460>
+<U6461>
+<U6463>
+<U646D>
+<U6473>
+<U6474>
+<U647B>
+<U647D>
+<U6485>
+<U6487>
+<U648F>
+<U6490>
+<U6491>
+<U6498>
+<U6499>
+<U649B>
+<U649D>
+<U649F>
+<U64A1>
+<U64A3>
+<U64A6>
+<U64A8>
+<U64AC>
+<U64B3>
+<U64BD>
+<U64BE>
+<U64BF>
+<U64C4>
+<U64C9>
+<U64CA>
+<U64CB>
+<U64CC>
+<U64CE>
+<U64D0>
+<U64D1>
+<U64D5>
+<U64D7>
+<U64E4>
+<U64E5>
+<U64E9>
+<U64EA>
+<U64ED>
+<U64F0>
+<U64F5>
+<U64F7>
+<U64FB>
+<U64FF>
+<U6501>
+<U6504>
+<U6508>
+<U6509>
+<U650A>
+<U650F>
+<U6513>
+<U6514>
+<U6516>
+<U6519>
+<U651B>
+<U651E>
+<U651F>
+<U6522>
+<U6526>
+<U6529>
+<U652E>
+<U6531>
+<U653A>
+<U653C>
+<U653D>
+<U6543>
+<U6547>
+<U6549>
+<U6550>
+<U6552>
+<U6554>
+<U655F>
+<U6560>
+<U6567>
+<U656B>
+<U657A>
+<U657D>
+<U6581>
+<U6585>
+<U658A>
+<U6592>
+<U6595>
+<U6598>
+<U659D>
+<U65A0>
+<U65A3>
+<U65A6>
+<U65AE>
+<U65B2>
+<U65B3>
+<U65B4>
+<U65BF>
+<U65C2>
+<U65C8>
+<U65C9>
+<U65CE>
+<U65D0>
+<U65D4>
+<U65D6>
+<U65D8>
+<U65DF>
+<U65F0>
+<U65F2>
+<U65F4>
+<U65F5>
+<U65F9>
+<U65FE>
+<U65FF>
+<U6600>
+<U6604>
+<U6608>
+<U6609>
+<U660D>
+<U6611>
+<U6612>
+<U6615>
+<U6616>
+<U661D>
+<U661E>
+<U6621>
+<U6622>
+<U6623>
+<U6624>
+<U6626>
+<U6629>
+<U662A>
+<U662B>
+<U662C>
+<U662E>
+<U6630>
+<U6631>
+<U6633>
+<U6639>
+<U6637>
+<U6640>
+<U6645>
+<U6646>
+<U664A>
+<U664C>
+<U6651>
+<U664E>
+<U6657>
+<U6658>
+<U6659>
+<U665B>
+<U665C>
+<U6660>
+<U6661>
+<U66FB>
+<U666A>
+<U666B>
+<U666C>
+<U667E>
+<U6673>
+<U6675>
+<U667F>
+<U6677>
+<U6678>
+<U6679>
+<U667B>
+<U6680>
+<U667C>
+<U668B>
+<U668C>
+<U668D>
+<U6690>
+<U6692>
+<U6699>
+<U669A>
+<U669B>
+<U669C>
+<U669F>
+<U66A0>
+<U66A4>
+<U66AD>
+<U66B1>
+<U66B2>
+<U66B5>
+<U66BB>
+<U66BF>
+<U66C0>
+<U66C2>
+<U66C3>
+<U66C8>
+<U66CC>
+<U66CE>
+<U66CF>
+<U66D4>
+<U66DB>
+<U66DF>
+<U66E8>
+<U66EB>
+<U66EC>
+<U66EE>
+<U66FA>
+<U6705>
+<U6707>
+<U670E>
+<U6713>
+<U6719>
+<U671C>
+<U6720>
+<U6722>
+<U6733>
+<U673E>
+<U6745>
+<U6747>
+<U6748>
+<U674C>
+<U6754>
+<U6755>
+<U675D>
+<U6766>
+<U676C>
+<U676E>
+<U6774>
+<U6776>
+<U677B>
+<U6781>
+<U6784>
+<U678E>
+<U678F>
+<U6791>
+<U6793>
+<U6796>
+<U6798>
+<U6799>
+<U679B>
+<U67B0>
+<U67B1>
+<U67B2>
+<U67B5>
+<U67BB>
+<U67BC>
+<U67BD>
+<U67F9>
+<U67C0>
+<U67C2>
+<U67C3>
+<U67C5>
+<U67C8>
+<U67C9>
+<U67D2>
+<U67D7>
+<U67D9>
+<U67DC>
+<U67E1>
+<U67E6>
+<U67F0>
+<U67F2>
+<U67F6>
+<U67F7>
+<U6852>
+<U6814>
+<U6819>
+<U681D>
+<U681F>
+<U6828>
+<U6827>
+<U682C>
+<U682D>
+<U682F>
+<U6830>
+<U6831>
+<U6833>
+<U683B>
+<U683F>
+<U6844>
+<U6845>
+<U684A>
+<U684C>
+<U6855>
+<U6857>
+<U6858>
+<U685B>
+<U686B>
+<U686E>
+<U686F>
+<U6870>
+<U6871>
+<U6872>
+<U6875>
+<U6879>
+<U687A>
+<U687B>
+<U687C>
+<U6882>
+<U6884>
+<U6886>
+<U6888>
+<U6896>
+<U6898>
+<U689A>
+<U689C>
+<U68A1>
+<U68A3>
+<U68A5>
+<U68A9>
+<U68AA>
+<U68AE>
+<U68B2>
+<U68BB>
+<U68C5>
+<U68C8>
+<U68CC>
+<U68CF>
+<U68D0>
+<U68D1>
+<U68D3>
+<U68D6>
+<U68D9>
+<U68DC>
+<U68DD>
+<U68E5>
+<U68E8>
+<U68EA>
+<U68EB>
+<U68EC>
+<U68ED>
+<U68F0>
+<U68F1>
+<U68F5>
+<U68F6>
+<U68FB>
+<U68FC>
+<U68FD>
+<U6906>
+<U6909>
+<U690A>
+<U6910>
+<U6911>
+<U6913>
+<U6916>
+<U6917>
+<U6931>
+<U6933>
+<U6935>
+<U6938>
+<U693B>
+<U6942>
+<U6945>
+<U6949>
+<U694E>
+<U6957>
+<U695B>
+<U6963>
+<U6964>
+<U6965>
+<U6966>
+<U6968>
+<U6969>
+<U696C>
+<U6970>
+<U6971>
+<U6972>
+<U697A>
+<U697B>
+<U697F>
+<U6980>
+<U698D>
+<U6992>
+<U6996>
+<U6998>
+<U69A1>
+<U69A5>
+<U69A6>
+<U69A8>
+<U69AB>
+<U69AD>
+<U69AF>
+<U69B7>
+<U69B8>
+<U69BA>
+<U69BC>
+<U69C5>
+<U69C8>
+<U69D1>
+<U69D6>
+<U69D7>
+<U69E2>
+<U69E5>
+<U69EE>
+<U69EF>
+<U69F1>
+<U69F3>
+<U69F5>
+<U69FE>
+<U6A00>
+<U6A01>
+<U6A03>
+<U6A0F>
+<U6A11>
+<U6A15>
+<U6A1A>
+<U6A1D>
+<U6A20>
+<U6A24>
+<U6A28>
+<U6A30>
+<U6A32>
+<U6A34>
+<U6A37>
+<U6A3B>
+<U6A3E>
+<U6A3F>
+<U6A45>
+<U6A46>
+<U6A49>
+<U6A4A>
+<U6A4E>
+<U6A50>
+<U6A51>
+<U6A52>
+<U6A55>
+<U6A56>
+<U6A5B>
+<U6A64>
+<U6A67>
+<U6A6A>
+<U6A71>
+<U6A73>
+<U6A7E>
+<U6A81>
+<U6A83>
+<U6A86>
+<U6A87>
+<U6A89>
+<U6A8B>
+<U6A91>
+<U6A9B>
+<U6A9D>
+<U6A9E>
+<U6A9F>
+<U6AA5>
+<U6AAB>
+<U6AAF>
+<U6AB0>
+<U6AB1>
+<U6AB4>
+<U6ABD>
+<U6ABE>
+<U6ABF>
+<U6AC6>
+<U6AC9>
+<U6AC8>
+<U6ACC>
+<U6AD0>
+<U6AD4>
+<U6AD5>
+<U6AD6>
+<U6ADC>
+<U6ADD>
+<U6AE4>
+<U6AE7>
+<U6AEC>
+<U6AF0>
+<U6AF1>
+<U6AF2>
+<U6AFC>
+<U6AFD>
+<U6B02>
+<U6B03>
+<U6B06>
+<U6B07>
+<U6B09>
+<U6B0F>
+<U6B10>
+<U6B11>
+<U6B17>
+<U6B1B>
+<U6B1E>
+<U6B24>
+<U6B28>
+<U6B2B>
+<U6B2C>
+<U6B2F>
+<U6B35>
+<U6B36>
+<U6B3B>
+<U6B3F>
+<U6B46>
+<U6B4A>
+<U6B4D>
+<U6B52>
+<U6B56>
+<U6B58>
+<U6B5D>
+<U6B60>
+<U6B67>
+<U6B6B>
+<U6B6E>
+<U6B70>
+<U6B75>
+<U6B7D>
+<U6B7E>
+<U6B82>
+<U6B85>
+<U6B97>
+<U6B9B>
+<U6B9F>
+<U6BA0>
+<U6BA2>
+<U6BA3>
+<U6BA8>
+<U6BA9>
+<U6BAC>
+<U6BAD>
+<U6BAE>
+<U6BB0>
+<U6BB8>
+<U6BB9>
+<U6BBD>
+<U6BBE>
+<U6BC3>
+<U6BC4>
+<U6BC9>
+<U6BCC>
+<U6BD6>
+<U6BDA>
+<U6BE1>
+<U6BE3>
+<U6BE6>
+<U6BE7>
+<U6BEE>
+<U6BF1>
+<U6BF7>
+<U6BF9>
+<U6BFF>
+<U6C02>
+<U6C04>
+<U6C05>
+<U6C09>
+<U6C0D>
+<U6C0E>
+<U6C10>
+<U6C12>
+<U6C19>
+<U6C1F>
+<U6C26>
+<U6C27>
+<U6C28>
+<U6C2C>
+<U6C2E>
+<U6C33>
+<U6C35>
+<U6C36>
+<U6C3A>
+<U6C3B>
+<U6C3F>
+<U6C4A>
+<U6C4B>
+<U6C4D>
+<U6C4F>
+<U6C52>
+<U6C54>
+<U6C59>
+<U6C5B>
+<U6C5C>
+<U6C6B>
+<U6C6D>
+<U6C6F>
+<U6C74>
+<U6C76>
+<U6C78>
+<U6C79>
+<U6C7B>
+<U6C85>
+<U6C86>
+<U6C87>
+<U6C89>
+<U6C94>
+<U6C95>
+<U6C97>
+<U6C98>
+<U6C9C>
+<U6C9F>
+<U6CB0>
+<U6CB2>
+<U6CB4>
+<U6CC2>
+<U6CC6>
+<U6CCD>
+<U6CCF>
+<U6CD0>
+<U6CD1>
+<U6CD2>
+<U6CD4>
+<U6CD6>
+<U6CDA>
+<U6CDC>
+<U6CE0>
+<U6CE7>
+<U6CE9>
+<U6CEB>
+<U6CEC>
+<U6CEE>
+<U6CF2>
+<U6CF4>
+<U6D04>
+<U6D07>
+<U6D0A>
+<U6D0E>
+<U6D0F>
+<U6D11>
+<U6D13>
+<U6D1A>
+<U6D26>
+<U6D27>
+<U6D28>
+<U6C67>
+<U6D2E>
+<U6D2F>
+<U6D31>
+<U6D39>
+<U6D3C>
+<U6D3F>
+<U6D57>
+<U6D5E>
+<U6D5F>
+<U6D61>
+<U6D65>
+<U6D67>
+<U6D6F>
+<U6D70>
+<U6D7C>
+<U6D82>
+<U6D87>
+<U6D91>
+<U6D92>
+<U6D94>
+<U6D96>
+<U6D97>
+<U6D98>
+<U6DAA>
+<U6DAC>
+<U6DB4>
+<U6DB7>
+<U6DB9>
+<U6DBD>
+<U6DBF>
+<U6DC4>
+<U6DC8>
+<U6DCA>
+<U6DCE>
+<U6DCF>
+<U6DD6>
+<U6DDB>
+<U6DDD>
+<U6DDF>
+<U6DE0>
+<U6DE2>
+<U6DE5>
+<U6DE9>
+<U6DEF>
+<U6DF0>
+<U6DF4>
+<U6DF6>
+<U6DFC>
+<U6E00>
+<U6E04>
+<U6E1E>
+<U6E22>
+<U6E27>
+<U6E32>
+<U6E36>
+<U6E39>
+<U6E3B>
+<U6E3C>
+<U6E44>
+<U6E45>
+<U6E48>
+<U6E49>
+<U6E4B>
+<U6E4F>
+<U6E51>
+<U6E52>
+<U6E53>
+<U6E54>
+<U6E57>
+<U6E5C>
+<U6E5D>
+<U6E5E>
+<U6E62>
+<U6E63>
+<U6E68>
+<U6E73>
+<U6E7B>
+<U6E7D>
+<U6E8D>
+<U6E93>
+<U6E99>
+<U6EA0>
+<U6EA7>
+<U6EAD>
+<U6EAE>
+<U6EB1>
+<U6EB3>
+<U6EBB>
+<U6EBF>
+<U6EC0>
+<U6EC1>
+<U6EC3>
+<U6EC7>
+<U6EC8>
+<U6ECA>
+<U6ECD>
+<U6ECE>
+<U6ECF>
+<U6EEB>
+<U6EED>
+<U6EEE>
+<U6EF9>
+<U6EFB>
+<U6EFD>
+<U6F04>
+<U6F08>
+<U6F0A>
+<U6F0C>
+<U6F0D>
+<U6F16>
+<U6F18>
+<U6F1A>
+<U6F1B>
+<U6F26>
+<U6F29>
+<U6F2A>
+<U6F2F>
+<U6F30>
+<U6F33>
+<U6F36>
+<U6F3B>
+<U6F3C>
+<U6F2D>
+<U6F4F>
+<U6F51>
+<U6F52>
+<U6F53>
+<U6F57>
+<U6F59>
+<U6F5A>
+<U6F5D>
+<U6F5E>
+<U6F61>
+<U6F62>
+<U6F68>
+<U6F6C>
+<U6F7D>
+<U6F7E>
+<U6F83>
+<U6F87>
+<U6F88>
+<U6F8B>
+<U6F8C>
+<U6F8D>
+<U6F90>
+<U6F92>
+<U6F93>
+<U6F94>
+<U6F96>
+<U6F9A>
+<U6F9F>
+<U6FA0>
+<U6FA5>
+<U6FA6>
+<U6FA7>
+<U6FA8>
+<U6FAE>
+<U6FAF>
+<U6FB0>
+<U6FB5>
+<U6FB6>
+<U6FBC>
+<U6FC5>
+<U6FC7>
+<U6FC8>
+<U6FCA>
+<U6FDA>
+<U6FDE>
+<U6FE8>
+<U6FE9>
+<U6FF0>
+<U6FF5>
+<U6FF9>
+<U6FFC>
+<U6FFD>
+<U7000>
+<U7005>
+<U7006>
+<U7007>
+<U700D>
+<U7017>
+<U7020>
+<U7023>
+<U702F>
+<U7034>
+<U7037>
+<U7039>
+<U703C>
+<U7043>
+<U7044>
+<U7048>
+<U7049>
+<U704A>
+<U704B>
+<U7054>
+<U7055>
+<U705D>
+<U705E>
+<U704E>
+<U7064>
+<U7065>
+<U706C>
+<U706E>
+<U7075>
+<U7076>
+<U707E>
+<U7081>
+<U7085>
+<U7086>
+<U7094>
+<U7095>
+<U7096>
+<U7097>
+<U7098>
+<U709B>
+<U70A4>
+<U70AB>
+<U70B0>
+<U70B1>
+<U70B4>
+<U70B7>
+<U70CA>
+<U70D1>
+<U70D3>
+<U70D4>
+<U70D5>
+<U70D6>
+<U70D8>
+<U70DC>
+<U70E4>
+<U70FA>
+<U7103>
+<U7104>
+<U7105>
+<U7106>
+<U7107>
+<U710B>
+<U710C>
+<U710F>
+<U711E>
+<U7120>
+<U712B>
+<U712D>
+<U712F>
+<U7130>
+<U7131>
+<U7138>
+<U7141>
+<U7145>
+<U7146>
+<U7147>
+<U714A>
+<U714B>
+<U7150>
+<U7152>
+<U7157>
+<U715A>
+<U715C>
+<U715E>
+<U7160>
+<U7168>
+<U7179>
+<U7180>
+<U7185>
+<U7187>
+<U718C>
+<U7192>
+<U719A>
+<U719B>
+<U71A0>
+<U71A2>
+<U71AF>
+<U71B0>
+<U71B2>
+<U71B3>
+<U71BA>
+<U71BF>
+<U71C0>
+<U71C1>
+<U71C4>
+<U71CB>
+<U71CC>
+<U71D3>
+<U71D6>
+<U71D9>
+<U71DA>
+<U71DC>
+<U71F8>
+<U71FE>
+<U7200>
+<U7207>
+<U7208>
+<U7209>
+<U7213>
+<U7217>
+<U721A>
+<U721D>
+<U721F>
+<U7224>
+<U722B>
+<U722F>
+<U7234>
+<U7238>
+<U7239>
+<U7241>
+<U7242>
+<U7243>
+<U7245>
+<U724E>
+<U724F>
+<U7250>
+<U7253>
+<U7255>
+<U7256>
+<U725A>
+<U725C>
+<U725E>
+<U7260>
+<U7263>
+<U7268>
+<U726B>
+<U726E>
+<U726F>
+<U7271>
+<U7277>
+<U7278>
+<U727B>
+<U727C>
+<U727F>
+<U7284>
+<U7289>
+<U728D>
+<U728E>
+<U7293>
+<U729B>
+<U72A8>
+<U72AD>
+<U72AE>
+<U72B1>
+<U72B4>
+<U72BE>
+<U72C1>
+<U72C7>
+<U72C9>
+<U72CC>
+<U72D5>
+<U72D6>
+<U72D8>
+<U72DF>
+<U72E5>
+<U72F3>
+<U72F4>
+<U72FA>
+<U72FB>
+<U72FE>
+<U7302>
+<U7304>
+<U7305>
+<U7307>
+<U730B>
+<U730D>
+<U7312>
+<U7313>
+<U7318>
+<U7319>
+<U731E>
+<U7322>
+<U7324>
+<U7327>
+<U7328>
+<U732C>
+<U7331>
+<U7332>
+<U7335>
+<U733A>
+<U733B>
+<U733D>
+<U7343>
+<U734D>
+<U7350>
+<U7352>
+<U7356>
+<U7358>
+<U735D>
+<U735E>
+<U735F>
+<U7360>
+<U7366>
+<U7367>
+<U7369>
+<U736B>
+<U736C>
+<U736E>
+<U736F>
+<U7371>
+<U7377>
+<U7379>
+<U737C>
+<U7380>
+<U7381>
+<U7383>
+<U7385>
+<U7386>
+<U738E>
+<U7390>
+<U7393>
+<U7395>
+<U7397>
+<U7398>
+<U739C>
+<U739E>
+<U739F>
+<U73A0>
+<U73A2>
+<U73A5>
+<U73A6>
+<U73AA>
+<U73AB>
+<U73AD>
+<U73B5>
+<U73B7>
+<U73B9>
+<U73BC>
+<U73BD>
+<U73BF>
+<U73C5>
+<U73C6>
+<U73C9>
+<U73CB>
+<U73CC>
+<U73CF>
+<U73D2>
+<U73D3>
+<U73D6>
+<U73D9>
+<U73DD>
+<U73E1>
+<U73E3>
+<U73E6>
+<U73E7>
+<U73E9>
+<U73F4>
+<U73F5>
+<U73F7>
+<U73F9>
+<U73FA>
+<U73FB>
+<U73FD>
+<U73FF>
+<U7400>
+<U7401>
+<U7404>
+<U7407>
+<U740A>
+<U7411>
+<U741A>
+<U741B>
+<U7424>
+<U7426>
+<U7428>
+<U7429>
+<U742A>
+<U742B>
+<U742C>
+<U742D>
+<U742E>
+<U742F>
+<U7430>
+<U7431>
+<U7439>
+<U7440>
+<U7443>
+<U7444>
+<U7446>
+<U7447>
+<U744B>
+<U744D>
+<U7451>
+<U7452>
+<U7457>
+<U745D>
+<U7462>
+<U7466>
+<U7467>
+<U7468>
+<U746B>
+<U746D>
+<U746E>
+<U7471>
+<U7472>
+<U7480>
+<U7481>
+<U7485>
+<U7486>
+<U7487>
+<U7489>
+<U748F>
+<U7490>
+<U7491>
+<U7492>
+<U7498>
+<U7499>
+<U749A>
+<U749C>
+<U749F>
+<U74A0>
+<U74A1>
+<U74A3>
+<U74A6>
+<U74A8>
+<U74A9>
+<U74AA>
+<U74AB>
+<U74AE>
+<U74AF>
+<U74B1>
+<U74B2>
+<U74B5>
+<U74B9>
+<U74BB>
+<U74BF>
+<U74C8>
+<U74C9>
+<U74CC>
+<U74D0>
+<U74D3>
+<U74D8>
+<U74DA>
+<U74DB>
+<U74DE>
+<U74DF>
+<U74E4>
+<U74E8>
+<U74EA>
+<U74EB>
+<U74EF>
+<U74F4>
+<U74FA>
+<U74FB>
+<U74FC>
+<U74FF>
+<U7506>
+<U7512>
+<U7516>
+<U7517>
+<U7520>
+<U7521>
+<U7524>
+<U7527>
+<U7529>
+<U752A>
+<U752F>
+<U7536>
+<U7539>
+<U753D>
+<U753E>
+<U753F>
+<U7540>
+<U7543>
+<U7547>
+<U7548>
+<U754E>
+<U7550>
+<U7552>
+<U7557>
+<U755E>
+<U755F>
+<U7561>
+<U756F>
+<U7571>
+<U7579>
+<U757A>
+<U757B>
+<U757C>
+<U757D>
+<U757E>
+<U7581>
+<U7585>
+<U7590>
+<U7592>
+<U7593>
+<U7595>
+<U7599>
+<U759C>
+<U75A2>
+<U75A4>
+<U75B4>
+<U75BA>
+<U75BF>
+<U75C0>
+<U75C1>
+<U75C4>
+<U75C6>
+<U75CC>
+<U75CE>
+<U75CF>
+<U75D7>
+<U75DC>
+<U75DF>
+<U75E0>
+<U75E1>
+<U75E4>
+<U75E7>
+<U75EC>
+<U75EE>
+<U75EF>
+<U75F1>
+<U75F9>
+<U7600>
+<U7602>
+<U7603>
+<U7604>
+<U7607>
+<U7608>
+<U760A>
+<U760C>
+<U760F>
+<U7612>
+<U7613>
+<U7615>
+<U7616>
+<U7619>
+<U761B>
+<U761C>
+<U761D>
+<U761E>
+<U7623>
+<U7625>
+<U7626>
+<U7629>
+<U762D>
+<U7632>
+<U7633>
+<U7635>
+<U7638>
+<U7639>
+<U763A>
+<U763C>
+<U764A>
+<U7640>
+<U7641>
+<U7643>
+<U7644>
+<U7645>
+<U7649>
+<U764B>
+<U7655>
+<U7659>
+<U765F>
+<U7664>
+<U7665>
+<U766D>
+<U766E>
+<U766F>
+<U7671>
+<U7674>
+<U7681>
+<U7685>
+<U768C>
+<U768D>
+<U7695>
+<U769B>
+<U769C>
+<U769D>
+<U769F>
+<U76A0>
+<U76A2>
+<U76A3>
+<U76A4>
+<U76A5>
+<U76A6>
+<U76A7>
+<U76A8>
+<U76AA>
+<U76AD>
+<U76BD>
+<U76C1>
+<U76C5>
+<U76C9>
+<U76CB>
+<U76CC>
+<U76CE>
+<U76D4>
+<U76D9>
+<U76E0>
+<U76E6>
+<U76E8>
+<U76EC>
+<U76F0>
+<U76F1>
+<U76F6>
+<U76F9>
+<U76FC>
+<U7700>
+<U7706>
+<U770A>
+<U770E>
+<U7712>
+<U7714>
+<U7715>
+<U7717>
+<U7719>
+<U771A>
+<U771C>
+<U7722>
+<U7728>
+<U772D>
+<U772E>
+<U772F>
+<U7734>
+<U7735>
+<U7736>
+<U7739>
+<U773D>
+<U773E>
+<U7742>
+<U7745>
+<U7746>
+<U774A>
+<U774D>
+<U774E>
+<U774F>
+<U7752>
+<U7756>
+<U7757>
+<U775C>
+<U775E>
+<U775F>
+<U7760>
+<U7762>
+<U7764>
+<U7767>
+<U776A>
+<U776C>
+<U7770>
+<U7772>
+<U7773>
+<U7774>
+<U777A>
+<U777D>
+<U7780>
+<U7784>
+<U778C>
+<U778D>
+<U7794>
+<U7795>
+<U7796>
+<U779A>
+<U779F>
+<U77A2>
+<U77A7>
+<U77AA>
+<U77AE>
+<U77AF>
+<U77B1>
+<U77B5>
+<U77BE>
+<U77C3>
+<U77C9>
+<U77D1>
+<U77D2>
+<U77D5>
+<U77D9>
+<U77DE>
+<U77DF>
+<U77E0>
+<U77E4>
+<U77E6>
+<U77EA>
+<U77EC>
+<U77F0>
+<U77F1>
+<U77F4>
+<U77F8>
+<U77FB>
+<U7805>
+<U7806>
+<U7809>
+<U780D>
+<U780E>
+<U7811>
+<U781D>
+<U7821>
+<U7822>
+<U7823>
+<U782D>
+<U782E>
+<U7830>
+<U7835>
+<U7837>
+<U7843>
+<U7844>
+<U7847>
+<U7848>
+<U784C>
+<U784E>
+<U7852>
+<U785C>
+<U785E>
+<U7860>
+<U7861>
+<U7863>
+<U7864>
+<U7868>
+<U786A>
+<U786E>
+<U787A>
+<U787E>
+<U788A>
+<U788F>
+<U7894>
+<U7898>
+<U78A1>
+<U789D>
+<U789E>
+<U789F>
+<U78A4>
+<U78A8>
+<U78AC>
+<U78AD>
+<U78B0>
+<U78B1>
+<U78B2>
+<U78B3>
+<U78BB>
+<U78BD>
+<U78BF>
+<U78C7>
+<U78C8>
+<U78C9>
+<U78CC>
+<U78CE>
+<U78D2>
+<U78D3>
+<U78D5>
+<U78D6>
+<U78E4>
+<U78DB>
+<U78DF>
+<U78E0>
+<U78E1>
+<U78E6>
+<U78EA>
+<U78F2>
+<U78F3>
+<U7900>
+<U78F6>
+<U78F7>
+<U78FA>
+<U78FB>
+<U78FF>
+<U7906>
+<U790C>
+<U7910>
+<U791A>
+<U791C>
+<U791E>
+<U791F>
+<U7920>
+<U7925>
+<U7927>
+<U7929>
+<U792D>
+<U7931>
+<U7934>
+<U7935>
+<U793B>
+<U793D>
+<U793F>
+<U7944>
+<U7945>
+<U7946>
+<U794A>
+<U794B>
+<U794F>
+<U7951>
+<U7954>
+<U7958>
+<U795B>
+<U795C>
+<U7967>
+<U7969>
+<U796B>
+<U7972>
+<U7979>
+<U797B>
+<U797C>
+<U797E>
+<U798B>
+<U798C>
+<U7991>
+<U7993>
+<U7994>
+<U7995>
+<U7996>
+<U7998>
+<U799B>
+<U799C>
+<U79A1>
+<U79A8>
+<U79A9>
+<U79AB>
+<U79AF>
+<U79B1>
+<U79B4>
+<U79B8>
+<U79BB>
+<U79C2>
+<U79C4>
+<U79C7>
+<U79C8>
+<U79CA>
+<U79CF>
+<U79D4>
+<U79D6>
+<U79DA>
+<U79DD>
+<U79DE>
+<U79E0>
+<U79E2>
+<U79E5>
+<U79EA>
+<U79EB>
+<U79ED>
+<U79F1>
+<U79F8>
+<U79FC>
+<U7A02>
+<U7A03>
+<U7A07>
+<U7A09>
+<U7A0A>
+<U7A0C>
+<U7A11>
+<U7A15>
+<U7A1B>
+<U7A1E>
+<U7A21>
+<U7A27>
+<U7A2B>
+<U7A2D>
+<U7A2F>
+<U7A30>
+<U7A34>
+<U7A35>
+<U7A38>
+<U7A39>
+<U7A3A>
+<U7A44>
+<U7A45>
+<U7A47>
+<U7A48>
+<U7A4C>
+<U7A55>
+<U7A56>
+<U7A59>
+<U7A5C>
+<U7A5D>
+<U7A5F>
+<U7A60>
+<U7A65>
+<U7A67>
+<U7A6A>
+<U7A6D>
+<U7A75>
+<U7A78>
+<U7A7E>
+<U7A80>
+<U7A82>
+<U7A85>
+<U7A86>
+<U7A8A>
+<U7A8B>
+<U7A90>
+<U7A91>
+<U7A94>
+<U7A9E>
+<U7AA0>
+<U7AA3>
+<U7AAC>
+<U7AB3>
+<U7AB5>
+<U7AB9>
+<U7ABB>
+<U7ABC>
+<U7AC6>
+<U7AC9>
+<U7ACC>
+<U7ACE>
+<U7AD1>
+<U7ADB>
+<U7AE8>
+<U7AE9>
+<U7AEB>
+<U7AEC>
+<U7AF1>
+<U7AF4>
+<U7AFB>
+<U7AFD>
+<U7AFE>
+<U7B07>
+<U7B14>
+<U7B1F>
+<U7B23>
+<U7B27>
+<U7B29>
+<U7B2A>
+<U7B2B>
+<U7B2D>
+<U7B2E>
+<U7B2F>
+<U7B30>
+<U7B31>
+<U7B34>
+<U7B3D>
+<U7B3F>
+<U7B40>
+<U7B41>
+<U7B47>
+<U7B4E>
+<U7B55>
+<U7B60>
+<U7B64>
+<U7B66>
+<U7B69>
+<U7B6A>
+<U7B6D>
+<U7B6F>
+<U7B72>
+<U7B73>
+<U7B77>
+<U7B84>
+<U7B89>
+<U7B8E>
+<U7B90>
+<U7B91>
+<U7B96>
+<U7B9B>
+<U7B9E>
+<U7BA0>
+<U7BA5>
+<U7BAC>
+<U7BAF>
+<U7BB0>
+<U7BB2>
+<U7BB5>
+<U7BB6>
+<U7BBA>
+<U7BBB>
+<U7BBC>
+<U7BBD>
+<U7BC2>
+<U7BC5>
+<U7BC8>
+<U7BCA>
+<U7BD4>
+<U7BD6>
+<U7BD7>
+<U7BD9>
+<U7BDA>
+<U7BDB>
+<U7BE8>
+<U7BEA>
+<U7BF2>
+<U7BF4>
+<U7BF5>
+<U7BF8>
+<U7BF9>
+<U7BFA>
+<U7BFC>
+<U7BFE>
+<U7C01>
+<U7C02>
+<U7C03>
+<U7C04>
+<U7C06>
+<U7C09>
+<U7C0B>
+<U7C0C>
+<U7C0E>
+<U7C0F>
+<U7C19>
+<U7C1B>
+<U7C20>
+<U7C25>
+<U7C26>
+<U7C28>
+<U7C2C>
+<U7C31>
+<U7C33>
+<U7C34>
+<U7C36>
+<U7C39>
+<U7C3A>
+<U7C46>
+<U7C4A>
+<U7C55>
+<U7C51>
+<U7C52>
+<U7C53>
+<U7C59>
+<U7C5A>
+<U7C5B>
+<U7C5C>
+<U7C5D>
+<U7C5E>
+<U7C61>
+<U7C63>
+<U7C67>
+<U7C69>
+<U7C6D>
+<U7C6E>
+<U7C70>
+<U7C72>
+<U7C79>
+<U7C7C>
+<U7C7D>
+<U7C86>
+<U7C87>
+<U7C8F>
+<U7C94>
+<U7C9E>
+<U7CA0>
+<U7CA6>
+<U7CB0>
+<U7CB6>
+<U7CB7>
+<U7CBA>
+<U7CBB>
+<U7CBC>
+<U7CBF>
+<U7CC4>
+<U7CC7>
+<U7CC8>
+<U7CC9>
+<U7CCD>
+<U7CCF>
+<U7CD3>
+<U7CD4>
+<U7CD5>
+<U7CD7>
+<U7CD9>
+<U7CDA>
+<U7CDD>
+<U7CE6>
+<U7CE9>
+<U7CEB>
+<U7CF5>
+<U7D03>
+<U7D07>
+<U7D08>
+<U7D09>
+<U7D0F>
+<U7D11>
+<U7D12>
+<U7D13>
+<U7D16>
+<U7D1D>
+<U7D1E>
+<U7D23>
+<U7D26>
+<U7D2A>
+<U7D2D>
+<U7D31>
+<U7D3C>
+<U7D3D>
+<U7D3E>
+<U7D40>
+<U7D41>
+<U7D47>
+<U7D48>
+<U7D4D>
+<U7D51>
+<U7D53>
+<U7D57>
+<U7D59>
+<U7D5A>
+<U7D5C>
+<U7D5D>
+<U7D65>
+<U7D67>
+<U7D6A>
+<U7D70>
+<U7D78>
+<U7D7A>
+<U7D7B>
+<U7D7F>
+<U7D81>
+<U7D82>
+<U7D83>
+<U7D85>
+<U7D86>
+<U7D88>
+<U7D8B>
+<U7D8C>
+<U7D8D>
+<U7D91>
+<U7D96>
+<U7D97>
+<U7D9D>
+<U7D9E>
+<U7DA6>
+<U7DA7>
+<U7DAA>
+<U7DB3>
+<U7DB6>
+<U7DB7>
+<U7DB9>
+<U7DC2>
+<U7DC3>
+<U7DC4>
+<U7DC5>
+<U7DC6>
+<U7DCC>
+<U7DCD>
+<U7DCE>
+<U7DD7>
+<U7DD9>
+<U7E00>
+<U7DE2>
+<U7DE5>
+<U7DE6>
+<U7DEA>
+<U7DEB>
+<U7DED>
+<U7DF1>
+<U7DF5>
+<U7DF6>
+<U7DF9>
+<U7DFA>
+<U7E08>
+<U7E10>
+<U7E11>
+<U7E15>
+<U7E17>
+<U7E1C>
+<U7E1D>
+<U7E20>
+<U7E27>
+<U7E28>
+<U7E2C>
+<U7E2D>
+<U7E2F>
+<U7E33>
+<U7E36>
+<U7E3F>
+<U7E44>
+<U7E45>
+<U7E47>
+<U7E4E>
+<U7E50>
+<U7E52>
+<U7E58>
+<U7E5F>
+<U7E61>
+<U7E62>
+<U7E65>
+<U7E6B>
+<U7E6E>
+<U7E6F>
+<U7E73>
+<U7E78>
+<U7E7E>
+<U7E81>
+<U7E86>
+<U7E87>
+<U7E8A>
+<U7E8D>
+<U7E91>
+<U7E95>
+<U7E98>
+<U7E9A>
+<U7E9D>
+<U7E9E>
+<U7F3C>
+<U7F3B>
+<U7F3D>
+<U7F3E>
+<U7F3F>
+<U7F43>
+<U7F44>
+<U7F47>
+<U7F4F>
+<U7F52>
+<U7F53>
+<U7F5B>
+<U7F5C>
+<U7F5D>
+<U7F61>
+<U7F63>
+<U7F64>
+<U7F65>
+<U7F66>
+<U7F6D>
+<U7F71>
+<U7F7D>
+<U7F7E>
+<U7F7F>
+<U7F80>
+<U7F8B>
+<U7F8D>
+<U7F8F>
+<U7F90>
+<U7F91>
+<U7F96>
+<U7F97>
+<U7F9C>
+<U7FA1>
+<U7FA2>
+<U7FA6>
+<U7FAA>
+<U7FAD>
+<U7FB4>
+<U7FBC>
+<U7FBF>
+<U7FC0>
+<U7FC3>
+<U7FC8>
+<U7FCE>
+<U7FCF>
+<U7FDB>
+<U7FDF>
+<U7FE3>
+<U7FE5>
+<U7FE8>
+<U7FEC>
+<U7FEE>
+<U7FEF>
+<U7FF2>
+<U7FFA>
+<U7FFD>
+<U7FFE>
+<U7FFF>
+<U8007>
+<U8008>
+<U800A>
+<U800D>
+<U800E>
+<U800F>
+<U8011>
+<U8013>
+<U8014>
+<U8016>
+<U801D>
+<U801E>
+<U801F>
+<U8020>
+<U8024>
+<U8026>
+<U802C>
+<U802E>
+<U8030>
+<U8034>
+<U8035>
+<U8037>
+<U8039>
+<U803A>
+<U803C>
+<U803E>
+<U8040>
+<U8044>
+<U8060>
+<U8064>
+<U8066>
+<U806D>
+<U8071>
+<U8075>
+<U8081>
+<U8088>
+<U808E>
+<U809C>
+<U809E>
+<U80A6>
+<U80A7>
+<U80AB>
+<U80B8>
+<U80B9>
+<U80C8>
+<U80CD>
+<U80CF>
+<U80D2>
+<U80D4>
+<U80D5>
+<U80D7>
+<U80D8>
+<U80E0>
+<U80ED>
+<U80EE>
+<U80F0>
+<U80F2>
+<U80F3>
+<U80F6>
+<U80F9>
+<U80FA>
+<U80FE>
+<U8103>
+<U810B>
+<U8116>
+<U8117>
+<U8118>
+<U811C>
+<U811E>
+<U8120>
+<U8124>
+<U8127>
+<U812C>
+<U8130>
+<U8135>
+<U813A>
+<U813C>
+<U8145>
+<U8147>
+<U814A>
+<U814C>
+<U8152>
+<U8157>
+<U8160>
+<U8161>
+<U8167>
+<U8168>
+<U8169>
+<U816D>
+<U816F>
+<U8177>
+<U8181>
+<U8190>
+<U8184>
+<U8185>
+<U8186>
+<U818B>
+<U818E>
+<U8196>
+<U8198>
+<U819B>
+<U819E>
+<U81A2>
+<U81AE>
+<U81B2>
+<U81B4>
+<U81BB>
+<U81CB>
+<U81C3>
+<U81C5>
+<U81CA>
+<U81CE>
+<U81CF>
+<U81D5>
+<U81D7>
+<U81DB>
+<U81DD>
+<U81DE>
+<U81E1>
+<U81E4>
+<U81EB>
+<U81EC>
+<U81F0>
+<U81F1>
+<U81F2>
+<U81F5>
+<U81F6>
+<U81F8>
+<U81F9>
+<U81FD>
+<U81FF>
+<U8200>
+<U8203>
+<U820F>
+<U8213>
+<U8214>
+<U8219>
+<U821A>
+<U821D>
+<U8221>
+<U8222>
+<U8228>
+<U8232>
+<U8234>
+<U823A>
+<U8243>
+<U8244>
+<U8245>
+<U8246>
+<U824B>
+<U824E>
+<U824F>
+<U8251>
+<U8256>
+<U825C>
+<U8260>
+<U8263>
+<U8267>
+<U826D>
+<U8274>
+<U827B>
+<U827D>
+<U827F>
+<U8280>
+<U8281>
+<U8283>
+<U8284>
+<U8287>
+<U8289>
+<U828A>
+<U828E>
+<U8291>
+<U8294>
+<U8296>
+<U8298>
+<U829A>
+<U829B>
+<U82A0>
+<U82A1>
+<U82A3>
+<U82A4>
+<U82A7>
+<U82A8>
+<U82A9>
+<U82AA>
+<U82AE>
+<U82B0>
+<U82B2>
+<U82B4>
+<U82B7>
+<U82BA>
+<U82BC>
+<U82BE>
+<U82BF>
+<U82C6>
+<U82D0>
+<U82D5>
+<U82DA>
+<U82E0>
+<U82E2>
+<U82E4>
+<U82E8>
+<U82EA>
+<U82ED>
+<U82EF>
+<U82F6>
+<U82F7>
+<U82FD>
+<U82FE>
+<U8300>
+<U8301>
+<U8307>
+<U8308>
+<U830A>
+<U830B>
+<U8354>
+<U831B>
+<U831D>
+<U831E>
+<U831F>
+<U8321>
+<U8322>
+<U832C>
+<U832D>
+<U832E>
+<U8330>
+<U8333>
+<U8337>
+<U833A>
+<U833C>
+<U833D>
+<U8342>
+<U8343>
+<U8344>
+<U8347>
+<U834D>
+<U834E>
+<U8351>
+<U8355>
+<U8356>
+<U8357>
+<U8370>
+<U8378>
+<U837D>
+<U837F>
+<U8380>
+<U8382>
+<U8384>
+<U8386>
+<U838D>
+<U8392>
+<U8394>
+<U8395>
+<U8398>
+<U8399>
+<U839B>
+<U839C>
+<U839D>
+<U83A6>
+<U83A7>
+<U83A9>
+<U83AC>
+<U83BE>
+<U83BF>
+<U83C0>
+<U83C7>
+<U83C9>
+<U83CF>
+<U83D0>
+<U83D1>
+<U83D4>
+<U83DD>
+<U8353>
+<U83E8>
+<U83EA>
+<U83F6>
+<U83F8>
+<U83F9>
+<U83FC>
+<U8401>
+<U8406>
+<U840A>
+<U840F>
+<U8411>
+<U8415>
+<U8419>
+<U83AD>
+<U842F>
+<U8439>
+<U8445>
+<U8447>
+<U8448>
+<U844A>
+<U844D>
+<U844F>
+<U8451>
+<U8452>
+<U8456>
+<U8458>
+<U8459>
+<U845A>
+<U845C>
+<U8460>
+<U8464>
+<U8465>
+<U8467>
+<U846A>
+<U8470>
+<U8473>
+<U8474>
+<U8476>
+<U8478>
+<U847C>
+<U847D>
+<U8481>
+<U8485>
+<U8492>
+<U8493>
+<U8495>
+<U849E>
+<U84A6>
+<U84A8>
+<U84A9>
+<U84AA>
+<U84AF>
+<U84B1>
+<U84B4>
+<U84BA>
+<U84BD>
+<U84BE>
+<U84C0>
+<U84C2>
+<U84C7>
+<U84C8>
+<U84CC>
+<U84CF>
+<U84D3>
+<U84DC>
+<U84E7>
+<U84EA>
+<U84EF>
+<U84F0>
+<U84F1>
+<U84F2>
+<U84F7>
+<U8532>
+<U84FA>
+<U84FB>
+<U84FD>
+<U8502>
+<U8503>
+<U8507>
+<U850C>
+<U850E>
+<U8510>
+<U851C>
+<U851E>
+<U8522>
+<U8523>
+<U8524>
+<U8525>
+<U8527>
+<U852A>
+<U852B>
+<U852F>
+<U8533>
+<U8534>
+<U8536>
+<U853F>
+<U8546>
+<U854F>
+<U8550>
+<U8551>
+<U8552>
+<U8553>
+<U8556>
+<U8559>
+<U855C>
+<U855D>
+<U855E>
+<U855F>
+<U8560>
+<U8561>
+<U8562>
+<U8564>
+<U856B>
+<U856F>
+<U8579>
+<U857A>
+<U857B>
+<U857D>
+<U857F>
+<U8581>
+<U8585>
+<U8586>
+<U8589>
+<U858B>
+<U858C>
+<U858F>
+<U8593>
+<U8598>
+<U859D>
+<U859F>
+<U85A0>
+<U85A2>
+<U85A5>
+<U85A7>
+<U85B4>
+<U85B6>
+<U85B7>
+<U85B8>
+<U85BC>
+<U85BD>
+<U85BE>
+<U85BF>
+<U85C2>
+<U85C7>
+<U85CA>
+<U85CB>
+<U85CE>
+<U85AD>
+<U85D8>
+<U85DA>
+<U85DF>
+<U85E0>
+<U85E6>
+<U85E8>
+<U85ED>
+<U85F3>
+<U85F6>
+<U85FC>
+<U85FF>
+<U8600>
+<U8604>
+<U8605>
+<U860D>
+<U860E>
+<U8610>
+<U8611>
+<U8612>
+<U8618>
+<U8619>
+<U861B>
+<U861E>
+<U8621>
+<U8627>
+<U8629>
+<U8636>
+<U8638>
+<U863A>
+<U863C>
+<U863D>
+<U8640>
+<U8642>
+<U8646>
+<U8652>
+<U8653>
+<U8656>
+<U8657>
+<U8658>
+<U8659>
+<U865D>
+<U8660>
+<U8661>
+<U8662>
+<U8663>
+<U8664>
+<U8669>
+<U866C>
+<U866F>
+<U8675>
+<U8676>
+<U8677>
+<U867A>
+<U868D>
+<U8691>
+<U8696>
+<U8698>
+<U869A>
+<U869C>
+<U86A1>
+<U86A6>
+<U86A7>
+<U86A8>
+<U86AD>
+<U86B1>
+<U86B3>
+<U86B4>
+<U86B5>
+<U86B7>
+<U86B8>
+<U86B9>
+<U86BF>
+<U86C0>
+<U86C1>
+<U86C3>
+<U86C5>
+<U86D1>
+<U86D2>
+<U86D5>
+<U86D7>
+<U86DA>
+<U86DC>
+<U86E0>
+<U86E3>
+<U86E5>
+<U86E7>
+<U8688>
+<U86FA>
+<U86FC>
+<U86FD>
+<U8704>
+<U8705>
+<U8707>
+<U870B>
+<U870E>
+<U870F>
+<U8710>
+<U8713>
+<U8714>
+<U8719>
+<U871E>
+<U871F>
+<U8721>
+<U8723>
+<U8728>
+<U872E>
+<U872F>
+<U8731>
+<U8732>
+<U8739>
+<U873A>
+<U873C>
+<U873D>
+<U873E>
+<U8740>
+<U8743>
+<U8745>
+<U874D>
+<U8758>
+<U875D>
+<U8761>
+<U8764>
+<U8765>
+<U876F>
+<U8771>
+<U8772>
+<U877B>
+<U8783>
+<U8784>
+<U8785>
+<U8786>
+<U8787>
+<U8788>
+<U8789>
+<U878B>
+<U878C>
+<U8790>
+<U8793>
+<U8795>
+<U8797>
+<U8798>
+<U8799>
+<U879E>
+<U87A0>
+<U87A3>
+<U87A7>
+<U87AC>
+<U87AD>
+<U87AE>
+<U87B1>
+<U87B5>
+<U87BE>
+<U87BF>
+<U87C1>
+<U87C8>
+<U87C9>
+<U87CA>
+<U87CE>
+<U87D5>
+<U87D6>
+<U87D9>
+<U87DA>
+<U87DC>
+<U87DF>
+<U87E2>
+<U87E3>
+<U87E4>
+<U87EA>
+<U87EB>
+<U87ED>
+<U87F1>
+<U87F3>
+<U87F8>
+<U87FA>
+<U87FF>
+<U8801>
+<U8803>
+<U8806>
+<U8809>
+<U880A>
+<U880B>
+<U8810>
+<U8819>
+<U8812>
+<U8813>
+<U8814>
+<U8818>
+<U881A>
+<U881B>
+<U881C>
+<U881E>
+<U881F>
+<U8828>
+<U882D>
+<U882E>
+<U8830>
+<U8832>
+<U8835>
+<U883A>
+<U883C>
+<U8841>
+<U8843>
+<U8845>
+<U8848>
+<U8849>
+<U884A>
+<U884B>
+<U884E>
+<U8851>
+<U8855>
+<U8856>
+<U8858>
+<U885A>
+<U885C>
+<U885F>
+<U8860>
+<U8864>
+<U8869>
+<U8871>
+<U8879>
+<U887B>
+<U8880>
+<U8898>
+<U889A>
+<U889B>
+<U889C>
+<U889F>
+<U88A0>
+<U88A8>
+<U88AA>
+<U88BA>
+<U88BD>
+<U88BE>
+<U88C0>
+<U88CA>
+<U88CB>
+<U88CC>
+<U88CD>
+<U88CE>
+<U88D1>
+<U88D2>
+<U88D3>
+<U88DB>
+<U88DE>
+<U88E7>
+<U88EF>
+<U88F0>
+<U88F1>
+<U88F5>
+<U88F7>
+<U8901>
+<U8906>
+<U890D>
+<U890E>
+<U890F>
+<U8915>
+<U8916>
+<U8918>
+<U8919>
+<U891A>
+<U891C>
+<U8920>
+<U8926>
+<U8927>
+<U8928>
+<U8930>
+<U8931>
+<U8932>
+<U8935>
+<U8939>
+<U893A>
+<U893E>
+<U8940>
+<U8942>
+<U8945>
+<U8946>
+<U8949>
+<U894F>
+<U8952>
+<U8957>
+<U895A>
+<U895B>
+<U895C>
+<U8961>
+<U8962>
+<U8963>
+<U896B>
+<U896E>
+<U8970>
+<U8973>
+<U8975>
+<U897A>
+<U897B>
+<U897C>
+<U897D>
+<U8989>
+<U898D>
+<U8990>
+<U8994>
+<U8995>
+<U899B>
+<U899C>
+<U899F>
+<U89A0>
+<U89A5>
+<U89B0>
+<U89B4>
+<U89B5>
+<U89B6>
+<U89B7>
+<U89BC>
+<U89D4>
+<U89D5>
+<U89D6>
+<U89D7>
+<U89D8>
+<U89E5>
+<U89E9>
+<U89EB>
+<U89ED>
+<U89F1>
+<U89F3>
+<U89F6>
+<U89F9>
+<U89FD>
+<U89FF>
+<U8A04>
+<U8A05>
+<U8A07>
+<U8A0F>
+<U8A11>
+<U8A12>
+<U8A14>
+<U8A15>
+<U8A1E>
+<U8A20>
+<U8A22>
+<U8A24>
+<U8A26>
+<U8A2B>
+<U8A2C>
+<U8A2F>
+<U8A35>
+<U8A37>
+<U8A3D>
+<U8A3E>
+<U8A40>
+<U8A43>
+<U8A45>
+<U8A47>
+<U8A49>
+<U8A4D>
+<U8A4E>
+<U8A53>
+<U8A56>
+<U8A57>
+<U8A58>
+<U8A5C>
+<U8A5D>
+<U8A61>
+<U8A65>
+<U8A67>
+<U8A75>
+<U8A76>
+<U8A77>
+<U8A79>
+<U8A7A>
+<U8A7B>
+<U8A7E>
+<U8A7F>
+<U8A80>
+<U8A83>
+<U8A86>
+<U8A8B>
+<U8A8F>
+<U8A90>
+<U8A92>
+<U8A96>
+<U8A97>
+<U8A99>
+<U8A9F>
+<U8AA7>
+<U8AA9>
+<U8AAE>
+<U8AAF>
+<U8AB3>
+<U8AB6>
+<U8AB7>
+<U8ABB>
+<U8ABE>
+<U8AC3>
+<U8AC6>
+<U8AC8>
+<U8AC9>
+<U8ACA>
+<U8AD1>
+<U8AD3>
+<U8AD4>
+<U8AD5>
+<U8AD7>
+<U8ADD>
+<U8ADF>
+<U8AEC>
+<U8AF0>
+<U8AF4>
+<U8AF5>
+<U8AF6>
+<U8AFC>
+<U8AFF>
+<U8B05>
+<U8B06>
+<U8B0B>
+<U8B11>
+<U8B1C>
+<U8B1E>
+<U8B1F>
+<U8B0A>
+<U8B2D>
+<U8B30>
+<U8B37>
+<U8B3C>
+<U8B42>
+<U8B43>
+<U8B44>
+<U8B45>
+<U8B46>
+<U8B48>
+<U8B52>
+<U8B53>
+<U8B54>
+<U8B59>
+<U8B4D>
+<U8B5E>
+<U8B63>
+<U8B6D>
+<U8B76>
+<U8B78>
+<U8B79>
+<U8B7C>
+<U8B7E>
+<U8B81>
+<U8B84>
+<U8B85>
+<U8B8B>
+<U8B8D>
+<U8B8F>
+<U8B94>
+<U8B95>
+<U8B9C>
+<U8B9E>
+<U8B9F>
+<U8C38>
+<U8C39>
+<U8C3D>
+<U8C3E>
+<U8C45>
+<U8C47>
+<U8C49>
+<U8C4B>
+<U8C4F>
+<U8C51>
+<U8C53>
+<U8C54>
+<U8C57>
+<U8C58>
+<U8C5B>
+<U8C5D>
+<U8C59>
+<U8C63>
+<U8C64>
+<U8C66>
+<U8C68>
+<U8C69>
+<U8C6D>
+<U8C73>
+<U8C75>
+<U8C76>
+<U8C7B>
+<U8C7E>
+<U8C86>
+<U8C87>
+<U8C8B>
+<U8C90>
+<U8C92>
+<U8C93>
+<U8C99>
+<U8C9B>
+<U8C9C>
+<U8CA4>
+<U8CB9>
+<U8CBA>
+<U8CC5>
+<U8CC6>
+<U8CC9>
+<U8CCB>
+<U8CCF>
+<U8CD6>
+<U8CD5>
+<U8CD9>
+<U8CDD>
+<U8CE1>
+<U8CE8>
+<U8CEC>
+<U8CEF>
+<U8CF0>
+<U8CF2>
+<U8CF5>
+<U8CF7>
+<U8CF8>
+<U8CFE>
+<U8CFF>
+<U8D01>
+<U8D03>
+<U8D09>
+<U8D12>
+<U8D17>
+<U8D1B>
+<U8D65>
+<U8D69>
+<U8D6C>
+<U8D6E>
+<U8D7F>
+<U8D82>
+<U8D84>
+<U8D88>
+<U8D8D>
+<U8D90>
+<U8D91>
+<U8D95>
+<U8D9E>
+<U8D9F>
+<U8DA0>
+<U8DA6>
+<U8DAB>
+<U8DAC>
+<U8DAF>
+<U8DB2>
+<U8DB5>
+<U8DB7>
+<U8DB9>
+<U8DBB>
+<U8DC0>
+<U8DC5>
+<U8DC6>
+<U8DC7>
+<U8DC8>
+<U8DCA>
+<U8DCE>
+<U8DD1>
+<U8DD4>
+<U8DD5>
+<U8DD7>
+<U8DD9>
+<U8DE4>
+<U8DE5>
+<U8DE7>
+<U8DEC>
+<U8DF0>
+<U8DBC>
+<U8DF1>
+<U8DF2>
+<U8DF4>
+<U8DFD>
+<U8E01>
+<U8E04>
+<U8E05>
+<U8E06>
+<U8E0B>
+<U8E11>
+<U8E14>
+<U8E16>
+<U8E20>
+<U8E21>
+<U8E22>
+<U8E23>
+<U8E26>
+<U8E27>
+<U8E31>
+<U8E33>
+<U8E36>
+<U8E37>
+<U8E38>
+<U8E39>
+<U8E3D>
+<U8E40>
+<U8E41>
+<U8E4B>
+<U8E4D>
+<U8E4E>
+<U8E4F>
+<U8E54>
+<U8E5B>
+<U8E5C>
+<U8E5D>
+<U8E5E>
+<U8E61>
+<U8E62>
+<U8E69>
+<U8E6C>
+<U8E6D>
+<U8E6F>
+<U8E70>
+<U8E71>
+<U8E79>
+<U8E7A>
+<U8E7B>
+<U8E82>
+<U8E83>
+<U8E89>
+<U8E90>
+<U8E92>
+<U8E95>
+<U8E9A>
+<U8E9B>
+<U8E9D>
+<U8E9E>
+<U8EA2>
+<U8EA7>
+<U8EA9>
+<U8EAD>
+<U8EAE>
+<U8EB3>
+<U8EB5>
+<U8EBA>
+<U8EBB>
+<U8EC0>
+<U8EC1>
+<U8EC3>
+<U8EC4>
+<U8EC7>
+<U8ECF>
+<U8ED1>
+<U8ED4>
+<U8EDC>
+<U8EE8>
+<U8EEE>
+<U8EF0>
+<U8EF1>
+<U8EF7>
+<U8EF9>
+<U8EFA>
+<U8EED>
+<U8F00>
+<U8F02>
+<U8F07>
+<U8F08>
+<U8F0F>
+<U8F10>
+<U8F16>
+<U8F17>
+<U8F18>
+<U8F1E>
+<U8F20>
+<U8F21>
+<U8F23>
+<U8F25>
+<U8F27>
+<U8F28>
+<U8F2C>
+<U8F2D>
+<U8F2E>
+<U8F34>
+<U8F35>
+<U8F36>
+<U8F37>
+<U8F3A>
+<U8F40>
+<U8F41>
+<U8F43>
+<U8F47>
+<U8F4F>
+<U8F51>
+<U8F52>
+<U8F53>
+<U8F54>
+<U8F55>
+<U8F58>
+<U8F5D>
+<U8F5E>
+<U8F65>
+<U8F9D>
+<U8FA0>
+<U8FA1>
+<U8FA4>
+<U8FA5>
+<U8FA6>
+<U8FB5>
+<U8FB6>
+<U8FB8>
+<U8FBE>
+<U8FC0>
+<U8FC1>
+<U8FC6>
+<U8FCA>
+<U8FCB>
+<U8FCD>
+<U8FD0>
+<U8FD2>
+<U8FD3>
+<U8FD5>
+<U8FE0>
+<U8FE3>
+<U8FE4>
+<U8FE8>
+<U8FEE>
+<U8FF1>
+<U8FF5>
+<U8FF6>
+<U8FFB>
+<U8FFE>
+<U9002>
+<U9004>
+<U9008>
+<U900C>
+<U9018>
+<U901B>
+<U9028>
+<U9029>
+<U902F>
+<U902A>
+<U902C>
+<U902D>
+<U9033>
+<U9034>
+<U9037>
+<U903F>
+<U9043>
+<U9044>
+<U904C>
+<U905B>
+<U905D>
+<U9062>
+<U9066>
+<U9067>
+<U906C>
+<U9070>
+<U9074>
+<U9079>
+<U9085>
+<U9088>
+<U908B>
+<U908C>
+<U908E>
+<U9090>
+<U9095>
+<U9097>
+<U9098>
+<U9099>
+<U909B>
+<U90A0>
+<U90A1>
+<U90A2>
+<U90A5>
+<U90B0>
+<U90B2>
+<U90B3>
+<U90B4>
+<U90B6>
+<U90BD>
+<U90CC>
+<U90BE>
+<U90C3>
+<U90C4>
+<U90C5>
+<U90C7>
+<U90C8>
+<U90D5>
+<U90D7>
+<U90D8>
+<U90D9>
+<U90DC>
+<U90DD>
+<U90DF>
+<U90E5>
+<U90D2>
+<U90F6>
+<U90EB>
+<U90EF>
+<U90F0>
+<U90F4>
+<U90FE>
+<U90FF>
+<U9100>
+<U9104>
+<U9105>
+<U9106>
+<U9108>
+<U910D>
+<U9110>
+<U9114>
+<U9116>
+<U9117>
+<U9118>
+<U911A>
+<U911C>
+<U911E>
+<U9120>
+<U9125>
+<U9122>
+<U9123>
+<U9127>
+<U9129>
+<U912E>
+<U912F>
+<U9131>
+<U9134>
+<U9136>
+<U9137>
+<U9139>
+<U913A>
+<U913C>
+<U913D>
+<U9143>
+<U9147>
+<U9148>
+<U914F>
+<U9153>
+<U9157>
+<U9159>
+<U915A>
+<U915B>
+<U9161>
+<U9164>
+<U9167>
+<U916D>
+<U9174>
+<U9179>
+<U917A>
+<U917B>
+<U9181>
+<U9183>
+<U9185>
+<U9186>
+<U918A>
+<U918E>
+<U9191>
+<U9193>
+<U9194>
+<U9195>
+<U9198>
+<U919E>
+<U91A1>
+<U91A6>
+<U91A8>
+<U91AC>
+<U91AD>
+<U91AE>
+<U91B0>
+<U91B1>
+<U91B2>
+<U91B3>
+<U91B6>
+<U91BB>
+<U91BC>
+<U91BD>
+<U91BF>
+<U91C2>
+<U91C3>
+<U91C5>
+<U91D3>
+<U91D4>
+<U91D7>
+<U91D9>
+<U91DA>
+<U91DE>
+<U91E4>
+<U91E5>
+<U91E9>
+<U91EA>
+<U91EC>
+<U91ED>
+<U91EE>
+<U91EF>
+<U91F0>
+<U91F1>
+<U91F7>
+<U91F9>
+<U91FB>
+<U91FD>
+<U9200>
+<U9201>
+<U9204>
+<U9205>
+<U9206>
+<U9207>
+<U9209>
+<U920A>
+<U920C>
+<U9210>
+<U9212>
+<U9213>
+<U9216>
+<U9218>
+<U921C>
+<U921D>
+<U9223>
+<U9224>
+<U9225>
+<U9226>
+<U9228>
+<U922E>
+<U922F>
+<U9230>
+<U9233>
+<U9235>
+<U9236>
+<U9238>
+<U9239>
+<U923A>
+<U923C>
+<U923E>
+<U9240>
+<U9242>
+<U9243>
+<U9246>
+<U9247>
+<U924A>
+<U924D>
+<U924E>
+<U924F>
+<U9251>
+<U9258>
+<U9259>
+<U925C>
+<U925D>
+<U9260>
+<U9261>
+<U9265>
+<U9267>
+<U9268>
+<U9269>
+<U926E>
+<U926F>
+<U9270>
+<U9275>
+<U9276>
+<U9277>
+<U9278>
+<U9279>
+<U927B>
+<U927C>
+<U927D>
+<U927F>
+<U9288>
+<U9289>
+<U928A>
+<U928D>
+<U928E>
+<U9292>
+<U9297>
+<U9299>
+<U929F>
+<U92A0>
+<U92A4>
+<U92A5>
+<U92A7>
+<U92A8>
+<U92AB>
+<U92AF>
+<U92B2>
+<U92B6>
+<U92B8>
+<U92BA>
+<U92BB>
+<U92BC>
+<U92BD>
+<U92BF>
+<U92C0>
+<U92C1>
+<U92C2>
+<U92C3>
+<U92C5>
+<U92C6>
+<U92C7>
+<U92C8>
+<U92CB>
+<U92CC>
+<U92CD>
+<U92CE>
+<U92D0>
+<U92D3>
+<U92D5>
+<U92D7>
+<U92D8>
+<U92D9>
+<U92DC>
+<U92DD>
+<U92DF>
+<U92E0>
+<U92E1>
+<U92E3>
+<U92E5>
+<U92E7>
+<U92E8>
+<U92EC>
+<U92EE>
+<U92F0>
+<U92F9>
+<U92FB>
+<U92FF>
+<U9300>
+<U9302>
+<U9308>
+<U930D>
+<U9311>
+<U9314>
+<U9315>
+<U931C>
+<U931D>
+<U931E>
+<U931F>
+<U9321>
+<U9324>
+<U9325>
+<U9327>
+<U9329>
+<U932A>
+<U9333>
+<U9334>
+<U9336>
+<U9337>
+<U9347>
+<U9348>
+<U9349>
+<U9350>
+<U9351>
+<U9352>
+<U9355>
+<U9357>
+<U9358>
+<U935A>
+<U935E>
+<U9364>
+<U9365>
+<U9367>
+<U9369>
+<U936A>
+<U936D>
+<U936F>
+<U9370>
+<U9371>
+<U9373>
+<U9374>
+<U9376>
+<U937A>
+<U937D>
+<U937F>
+<U9380>
+<U9381>
+<U9382>
+<U9388>
+<U938A>
+<U938B>
+<U938D>
+<U938F>
+<U9392>
+<U9395>
+<U9398>
+<U939B>
+<U939E>
+<U93A1>
+<U93A3>
+<U93A4>
+<U93A6>
+<U93A8>
+<U93AB>
+<U93B4>
+<U93B5>
+<U93B6>
+<U93BA>
+<U93A9>
+<U93C1>
+<U93C4>
+<U93C5>
+<U93C6>
+<U93C7>
+<U93C9>
+<U93CA>
+<U93CB>
+<U93CC>
+<U93CD>
+<U93D3>
+<U93D9>
+<U93DC>
+<U93DE>
+<U93DF>
+<U93E2>
+<U93E6>
+<U93E7>
+<U93F9>
+<U93F7>
+<U93F8>
+<U93FA>
+<U93FB>
+<U93FD>
+<U9401>
+<U9402>
+<U9404>
+<U9408>
+<U9409>
+<U940D>
+<U940E>
+<U940F>
+<U9415>
+<U9416>
+<U9417>
+<U941F>
+<U942E>
+<U942F>
+<U9431>
+<U9432>
+<U9433>
+<U9434>
+<U943B>
+<U943F>
+<U943D>
+<U9443>
+<U9445>
+<U9448>
+<U944A>
+<U944C>
+<U9455>
+<U9459>
+<U945C>
+<U945F>
+<U9461>
+<U9463>
+<U9468>
+<U946B>
+<U946D>
+<U946E>
+<U946F>
+<U9471>
+<U9472>
+<U9484>
+<U9483>
+<U9578>
+<U9579>
+<U957E>
+<U9584>
+<U9588>
+<U958C>
+<U958D>
+<U958E>
+<U959D>
+<U959E>
+<U959F>
+<U95A1>
+<U95A6>
+<U95A9>
+<U95AB>
+<U95AC>
+<U95B4>
+<U95B6>
+<U95BA>
+<U95BD>
+<U95BF>
+<U95C6>
+<U95C8>
+<U95C9>
+<U95CB>
+<U95D0>
+<U95D1>
+<U95D2>
+<U95D3>
+<U95D9>
+<U95DA>
+<U95DD>
+<U95DE>
+<U95DF>
+<U95E0>
+<U95E4>
+<U95E6>
+<U961D>
+<U961E>
+<U9622>
+<U9624>
+<U9625>
+<U9626>
+<U962C>
+<U9631>
+<U9633>
+<U9637>
+<U9638>
+<U9639>
+<U963A>
+<U963C>
+<U963D>
+<U9641>
+<U9652>
+<U9654>
+<U9656>
+<U9657>
+<U9658>
+<U9661>
+<U966E>
+<U9674>
+<U967B>
+<U967C>
+<U967E>
+<U967F>
+<U9681>
+<U9682>
+<U9683>
+<U9684>
+<U9689>
+<U9691>
+<U9696>
+<U969A>
+<U969D>
+<U969F>
+<U96A4>
+<U96A5>
+<U96A6>
+<U96A9>
+<U96AE>
+<U96AF>
+<U96B3>
+<U96BA>
+<U96CA>
+<U96D2>
+<U5DB2>
+<U96D8>
+<U96DA>
+<U96DD>
+<U96DE>
+<U96DF>
+<U96E9>
+<U96EF>
+<U96F1>
+<U96FA>
+<U9702>
+<U9703>
+<U9705>
+<U9709>
+<U971A>
+<U971B>
+<U971D>
+<U9721>
+<U9722>
+<U9723>
+<U9728>
+<U9731>
+<U9733>
+<U9741>
+<U9743>
+<U974A>
+<U974E>
+<U974F>
+<U9755>
+<U9757>
+<U9758>
+<U975A>
+<U975B>
+<U9763>
+<U9767>
+<U976A>
+<U976E>
+<U9773>
+<U9776>
+<U9777>
+<U9778>
+<U977B>
+<U977D>
+<U977F>
+<U9780>
+<U9789>
+<U9795>
+<U9796>
+<U9797>
+<U9799>
+<U979A>
+<U979E>
+<U979F>
+<U97A2>
+<U97AC>
+<U97AE>
+<U97B1>
+<U97B2>
+<U97B5>
+<U97B6>
+<U97B8>
+<U97B9>
+<U97BA>
+<U97BC>
+<U97BE>
+<U97BF>
+<U97C1>
+<U97C4>
+<U97C5>
+<U97C7>
+<U97C9>
+<U97CA>
+<U97CC>
+<U97CD>
+<U97CE>
+<U97D0>
+<U97D1>
+<U97D4>
+<U97D7>
+<U97D8>
+<U97D9>
+<U97DD>
+<U97DE>
+<U97E0>
+<U97DB>
+<U97E1>
+<U97E4>
+<U97EF>
+<U97F1>
+<U97F4>
+<U97F7>
+<U97F8>
+<U97FA>
+<U9807>
+<U980A>
+<U9819>
+<U980D>
+<U980E>
+<U9814>
+<U9816>
+<U981C>
+<U981E>
+<U9820>
+<U9823>
+<U9826>
+<U982B>
+<U982E>
+<U982F>
+<U9830>
+<U9832>
+<U9833>
+<U9835>
+<U9825>
+<U983E>
+<U9844>
+<U9847>
+<U984A>
+<U9851>
+<U9852>
+<U9853>
+<U9856>
+<U9857>
+<U9859>
+<U985A>
+<U9862>
+<U9863>
+<U9865>
+<U9866>
+<U986A>
+<U986C>
+<U98AB>
+<U98AD>
+<U98AE>
+<U98B0>
+<U98B4>
+<U98B7>
+<U98B8>
+<U98BA>
+<U98BB>
+<U98BF>
+<U98C2>
+<U98C5>
+<U98C8>
+<U98CC>
+<U98E1>
+<U98E3>
+<U98E5>
+<U98E6>
+<U98E7>
+<U98EA>
+<U98F3>
+<U98F6>
+<U9902>
+<U9907>
+<U9908>
+<U9911>
+<U9915>
+<U9916>
+<U9917>
+<U991A>
+<U991B>
+<U991C>
+<U991F>
+<U9922>
+<U9926>
+<U9927>
+<U992B>
+<U9931>
+<U9932>
+<U9933>
+<U9934>
+<U9935>
+<U9939>
+<U993A>
+<U993B>
+<U993C>
+<U9940>
+<U9941>
+<U9946>
+<U9947>
+<U9948>
+<U994D>
+<U994E>
+<U9954>
+<U9958>
+<U9959>
+<U995B>
+<U995C>
+<U995E>
+<U995F>
+<U9960>
+<U999B>
+<U999D>
+<U999F>
+<U99A6>
+<U99B0>
+<U99B1>
+<U99B2>
+<U99B5>
+<U99B9>
+<U99BA>
+<U99BD>
+<U99BF>
+<U99C3>
+<U99C9>
+<U99D3>
+<U99D4>
+<U99D9>
+<U99DA>
+<U99DC>
+<U99DE>
+<U99E7>
+<U99EA>
+<U99EB>
+<U99EC>
+<U99F0>
+<U99F4>
+<U99F5>
+<U99F9>
+<U99FD>
+<U99FE>
+<U9A02>
+<U9A03>
+<U9A04>
+<U9A0B>
+<U9A0C>
+<U9A10>
+<U9A11>
+<U9A16>
+<U9A1E>
+<U9A20>
+<U9A22>
+<U9A23>
+<U9A24>
+<U9A27>
+<U9A2D>
+<U9A2E>
+<U9A33>
+<U9A35>
+<U9A36>
+<U9A38>
+<U9A47>
+<U9A41>
+<U9A44>
+<U9A4A>
+<U9A4B>
+<U9A4C>
+<U9A4E>
+<U9A51>
+<U9A54>
+<U9A56>
+<U9A5D>
+<U9AAA>
+<U9AAC>
+<U9AAE>
+<U9AAF>
+<U9AB2>
+<U9AB4>
+<U9AB5>
+<U9AB6>
+<U9AB9>
+<U9ABB>
+<U9ABE>
+<U9ABF>
+<U9AC1>
+<U9AC3>
+<U9AC6>
+<U9AC8>
+<U9ACE>
+<U9AD0>
+<U9AD2>
+<U9AD5>
+<U9AD6>
+<U9AD7>
+<U9ADB>
+<U9ADC>
+<U9AE0>
+<U9AE4>
+<U9AE5>
+<U9AE7>
+<U9AE9>
+<U9AEC>
+<U9AF2>
+<U9AF3>
+<U9AF5>
+<U9AF9>
+<U9AFA>
+<U9AFD>
+<U9AFF>
+<U9B00>
+<U9B01>
+<U9B02>
+<U9B03>
+<U9B04>
+<U9B05>
+<U9B08>
+<U9B09>
+<U9B0B>
+<U9B0C>
+<U9B0D>
+<U9B0E>
+<U9B10>
+<U9B12>
+<U9B16>
+<U9B19>
+<U9B1B>
+<U9B1C>
+<U9B20>
+<U9B26>
+<U9B2B>
+<U9B2D>
+<U9B33>
+<U9B34>
+<U9B35>
+<U9B37>
+<U9B39>
+<U9B3A>
+<U9B3D>
+<U9B48>
+<U9B4B>
+<U9B4C>
+<U9B55>
+<U9B56>
+<U9B57>
+<U9B5B>
+<U9B5E>
+<U9B61>
+<U9B63>
+<U9B65>
+<U9B66>
+<U9B68>
+<U9B6A>
+<U9B6B>
+<U9B6C>
+<U9B6D>
+<U9B6E>
+<U9B73>
+<U9B75>
+<U9B77>
+<U9B78>
+<U9B79>
+<U9B7F>
+<U9B80>
+<U9B84>
+<U9B85>
+<U9B86>
+<U9B87>
+<U9B89>
+<U9B8A>
+<U9B8B>
+<U9B8D>
+<U9B8F>
+<U9B90>
+<U9B94>
+<U9B9A>
+<U9B9D>
+<U9B9E>
+<U9BA6>
+<U9BA7>
+<U9BA9>
+<U9BAC>
+<U9BB0>
+<U9BB1>
+<U9BB2>
+<U9BB7>
+<U9BB8>
+<U9BBB>
+<U9BBC>
+<U9BBE>
+<U9BBF>
+<U9BC1>
+<U9BC7>
+<U9BC8>
+<U9BCE>
+<U9BD0>
+<U9BD7>
+<U9BD8>
+<U9BDD>
+<U9BDF>
+<U9BE5>
+<U9BE7>
+<U9BEA>
+<U9BEB>
+<U9BEF>
+<U9BF3>
+<U9BF7>
+<U9BF8>
+<U9BF9>
+<U9BFA>
+<U9BFD>
+<U9BFF>
+<U9C00>
+<U9C02>
+<U9C0B>
+<U9C0F>
+<U9C11>
+<U9C16>
+<U9C18>
+<U9C19>
+<U9C1A>
+<U9C1C>
+<U9C1E>
+<U9C22>
+<U9C23>
+<U9C26>
+<U9C27>
+<U9C28>
+<U9C29>
+<U9C2A>
+<U9C31>
+<U9C35>
+<U9C36>
+<U9C37>
+<U9C3D>
+<U9C41>
+<U9C43>
+<U9C44>
+<U9C45>
+<U9C49>
+<U9C4A>
+<U9C4E>
+<U9C4F>
+<U9C50>
+<U9C53>
+<U9C54>
+<U9C56>
+<U9C58>
+<U9C5B>
+<U9C5D>
+<U9C5E>
+<U9C5F>
+<U9C63>
+<U9C69>
+<U9C6A>
+<U9C5C>
+<U9C6B>
+<U9C68>
+<U9C6E>
+<U9C70>
+<U9C72>
+<U9C75>
+<U9C77>
+<U9C7B>
+<U9CE6>
+<U9CF2>
+<U9CF7>
+<U9CF9>
+<U9D0B>
+<U9D02>
+<U9D11>
+<U9D17>
+<U9D18>
+<U9D1C>
+<U9D1D>
+<U9D1E>
+<U9D2F>
+<U9D30>
+<U9D32>
+<U9D33>
+<U9D34>
+<U9D3A>
+<U9D3C>
+<U9D45>
+<U9D3D>
+<U9D42>
+<U9D43>
+<U9D47>
+<U9D4A>
+<U9D53>
+<U9D54>
+<U9D5F>
+<U9D63>
+<U9D62>
+<U9D65>
+<U9D69>
+<U9D6A>
+<U9D6B>
+<U9D70>
+<U9D76>
+<U9D77>
+<U9D7B>
+<U9D7C>
+<U9D7E>
+<U9D83>
+<U9D84>
+<U9D86>
+<U9D8A>
+<U9D8D>
+<U9D8E>
+<U9D92>
+<U9D93>
+<U9D95>
+<U9D96>
+<U9D97>
+<U9D98>
+<U9DA1>
+<U9DAA>
+<U9DAC>
+<U9DAE>
+<U9DB1>
+<U9DB5>
+<U9DB9>
+<U9DBC>
+<U9DBF>
+<U9DC3>
+<U9DC7>
+<U9DC9>
+<U9DCA>
+<U9DD4>
+<U9DD5>
+<U9DD6>
+<U9DD7>
+<U9DDA>
+<U9DDE>
+<U9DDF>
+<U9DE0>
+<U9DE5>
+<U9DE7>
+<U9DE9>
+<U9DEB>
+<U9DEE>
+<U9DF0>
+<U9DF3>
+<U9DF4>
+<U9DFE>
+<U9E0A>
+<U9E02>
+<U9E07>
+<U9E0E>
+<U9E10>
+<U9E11>
+<U9E12>
+<U9E15>
+<U9E16>
+<U9E19>
+<U9E1C>
+<U9E1D>
+<U9E7A>
+<U9E7B>
+<U9E7C>
+<U9E80>
+<U9E82>
+<U9E83>
+<U9E84>
+<U9E85>
+<U9E87>
+<U9E8E>
+<U9E8F>
+<U9E96>
+<U9E98>
+<U9E9B>
+<U9E9E>
+<U9EA4>
+<U9EA8>
+<U9EAC>
+<U9EAE>
+<U9EAF>
+<U9EB0>
+<U9EB3>
+<U9EB4>
+<U9EB5>
+<U9EC6>
+<U9EC8>
+<U9ECB>
+<U9ED5>
+<U9EDF>
+<U9EE4>
+<U9EE7>
+<U9EEC>
+<U9EED>
+<U9EEE>
+<U9EF0>
+<U9EF1>
+<U9EF2>
+<U9EF5>
+<U9EF8>
+<U9EFF>
+<U9F02>
+<U9F03>
+<U9F09>
+<U9F0F>
+<U9F10>
+<U9F11>
+<U9F12>
+<U9F14>
+<U9F16>
+<U9F17>
+<U9F19>
+<U9F1A>
+<U9F1B>
+<U9F1F>
+<U9F22>
+<U9F26>
+<U9F2A>
+<U9F2B>
+<U9F2F>
+<U9F31>
+<U9F32>
+<U9F34>
+<U9F37>
+<U9F39>
+<U9F3A>
+<U9F3C>
+<U9F3D>
+<U9F3F>
+<U9F41>
+<U9F43>
+<U9F44>
+<U9F45>
+<U9F46>
+<U9F47>
+<U9F53>
+<U9F55>
+<U9F56>
+<U9F57>
+<U9F58>
+<U9F5A>
+<U9F5D>
+<U9F5E>
+<U9F68>
+<U9F69>
+<U9F6D>
+<U9F6E>
+<U9F6F>
+<U9F70>
+<U9F71>
+<U9F73>
+<U9F75>
+<U9F7A>
+<U9F7D>
+<U9F8F>
+<U9F90>
+<U9F91>
+<U9F92>
+<U9F94>
+<U9F96>
+<U9F97>
+<U9F9E>
+<U9FA1>
+<U9FA2>
+<U9FA3>
+<U9FA5>
+UNDEFINED
+order_end
diff --git a/ap/build/uClibc/extra/locale/collation/ka_GE b/ap/build/uClibc/extra/locale/collation/ka_GE
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ka_GE
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/kl_GL b/ap/build/uClibc/extra/locale/collation/kl_GL
new file mode 100644
index 0000000..b7628e7
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/kl_GL
@@ -0,0 +1 @@
+copy "da_DK"
diff --git a/ap/build/uClibc/extra/locale/collation/ko_KR b/ap/build/uClibc/extra/locale/collation/ko_KR
new file mode 100644
index 0000000..d9898f1
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ko_KR
@@ -0,0 +1,6010 @@
+order_start forward
+<U0000>
+<U0001>
+<U0002>
+<U0005>
+<U0006>
+<U0007>
+<U0008>
+<U0009>
+<U000A>
+<U000B>
+<U000C>
+<U000D>
+<U000E>
+<U000F>
+<U0010>
+<U0011>
+<U0012>
+<U0013>
+<U0014>
+<U0015>
+<U0016>
+<U0018>
+<U001A>
+<U001B>
+<U001C>
+<U001D>
+<U001E>
+<U001F>
+<U0020>
+<U0021>
+<U0022>
+<U0023>
+<U0024>
+<U0025>
+<U0026>
+<U0027>
+<U0028>
+<U0029>
+<U002A>
+<U002B>
+<U002C>
+<U002D>
+<U002E>
+<U002F>
+<U0030>
+<U0031>
+<U0032>
+<U0033>
+<U0034>
+<U0035>
+<U0036>
+<U0037>
+<U0038>
+<U0039>
+<U003A>
+<U003B>
+<U003C>
+<U003D>
+<U003E>
+<U003F>
+<U0040>
+<U0041>
+<U0042>
+<U0043>
+<U0044>
+<U0045>
+<U0046>
+<U0047>
+<U0048>
+<U0049>
+<U004A>
+<U004B>
+<U004C>
+<U004D>
+<U004E>
+<U004F>
+<U0050>
+<U0051>
+<U0052>
+<U0053>
+<U0054>
+<U0055>
+<U0056>
+<U0057>
+<U0058>
+<U0059>
+<U005A>
+<U005B>
+<U20A9>
+<U005D>
+<U005E>
+<U005F>
+<U0060>
+<U0061>
+<U0062>
+<U0063>
+<U0064>
+<U0065>
+<U0066>
+<U0067>
+<U0068>
+<U0069>
+<U006A>
+<U006B>
+<U006C>
+<U006D>
+<U006E>
+<U006F>
+<U0070>
+<U0071>
+<U0072>
+<U0073>
+<U0074>
+<U0075>
+<U0076>
+<U0077>
+<U0078>
+<U0079>
+<U007A>
+<U007B>
+<U007C>
+<U007D>
+<U007E>
+<U007F>
+<U3000>
+<U3001>
+<U3002>
+<U00B7>
+<U2025>
+<U2026>
+<U00A8>
+<U3003>
+<U00AD>
+<U2015>
+<U2225>
+<UFF3C>
+<U223C>
+<U2018>
+<U2019>
+<U201C>
+<U201D>
+<U3014>
+<U3015>
+<U3008>
+<U3009>
+<U300A>
+<U300B>
+<U300C>
+<U300D>
+<U300E>
+<U300F>
+<U3010>
+<U3011>
+<U00B1>
+<U00D7>
+<U00F7>
+<U2260>
+<U2264>
+<U2265>
+<U221E>
+<U2234>
+<U00B0>
+<U2032>
+<U2033>
+<U2103>
+<U212B>
+<UFFE0>
+<UFFE1>
+<UFFE5>
+<U2642>
+<U2640>
+<U2220>
+<U22A5>
+<U2312>
+<U2202>
+<U2207>
+<U2261>
+<U2252>
+<U00A7>
+<U203B>
+<U2606>
+<U2605>
+<U25CB>
+<U25CF>
+<U25CE>
+<U25C7>
+<U25C6>
+<U25A1>
+<U25A0>
+<U25B3>
+<U25B2>
+<U25BD>
+<U25BC>
+<U2192>
+<U2190>
+<U2191>
+<U2193>
+<U2194>
+<U3013>
+<U226A>
+<U226B>
+<U221A>
+<U223D>
+<U221D>
+<U2235>
+<U222B>
+<U222C>
+<U2208>
+<U220B>
+<U2286>
+<U2287>
+<U2282>
+<U2283>
+<U222A>
+<U2229>
+<U2227>
+<U2228>
+<UFFE2>
+<U21D2>
+<U21D4>
+<U2200>
+<U2203>
+<U00B4>
+<UFF5E>
+<U02C7>
+<U02D8>
+<U02DD>
+<U02DA>
+<U02D9>
+<U00B8>
+<U02DB>
+<U00A1>
+<U00BF>
+<U02D0>
+<U222E>
+<U2211>
+<U220F>
+<U00A4>
+<U2109>
+<U2030>
+<U25C1>
+<U25C0>
+<U25B7>
+<U25B6>
+<U2664>
+<U2660>
+<U2661>
+<U2665>
+<U2667>
+<U2663>
+<U2299>
+<U25C8>
+<U25A3>
+<U25D0>
+<U25D1>
+<U2592>
+<U25A4>
+<U25A5>
+<U25A8>
+<U25A7>
+<U25A6>
+<U25A9>
+<U2668>
+<U260F>
+<U260E>
+<U261C>
+<U261E>
+<U00B6>
+<U2020>
+<U2021>
+<U2195>
+<U2197>
+<U2199>
+<U2196>
+<U2198>
+<U266D>
+<U2669>
+<U266A>
+<U266C>
+<U327F>
+<U321C>
+<U2116>
+<U33C7>
+<U2122>
+<U33C2>
+<U33D8>
+<U2121>
+<UFF01>
+<UFF02>
+<UFF03>
+<UFF04>
+<UFF05>
+<UFF06>
+<UFF07>
+<UFF08>
+<UFF09>
+<UFF0A>
+<UFF0B>
+<UFF0C>
+<UFF0D>
+<UFF0E>
+<UFF0F>
+<UFF10>
+<UFF11>
+<UFF12>
+<UFF13>
+<UFF14>
+<UFF15>
+<UFF16>
+<UFF17>
+<UFF18>
+<UFF19>
+<UFF1A>
+<UFF1B>
+<UFF1C>
+<UFF1D>
+<UFF1E>
+<UFF1F>
+<UFF20>
+<UFF21>
+<UFF22>
+<UFF23>
+<UFF24>
+<UFF25>
+<UFF26>
+<UFF27>
+<UFF28>
+<UFF29>
+<UFF2A>
+<UFF2B>
+<UFF2C>
+<UFF2D>
+<UFF2E>
+<UFF2F>
+<UFF30>
+<UFF31>
+<UFF32>
+<UFF33>
+<UFF34>
+<UFF35>
+<UFF36>
+<UFF37>
+<UFF38>
+<UFF39>
+<UFF3A>
+<UFF3B>
+<UFFE6>
+<UFF3D>
+<UFF3E>
+<UFF3F>
+<UFF40>
+<UFF41>
+<UFF42>
+<UFF43>
+<UFF44>
+<UFF45>
+<UFF46>
+<UFF47>
+<UFF48>
+<UFF49>
+<UFF4A>
+<UFF4B>
+<UFF4C>
+<UFF4D>
+<UFF4E>
+<UFF4F>
+<UFF50>
+<UFF51>
+<UFF52>
+<UFF53>
+<UFF54>
+<UFF55>
+<UFF56>
+<UFF57>
+<UFF58>
+<UFF59>
+<UFF5A>
+<UFF5B>
+<UFF5C>
+<UFF5D>
+<UFFE3>
+<U3131>
+<U3132>
+<U3133>
+<U3134>
+<U3135>
+<U3136>
+<U3137>
+<U3138>
+<U3139>
+<U313A>
+<U313B>
+<U313C>
+<U313D>
+<U313E>
+<U313F>
+<U3140>
+<U3141>
+<U3142>
+<U3143>
+<U3144>
+<U3145>
+<U3146>
+<U3147>
+<U3148>
+<U3149>
+<U314A>
+<U314B>
+<U314C>
+<U314D>
+<U314E>
+<U314F>
+<U3150>
+<U3151>
+<U3152>
+<U3153>
+<U3154>
+<U3155>
+<U3156>
+<U3157>
+<U3158>
+<U3159>
+<U315A>
+<U315B>
+<U315C>
+<U315D>
+<U315E>
+<U315F>
+<U3160>
+<U3161>
+<U3162>
+<U3163>
+<U3164>
+<U3165>
+<U3166>
+<U3167>
+<U3168>
+<U3169>
+<U316A>
+<U316B>
+<U316C>
+<U316D>
+<U316E>
+<U316F>
+<U3170>
+<U3171>
+<U3172>
+<U3173>
+<U3174>
+<U3175>
+<U3176>
+<U3177>
+<U3178>
+<U3179>
+<U317A>
+<U317B>
+<U317C>
+<U317D>
+<U317E>
+<U317F>
+<U3180>
+<U3181>
+<U3182>
+<U3183>
+<U3184>
+<U3185>
+<U3186>
+<U3187>
+<U3188>
+<U3189>
+<U318A>
+<U318B>
+<U318C>
+<U318D>
+<U318E>
+<U2170>
+<U2171>
+<U2172>
+<U2173>
+<U2174>
+<U2175>
+<U2176>
+<U2177>
+<U2178>
+<U2179>
+<U2160>
+<U2161>
+<U2162>
+<U2163>
+<U2164>
+<U2165>
+<U2166>
+<U2167>
+<U2168>
+<U2169>
+<U0391>
+<U0392>
+<U0393>
+<U0394>
+<U0395>
+<U0396>
+<U0397>
+<U0398>
+<U0399>
+<U039A>
+<U039B>
+<U039C>
+<U039D>
+<U039E>
+<U039F>
+<U03A0>
+<U03A1>
+<U03A3>
+<U03A4>
+<U03A5>
+<U03A6>
+<U03A7>
+<U03A8>
+<U03A9>
+<U03B1>
+<U03B2>
+<U03B3>
+<U03B4>
+<U03B5>
+<U03B6>
+<U03B7>
+<U03B8>
+<U03B9>
+<U03BA>
+<U03BB>
+<U03BC>
+<U03BD>
+<U03BE>
+<U03BF>
+<U03C0>
+<U03C1>
+<U03C3>
+<U03C4>
+<U03C5>
+<U03C6>
+<U03C7>
+<U03C8>
+<U03C9>
+<U2500>
+<U2502>
+<U250C>
+<U2510>
+<U2518>
+<U2514>
+<U251C>
+<U252C>
+<U2524>
+<U2534>
+<U253C>
+<U2501>
+<U2503>
+<U250F>
+<U2513>
+<U251B>
+<U2517>
+<U2523>
+<U2533>
+<U252B>
+<U253B>
+<U254B>
+<U2520>
+<U252F>
+<U2528>
+<U2537>
+<U253F>
+<U251D>
+<U2530>
+<U2525>
+<U2538>
+<U2542>
+<U2512>
+<U2511>
+<U251A>
+<U2519>
+<U2516>
+<U2515>
+<U250E>
+<U250D>
+<U251E>
+<U251F>
+<U2521>
+<U2522>
+<U2526>
+<U2527>
+<U2529>
+<U252A>
+<U252D>
+<U252E>
+<U2531>
+<U2532>
+<U2535>
+<U2536>
+<U2539>
+<U253A>
+<U253D>
+<U253E>
+<U2540>
+<U2541>
+<U2543>
+<U2544>
+<U2545>
+<U2546>
+<U2547>
+<U2548>
+<U2549>
+<U254A>
+<U3395>
+<U3396>
+<U3397>
+<U2113>
+<U3398>
+<U33C4>
+<U33A3>
+<U33A4>
+<U33A5>
+<U33A6>
+<U3399>
+<U339A>
+<U339B>
+<U339C>
+<U339D>
+<U339E>
+<U339F>
+<U33A0>
+<U33A1>
+<U33A2>
+<U33CA>
+<U338D>
+<U338E>
+<U338F>
+<U33CF>
+<U3388>
+<U3389>
+<U33C8>
+<U33A7>
+<U33A8>
+<U33B0>
+<U33B1>
+<U33B2>
+<U33B3>
+<U33B4>
+<U33B5>
+<U33B6>
+<U33B7>
+<U33B8>
+<U33B9>
+<U3380>
+<U3381>
+<U3382>
+<U3383>
+<U3384>
+<U33BA>
+<U33BB>
+<U33BC>
+<U33BD>
+<U33BE>
+<U33BF>
+<U3390>
+<U3391>
+<U3392>
+<U3393>
+<U3394>
+<U2126>
+<U33C0>
+<U33C1>
+<U338A>
+<U338B>
+<U338C>
+<U33D6>
+<U33C5>
+<U33AD>
+<U33AE>
+<U33AF>
+<U33DB>
+<U33A9>
+<U33AA>
+<U33AB>
+<U33AC>
+<U33DD>
+<U33D0>
+<U33D3>
+<U33C3>
+<U33C9>
+<U33DC>
+<U33C6>
+<U00C6>
+<U00D0>
+<U00AA>
+<U0126>
+<U0132>
+<U013F>
+<U0141>
+<U00D8>
+<U0152>
+<U00BA>
+<U00DE>
+<U0166>
+<U014A>
+<U3260>
+<U3261>
+<U3262>
+<U3263>
+<U3264>
+<U3265>
+<U3266>
+<U3267>
+<U3268>
+<U3269>
+<U326A>
+<U326B>
+<U326C>
+<U326D>
+<U326E>
+<U326F>
+<U3270>
+<U3271>
+<U3272>
+<U3273>
+<U3274>
+<U3275>
+<U3276>
+<U3277>
+<U3278>
+<U3279>
+<U327A>
+<U327B>
+<U24D0>
+<U24D1>
+<U24D2>
+<U24D3>
+<U24D4>
+<U24D5>
+<U24D6>
+<U24D7>
+<U24D8>
+<U24D9>
+<U24DA>
+<U24DB>
+<U24DC>
+<U24DD>
+<U24DE>
+<U24DF>
+<U24E0>
+<U24E1>
+<U24E2>
+<U24E3>
+<U24E4>
+<U24E5>
+<U24E6>
+<U24E7>
+<U24E8>
+<U24E9>
+<U2460>
+<U2461>
+<U2462>
+<U2463>
+<U2464>
+<U2465>
+<U2466>
+<U2467>
+<U2468>
+<U2469>
+<U246A>
+<U246B>
+<U246C>
+<U246D>
+<U246E>
+<U00BD>
+<U2153>
+<U2154>
+<U00BC>
+<U00BE>
+<U215B>
+<U215C>
+<U215D>
+<U215E>
+<U00E6>
+<U0111>
+<U00F0>
+<U0127>
+<U0131>
+<U0133>
+<U0138>
+<U0140>
+<U0142>
+<U00F8>
+<U0153>
+<U00DF>
+<U00FE>
+<U0167>
+<U014B>
+<U0149>
+<U3200>
+<U3201>
+<U3202>
+<U3203>
+<U3204>
+<U3205>
+<U3206>
+<U3207>
+<U3208>
+<U3209>
+<U320A>
+<U320B>
+<U320C>
+<U320D>
+<U320E>
+<U320F>
+<U3210>
+<U3211>
+<U3212>
+<U3213>
+<U3214>
+<U3215>
+<U3216>
+<U3217>
+<U3218>
+<U3219>
+<U321A>
+<U321B>
+<U249C>
+<U249D>
+<U249E>
+<U249F>
+<U24A0>
+<U24A1>
+<U24A2>
+<U24A3>
+<U24A4>
+<U24A5>
+<U24A6>
+<U24A7>
+<U24A8>
+<U24A9>
+<U24AA>
+<U24AB>
+<U24AC>
+<U24AD>
+<U24AE>
+<U24AF>
+<U24B0>
+<U24B1>
+<U24B2>
+<U24B3>
+<U24B4>
+<U24B5>
+<U2474>
+<U2475>
+<U2476>
+<U2477>
+<U2478>
+<U2479>
+<U247A>
+<U247B>
+<U247C>
+<U247D>
+<U247E>
+<U247F>
+<U2480>
+<U2481>
+<U2482>
+<U00B9>
+<U00B2>
+<U00B3>
+<U2074>
+<U207F>
+<U2081>
+<U2082>
+<U2083>
+<U2084>
+<U3041>
+<U3042>
+<U3043>
+<U3044>
+<U3045>
+<U3046>
+<U3047>
+<U3048>
+<U3049>
+<U304A>
+<U304B>
+<U304C>
+<U304D>
+<U304E>
+<U304F>
+<U3050>
+<U3051>
+<U3052>
+<U3053>
+<U3054>
+<U3055>
+<U3056>
+<U3057>
+<U3058>
+<U3059>
+<U305A>
+<U305B>
+<U305C>
+<U305D>
+<U305E>
+<U305F>
+<U3060>
+<U3061>
+<U3062>
+<U3063>
+<U3064>
+<U3065>
+<U3066>
+<U3067>
+<U3068>
+<U3069>
+<U306A>
+<U306B>
+<U306C>
+<U306D>
+<U306E>
+<U306F>
+<U3070>
+<U3071>
+<U3072>
+<U3073>
+<U3074>
+<U3075>
+<U3076>
+<U3077>
+<U3078>
+<U3079>
+<U307A>
+<U307B>
+<U307C>
+<U307D>
+<U307E>
+<U307F>
+<U3080>
+<U3081>
+<U3082>
+<U3083>
+<U3084>
+<U3085>
+<U3086>
+<U3087>
+<U3088>
+<U3089>
+<U308A>
+<U308B>
+<U308C>
+<U308D>
+<U308E>
+<U308F>
+<U3090>
+<U3091>
+<U3092>
+<U3093>
+<U30A1>
+<U30A2>
+<U30A3>
+<U30A4>
+<U30A5>
+<U30A6>
+<U30A7>
+<U30A8>
+<U30A9>
+<U30AA>
+<U30AB>
+<U30AC>
+<U30AD>
+<U30AE>
+<U30AF>
+<U30B0>
+<U30B1>
+<U30B2>
+<U30B3>
+<U30B4>
+<U30B5>
+<U30B6>
+<U30B7>
+<U30B8>
+<U30B9>
+<U30BA>
+<U30BB>
+<U30BC>
+<U30BD>
+<U30BE>
+<U30BF>
+<U30C0>
+<U30C1>
+<U30C2>
+<U30C3>
+<U30C4>
+<U30C5>
+<U30C6>
+<U30C7>
+<U30C8>
+<U30C9>
+<U30CA>
+<U30CB>
+<U30CC>
+<U30CD>
+<U30CE>
+<U30CF>
+<U30D0>
+<U30D1>
+<U30D2>
+<U30D3>
+<U30D4>
+<U30D5>
+<U30D6>
+<U30D7>
+<U30D8>
+<U30D9>
+<U30DA>
+<U30DB>
+<U30DC>
+<U30DD>
+<U30DE>
+<U30DF>
+<U30E0>
+<U30E1>
+<U30E2>
+<U30E3>
+<U30E4>
+<U30E5>
+<U30E6>
+<U30E7>
+<U30E8>
+<U30E9>
+<U30EA>
+<U30EB>
+<U30EC>
+<U30ED>
+<U30EE>
+<U30EF>
+<U30F0>
+<U30F1>
+<U30F2>
+<U30F3>
+<U30F4>
+<U30F5>
+<U30F6>
+<U0410>
+<U0411>
+<U0412>
+<U0413>
+<U0414>
+<U0415>
+<U0401>
+<U0416>
+<U0417>
+<U0418>
+<U0419>
+<U041A>
+<U041B>
+<U041C>
+<U041D>
+<U041E>
+<U041F>
+<U0420>
+<U0421>
+<U0422>
+<U0423>
+<U0424>
+<U0425>
+<U0426>
+<U0427>
+<U0428>
+<U0429>
+<U042A>
+<U042B>
+<U042C>
+<U042D>
+<U042E>
+<U042F>
+<U0430>
+<U0431>
+<U0432>
+<U0433>
+<U0434>
+<U0435>
+<U0451>
+<U0436>
+<U0437>
+<U0438>
+<U0439>
+<U043A>
+<U043B>
+<U043C>
+<U043D>
+<U043E>
+<U043F>
+<U0440>
+<U0441>
+<U0442>
+<U0443>
+<U0444>
+<U0445>
+<U0446>
+<U0447>
+<U0448>
+<U0449>
+<U044A>
+<U044B>
+<U044C>
+<U044D>
+<U044E>
+<U044F>
+%%%
+% HANGUL SYLLABLES 
+UCLIBC_RANGE <UAC00> <UD7A3>
+#<UAC00>
+#..
+#<UD7A3>
+%%%
+% HANJA. For the moment, Hanjas defined in KS X 1001
+% are enumerated in the order they're listed in KS X 1001. 
+<U4F3D>
+<U4F73>
+<U5047>
+<U50F9>
+<U52A0>
+<U53EF>
+<U5475>
+<U54E5>
+<U5609>
+<U5AC1>
+<U5BB6>
+<U6687>
+<U67B6>
+<U67B7>
+<U67EF>
+<U6B4C>
+<U73C2>
+<U75C2>
+<U7A3C>
+<U82DB>
+<U8304>
+<U8857>
+<U8888>
+<U8A36>
+<U8CC8>
+<U8DCF>
+<U8EFB>
+<U8FE6>
+<U99D5>
+<U523B>
+<U5374>
+<U5404>
+<U606A>
+<U6164>
+<U6BBC>
+<U73CF>
+<U811A>
+<U89BA>
+<U89D2>
+<U95A3>
+<U4F83>
+<U520A>
+<U58BE>
+<U5978>
+<U59E6>
+<U5E72>
+<U5E79>
+<U61C7>
+<U63C0>
+<U6746>
+<U67EC>
+<U687F>
+<U6F97>
+<U764E>
+<U770B>
+<U78F5>
+<U7A08>
+<U7AFF>
+<U7C21>
+<U809D>
+<U826E>
+<U8271>
+<U8AEB>
+<U9593>
+<U4E6B>
+<U559D>
+<U66F7>
+<U6E34>
+<U78A3>
+<U7AED>
+<U845B>
+<U8910>
+<U874E>
+<U97A8>
+<U52D8>
+<U574E>
+<U582A>
+<U5D4C>
+<U611F>
+<U61BE>
+<U6221>
+<U6562>
+<U67D1>
+<U6A44>
+<U6E1B>
+<U7518>
+<U75B3>
+<U76E3>
+<U77B0>
+<U7D3A>
+<U90AF>
+<U9451>
+<U9452>
+<U9F95>
+<U5323>
+<U5CAC>
+<U7532>
+<U80DB>
+<U9240>
+<U9598>
+<U525B>
+<U5808>
+<U59DC>
+<U5CA1>
+<U5D17>
+<U5EB7>
+<U5F3A>
+<U5F4A>
+<U6177>
+<U6C5F>
+<U757A>
+<U7586>
+<U7CE0>
+<U7D73>
+<U7DB1>
+<U7F8C>
+<U8154>
+<U8221>
+<U8591>
+<U8941>
+<U8B1B>
+<U92FC>
+<U964D>
+<U9C47>
+<U4ECB>
+<U4EF7>
+<U500B>
+<U51F1>
+<U584F>
+<U6137>
+<U613E>
+<U6168>
+<U6539>
+<U69EA>
+<U6F11>
+<U75A5>
+<U7686>
+<U76D6>
+<U7B87>
+<U82A5>
+<U84CB>
+<UF900>
+<U93A7>
+<U958B>
+<U5580>
+<U5BA2>
+<U5751>
+<UF901>
+<U7CB3>
+<U7FB9>
+<U91B5>
+<U5028>
+<U53BB>
+<U5C45>
+<U5DE8>
+<U62D2>
+<U636E>
+<U64DA>
+<U64E7>
+<U6E20>
+<U70AC>
+<U795B>
+<U8DDD>
+<U8E1E>
+<UF902>
+<U907D>
+<U9245>
+<U92F8>
+<U4E7E>
+<U4EF6>
+<U5065>
+<U5DFE>
+<U5EFA>
+<U6106>
+<U6957>
+<U8171>
+<U8654>
+<U8E47>
+<U9375>
+<U9A2B>
+<U4E5E>
+<U5091>
+<U6770>
+<U6840>
+<U5109>
+<U528D>
+<U5292>
+<U6AA2>
+<U77BC>
+<U9210>
+<U9ED4>
+<U52AB>
+<U602F>
+<U8FF2>
+<U5048>
+<U61A9>
+<U63ED>
+<U64CA>
+<U683C>
+<U6A84>
+<U6FC0>
+<U8188>
+<U89A1>
+<U9694>
+<U5805>
+<U727D>
+<U72AC>
+<U7504>
+<U7D79>
+<U7E6D>
+<U80A9>
+<U898B>
+<U8B74>
+<U9063>
+<U9D51>
+<U6289>
+<U6C7A>
+<U6F54>
+<U7D50>
+<U7F3A>
+<U8A23>
+<U517C>
+<U614A>
+<U7B9D>
+<U8B19>
+<U9257>
+<U938C>
+<U4EAC>
+<U4FD3>
+<U501E>
+<U50BE>
+<U5106>
+<U52C1>
+<U52CD>
+<U537F>
+<U5770>
+<U5883>
+<U5E9A>
+<U5F91>
+<U6176>
+<U61AC>
+<U64CE>
+<U656C>
+<U666F>
+<U66BB>
+<U66F4>
+<U6897>
+<U6D87>
+<U7085>
+<U70F1>
+<U749F>
+<U74A5>
+<U74CA>
+<U75D9>
+<U786C>
+<U78EC>
+<U7ADF>
+<U7AF6>
+<U7D45>
+<U7D93>
+<U8015>
+<U803F>
+<U811B>
+<U8396>
+<U8B66>
+<U8F15>
+<U9015>
+<U93E1>
+<U9803>
+<U9838>
+<U9A5A>
+<U9BE8>
+<U4FC2>
+<U5553>
+<U583A>
+<U5951>
+<U5B63>
+<U5C46>
+<U60B8>
+<U6212>
+<U6842>
+<U68B0>
+<U68E8>
+<U6EAA>
+<U754C>
+<U7678>
+<U78CE>
+<U7A3D>
+<U7CFB>
+<U7E6B>
+<U7E7C>
+<U8A08>
+<U8AA1>
+<U8C3F>
+<U968E>
+<U9DC4>
+<U53E4>
+<U53E9>
+<U544A>
+<U5471>
+<U56FA>
+<U59D1>
+<U5B64>
+<U5C3B>
+<U5EAB>
+<U62F7>
+<U6537>
+<U6545>
+<U6572>
+<U66A0>
+<U67AF>
+<U69C1>
+<U6CBD>
+<U75FC>
+<U7690>
+<U777E>
+<U7A3F>
+<U7F94>
+<U8003>
+<U80A1>
+<U818F>
+<U82E6>
+<U82FD>
+<U83F0>
+<U85C1>
+<U8831>
+<U88B4>
+<U8AA5>
+<UF903>
+<U8F9C>
+<U932E>
+<U96C7>
+<U9867>
+<U9AD8>
+<U9F13>
+<U54ED>
+<U659B>
+<U66F2>
+<U688F>
+<U7A40>
+<U8C37>
+<U9D60>
+<U56F0>
+<U5764>
+<U5D11>
+<U6606>
+<U68B1>
+<U68CD>
+<U6EFE>
+<U7428>
+<U889E>
+<U9BE4>
+<U6C68>
+<UF904>
+<U9AA8>
+<U4F9B>
+<U516C>
+<U5171>
+<U529F>
+<U5B54>
+<U5DE5>
+<U6050>
+<U606D>
+<U62F1>
+<U63A7>
+<U653B>
+<U73D9>
+<U7A7A>
+<U86A3>
+<U8CA2>
+<U978F>
+<U4E32>
+<U5BE1>
+<U6208>
+<U679C>
+<U74DC>
+<U79D1>
+<U83D3>
+<U8A87>
+<U8AB2>
+<U8DE8>
+<U904E>
+<U934B>
+<U9846>
+<U5ED3>
+<U69E8>
+<U85FF>
+<U90ED>
+<UF905>
+<U51A0>
+<U5B98>
+<U5BEC>
+<U6163>
+<U68FA>
+<U6B3E>
+<U704C>
+<U742F>
+<U74D8>
+<U7BA1>
+<U7F50>
+<U83C5>
+<U89C0>
+<U8CAB>
+<U95DC>
+<U9928>
+<U522E>
+<U605D>
+<U62EC>
+<U9002>
+<U4F8A>
+<U5149>
+<U5321>
+<U58D9>
+<U5EE3>
+<U66E0>
+<U6D38>
+<U709A>
+<U72C2>
+<U73D6>
+<U7B50>
+<U80F1>
+<U945B>
+<U5366>
+<U639B>
+<U7F6B>
+<U4E56>
+<U5080>
+<U584A>
+<U58DE>
+<U602A>
+<U6127>
+<U62D0>
+<U69D0>
+<U9B41>
+<U5B8F>
+<U7D18>
+<U80B1>
+<U8F5F>
+<U4EA4>
+<U50D1>
+<U54AC>
+<U55AC>
+<U5B0C>
+<U5DA0>
+<U5DE7>
+<U652A>
+<U654E>
+<U6821>
+<U6A4B>
+<U72E1>
+<U768E>
+<U77EF>
+<U7D5E>
+<U7FF9>
+<U81A0>
+<U854E>
+<U86DF>
+<U8F03>
+<U8F4E>
+<U90CA>
+<U9903>
+<U9A55>
+<U9BAB>
+<U4E18>
+<U4E45>
+<U4E5D>
+<U4EC7>
+<U4FF1>
+<U5177>
+<U52FE>
+<U5340>
+<U53E3>
+<U53E5>
+<U548E>
+<U5614>
+<U5775>
+<U57A2>
+<U5BC7>
+<U5D87>
+<U5ED0>
+<U61FC>
+<U62D8>
+<U6551>
+<U67B8>
+<U67E9>
+<U69CB>
+<U6B50>
+<U6BC6>
+<U6BEC>
+<U6C42>
+<U6E9D>
+<U7078>
+<U72D7>
+<U7396>
+<U7403>
+<U77BF>
+<U77E9>
+<U7A76>
+<U7D7F>
+<U8009>
+<U81FC>
+<U8205>
+<U820A>
+<U82DF>
+<U8862>
+<U8B33>
+<U8CFC>
+<U8EC0>
+<U9011>
+<U90B1>
+<U9264>
+<U92B6>
+<U99D2>
+<U9A45>
+<U9CE9>
+<U9DD7>
+<U9F9C>
+<U570B>
+<U5C40>
+<U83CA>
+<U97A0>
+<U97AB>
+<U9EB4>
+<U541B>
+<U7A98>
+<U7FA4>
+<U88D9>
+<U8ECD>
+<U90E1>
+<U5800>
+<U5C48>
+<U6398>
+<U7A9F>
+<U5BAE>
+<U5F13>
+<U7A79>
+<U7AAE>
+<U828E>
+<U8EAC>
+<U5026>
+<U5238>
+<U52F8>
+<U5377>
+<U5708>
+<U62F3>
+<U6372>
+<U6B0A>
+<U6DC3>
+<U7737>
+<U53A5>
+<U7357>
+<U8568>
+<U8E76>
+<U95D5>
+<U673A>
+<U6AC3>
+<U6F70>
+<U8A6D>
+<U8ECC>
+<U994B>
+<UF906>
+<U6677>
+<U6B78>
+<U8CB4>
+<U9B3C>
+<UF907>
+<U53EB>
+<U572D>
+<U594E>
+<U63C6>
+<U69FB>
+<U73EA>
+<U7845>
+<U7ABA>
+<U7AC5>
+<U7CFE>
+<U8475>
+<U898F>
+<U8D73>
+<U9035>
+<U95A8>
+<U52FB>
+<U5747>
+<U7547>
+<U7B60>
+<U83CC>
+<U921E>
+<UF908>
+<U6A58>
+<U514B>
+<U524B>
+<U5287>
+<U621F>
+<U68D8>
+<U6975>
+<U9699>
+<U50C5>
+<U52A4>
+<U52E4>
+<U61C3>
+<U65A4>
+<U6839>
+<U69FF>
+<U747E>
+<U7B4B>
+<U82B9>
+<U83EB>
+<U89B2>
+<U8B39>
+<U8FD1>
+<U9949>
+<UF909>
+<U4ECA>
+<U5997>
+<U64D2>
+<U6611>
+<U6A8E>
+<U7434>
+<U7981>
+<U79BD>
+<U82A9>
+<U887E>
+<U887F>
+<U895F>
+<UF90A>
+<U9326>
+<U4F0B>
+<U53CA>
+<U6025>
+<U6271>
+<U6C72>
+<U7D1A>
+<U7D66>
+<U4E98>
+<U5162>
+<U77DC>
+<U80AF>
+<U4F01>
+<U4F0E>
+<U5176>
+<U5180>
+<U55DC>
+<U5668>
+<U573B>
+<U57FA>
+<U57FC>
+<U5914>
+<U5947>
+<U5993>
+<U5BC4>
+<U5C90>
+<U5D0E>
+<U5DF1>
+<U5E7E>
+<U5FCC>
+<U6280>
+<U65D7>
+<U65E3>
+<U671E>
+<U671F>
+<U675E>
+<U68CB>
+<U68C4>
+<U6A5F>
+<U6B3A>
+<U6C23>
+<U6C7D>
+<U6C82>
+<U6DC7>
+<U7398>
+<U7426>
+<U742A>
+<U7482>
+<U74A3>
+<U7578>
+<U757F>
+<U7881>
+<U78EF>
+<U7941>
+<U7947>
+<U7948>
+<U797A>
+<U7B95>
+<U7D00>
+<U7DBA>
+<U7F88>
+<U8006>
+<U802D>
+<U808C>
+<U8A18>
+<U8B4F>
+<U8C48>
+<U8D77>
+<U9321>
+<U9324>
+<U98E2>
+<U9951>
+<U9A0E>
+<U9A0F>
+<U9A65>
+<U9E92>
+<U7DCA>
+<U4F76>
+<U5409>
+<U62EE>
+<U6854>
+<U91D1>
+<U55AB>
+<U513A>
+<UF90B>
+<UF90C>
+<U5A1C>
+<U61E6>
+<UF90D>
+<U62CF>
+<U62FF>
+<UF90E>
+<UF90F>
+<UF910>
+<UF911>
+<UF912>
+<UF913>
+<U90A3>
+<UF914>
+<UF915>
+<UF916>
+<UF917>
+<UF918>
+<U8AFE>
+<UF919>
+<UF91A>
+<UF91B>
+<UF91C>
+<U6696>
+<UF91D>
+<U7156>
+<UF91E>
+<UF91F>
+<U96E3>
+<UF920>
+<U634F>
+<U637A>
+<U5357>
+<UF921>
+<U678F>
+<U6960>
+<U6E73>
+<UF922>
+<U7537>
+<UF923>
+<UF924>
+<UF925>
+<U7D0D>
+<UF926>
+<UF927>
+<U8872>
+<U56CA>
+<U5A18>
+<UF928>
+<UF929>
+<UF92A>
+<UF92B>
+<UF92C>
+<U4E43>
+<UF92D>
+<U5167>
+<U5948>
+<U67F0>
+<U8010>
+<UF92E>
+<U5973>
+<U5E74>
+<U649A>
+<U79CA>
+<U5FF5>
+<U606C>
+<U62C8>
+<U637B>
+<U5BE7>
+<U5BD7>
+<U52AA>
+<UF92F>
+<U5974>
+<U5F29>
+<U6012>
+<UF930>
+<UF931>
+<UF932>
+<U7459>
+<UF933>
+<UF934>
+<UF935>
+<UF936>
+<UF937>
+<UF938>
+<U99D1>
+<UF939>
+<UF93A>
+<UF93B>
+<UF93C>
+<UF93D>
+<UF93E>
+<UF93F>
+<UF940>
+<UF941>
+<UF942>
+<UF943>
+<U6FC3>
+<UF944>
+<UF945>
+<U81BF>
+<U8FB2>
+<U60F1>
+<UF946>
+<UF947>
+<U8166>
+<UF948>
+<UF949>
+<U5C3F>
+<UF94A>
+<UF94B>
+<UF94C>
+<UF94D>
+<UF94E>
+<UF94F>
+<UF950>
+<UF951>
+<U5AE9>
+<U8A25>
+<U677B>
+<U7D10>
+<UF952>
+<UF953>
+<UF954>
+<UF955>
+<UF956>
+<UF957>
+<U80FD>
+<UF958>
+<UF959>
+<U5C3C>
+<U6CE5>
+<U533F>
+<U6EBA>
+<U591A>
+<U8336>
+<U4E39>
+<U4EB6>
+<U4F46>
+<U55AE>
+<U5718>
+<U58C7>
+<U5F56>
+<U65B7>
+<U65E6>
+<U6A80>
+<U6BB5>
+<U6E4D>
+<U77ED>
+<U7AEF>
+<U7C1E>
+<U7DDE>
+<U86CB>
+<U8892>
+<U9132>
+<U935B>
+<U64BB>
+<U6FBE>
+<U737A>
+<U75B8>
+<U9054>
+<U5556>
+<U574D>
+<U61BA>
+<U64D4>
+<U66C7>
+<U6DE1>
+<U6E5B>
+<U6F6D>
+<U6FB9>
+<U75F0>
+<U8043>
+<U81BD>
+<U8541>
+<U8983>
+<U8AC7>
+<U8B5A>
+<U931F>
+<U6C93>
+<U7553>
+<U7B54>
+<U8E0F>
+<U905D>
+<U5510>
+<U5802>
+<U5858>
+<U5E62>
+<U6207>
+<U649E>
+<U68E0>
+<U7576>
+<U7CD6>
+<U87B3>
+<U9EE8>
+<U4EE3>
+<U5788>
+<U576E>
+<U5927>
+<U5C0D>
+<U5CB1>
+<U5E36>
+<U5F85>
+<U6234>
+<U64E1>
+<U73B3>
+<U81FA>
+<U888B>
+<U8CB8>
+<U968A>
+<U9EDB>
+<U5B85>
+<U5FB7>
+<U60B3>
+<U5012>
+<U5200>
+<U5230>
+<U5716>
+<U5835>
+<U5857>
+<U5C0E>
+<U5C60>
+<U5CF6>
+<U5D8B>
+<U5EA6>
+<U5F92>
+<U60BC>
+<U6311>
+<U6389>
+<U6417>
+<U6843>
+<U68F9>
+<U6AC2>
+<U6DD8>
+<U6E21>
+<U6ED4>
+<U6FE4>
+<U71FE>
+<U76DC>
+<U7779>
+<U79B1>
+<U7A3B>
+<U8404>
+<U89A9>
+<U8CED>
+<U8DF3>
+<U8E48>
+<U9003>
+<U9014>
+<U9053>
+<U90FD>
+<U934D>
+<U9676>
+<U97DC>
+<U6BD2>
+<U7006>
+<U7258>
+<U72A2>
+<U7368>
+<U7763>
+<U79BF>
+<U7BE4>
+<U7E9B>
+<U8B80>
+<U58A9>
+<U60C7>
+<U6566>
+<U65FD>
+<U66BE>
+<U6C8C>
+<U711E>
+<U71C9>
+<U8C5A>
+<U9813>
+<U4E6D>
+<U7A81>
+<U4EDD>
+<U51AC>
+<U51CD>
+<U52D5>
+<U540C>
+<U61A7>
+<U6771>
+<U6850>
+<U68DF>
+<U6D1E>
+<U6F7C>
+<U75BC>
+<U77B3>
+<U7AE5>
+<U80F4>
+<U8463>
+<U9285>
+<U515C>
+<U6597>
+<U675C>
+<U6793>
+<U75D8>
+<U7AC7>
+<U8373>
+<UF95A>
+<U8C46>
+<U9017>
+<U982D>
+<U5C6F>
+<U81C0>
+<U829A>
+<U9041>
+<U906F>
+<U920D>
+<U5F97>
+<U5D9D>
+<U6A59>
+<U71C8>
+<U767B>
+<U7B49>
+<U85E4>
+<U8B04>
+<U9127>
+<U9A30>
+<U5587>
+<U61F6>
+<UF95B>
+<U7669>
+<U7F85>
+<U863F>
+<U87BA>
+<U88F8>
+<U908F>
+<UF95C>
+<U6D1B>
+<U70D9>
+<U73DE>
+<U7D61>
+<U843D>
+<UF95D>
+<U916A>
+<U99F1>
+<UF95E>
+<U4E82>
+<U5375>
+<U6B04>
+<U6B12>
+<U703E>
+<U721B>
+<U862D>
+<U9E1E>
+<U524C>
+<U8FA3>
+<U5D50>
+<U64E5>
+<U652C>
+<U6B16>
+<U6FEB>
+<U7C43>
+<U7E9C>
+<U85CD>
+<U8964>
+<U89BD>
+<U62C9>
+<U81D8>
+<U881F>
+<U5ECA>
+<U6717>
+<U6D6A>
+<U72FC>
+<U7405>
+<U746F>
+<U8782>
+<U90DE>
+<U4F86>
+<U5D0D>
+<U5FA0>
+<U840A>
+<U51B7>
+<U63A0>
+<U7565>
+<U4EAE>
+<U5006>
+<U5169>
+<U51C9>
+<U6881>
+<U6A11>
+<U7CAE>
+<U7CB1>
+<U7CE7>
+<U826F>
+<U8AD2>
+<U8F1B>
+<U91CF>
+<U4FB6>
+<U5137>
+<U52F5>
+<U5442>
+<U5EEC>
+<U616E>
+<U623E>
+<U65C5>
+<U6ADA>
+<U6FFE>
+<U792A>
+<U85DC>
+<U8823>
+<U95AD>
+<U9A62>
+<U9A6A>
+<U9E97>
+<U9ECE>
+<U529B>
+<U66C6>
+<U6B77>
+<U701D>
+<U792B>
+<U8F62>
+<U9742>
+<U6190>
+<U6200>
+<U6523>
+<U6F23>
+<U7149>
+<U7489>
+<U7DF4>
+<U806F>
+<U84EE>
+<U8F26>
+<U9023>
+<U934A>
+<U51BD>
+<U5217>
+<U52A3>
+<U6D0C>
+<U70C8>
+<U88C2>
+<U5EC9>
+<U6582>
+<U6BAE>
+<U6FC2>
+<U7C3E>
+<U7375>
+<U4EE4>
+<U4F36>
+<U56F9>
+<UF95F>
+<U5CBA>
+<U5DBA>
+<U601C>
+<U73B2>
+<U7B2D>
+<U7F9A>
+<U7FCE>
+<U8046>
+<U901E>
+<U9234>
+<U96F6>
+<U9748>
+<U9818>
+<U9F61>
+<U4F8B>
+<U6FA7>
+<U79AE>
+<U91B4>
+<U96B7>
+<U52DE>
+<UF960>
+<U6488>
+<U64C4>
+<U6AD3>
+<U6F5E>
+<U7018>
+<U7210>
+<U76E7>
+<U8001>
+<U8606>
+<U865C>
+<U8DEF>
+<U8F05>
+<U9732>
+<U9B6F>
+<U9DFA>
+<U9E75>
+<U788C>
+<U797F>
+<U7DA0>
+<U83C9>
+<U9304>
+<U9E7F>
+<U9E93>
+<U8AD6>
+<U58DF>
+<U5F04>
+<U6727>
+<U7027>
+<U74CF>
+<U7C60>
+<U807E>
+<U5121>
+<U7028>
+<U7262>
+<U78CA>
+<U8CC2>
+<U8CDA>
+<U8CF4>
+<U96F7>
+<U4E86>
+<U50DA>
+<U5BEE>
+<U5ED6>
+<U6599>
+<U71CE>
+<U7642>
+<U77AD>
+<U804A>
+<U84FC>
+<U907C>
+<U9B27>
+<U9F8D>
+<U58D8>
+<U5A41>
+<U5C62>
+<U6A13>
+<U6DDA>
+<U6F0F>
+<U763B>
+<U7D2F>
+<U7E37>
+<U851E>
+<U8938>
+<U93E4>
+<U964B>
+<U5289>
+<U65D2>
+<U67F3>
+<U69B4>
+<U6D41>
+<U6E9C>
+<U700F>
+<U7409>
+<U7460>
+<U7559>
+<U7624>
+<U786B>
+<U8B2C>
+<U985E>
+<U516D>
+<U622E>
+<U9678>
+<U4F96>
+<U502B>
+<U5D19>
+<U6DEA>
+<U7DB8>
+<U8F2A>
+<U5F8B>
+<U6144>
+<U6817>
+<UF961>
+<U9686>
+<U52D2>
+<U808B>
+<U51DC>
+<U51CC>
+<U695E>
+<U7A1C>
+<U7DBE>
+<U83F1>
+<U9675>
+<U4FDA>
+<U5229>
+<U5398>
+<U540F>
+<U550E>
+<U5C65>
+<U60A7>
+<U674E>
+<U68A8>
+<U6D6C>
+<U7281>
+<U72F8>
+<U7406>
+<U7483>
+<UF962>
+<U75E2>
+<U7C6C>
+<U7F79>
+<U7FB8>
+<U8389>
+<U88CF>
+<U88E1>
+<U91CC>
+<U91D0>
+<U96E2>
+<U9BC9>
+<U541D>
+<U6F7E>
+<U71D0>
+<U7498>
+<U85FA>
+<U8EAA>
+<U96A3>
+<U9C57>
+<U9E9F>
+<U6797>
+<U6DCB>
+<U7433>
+<U81E8>
+<U9716>
+<U782C>
+<U7ACB>
+<U7B20>
+<U7C92>
+<U6469>
+<U746A>
+<U75F2>
+<U78BC>
+<U78E8>
+<U99AC>
+<U9B54>
+<U9EBB>
+<U5BDE>
+<U5E55>
+<U6F20>
+<U819C>
+<U83AB>
+<U9088>
+<U4E07>
+<U534D>
+<U5A29>
+<U5DD2>
+<U5F4E>
+<U6162>
+<U633D>
+<U6669>
+<U66FC>
+<U6EFF>
+<U6F2B>
+<U7063>
+<U779E>
+<U842C>
+<U8513>
+<U883B>
+<U8F13>
+<U9945>
+<U9C3B>
+<U551C>
+<U62B9>
+<U672B>
+<U6CAB>
+<U8309>
+<U896A>
+<U977A>
+<U4EA1>
+<U5984>
+<U5FD8>
+<U5FD9>
+<U671B>
+<U7DB2>
+<U7F54>
+<U8292>
+<U832B>
+<U83BD>
+<U8F1E>
+<U9099>
+<U57CB>
+<U59B9>
+<U5A92>
+<U5BD0>
+<U6627>
+<U679A>
+<U6885>
+<U6BCF>
+<U7164>
+<U7F75>
+<U8CB7>
+<U8CE3>
+<U9081>
+<U9B45>
+<U8108>
+<U8C8A>
+<U964C>
+<U9A40>
+<U9EA5>
+<U5B5F>
+<U6C13>
+<U731B>
+<U76F2>
+<U76DF>
+<U840C>
+<U51AA>
+<U8993>
+<U514D>
+<U5195>
+<U52C9>
+<U68C9>
+<U6C94>
+<U7704>
+<U7720>
+<U7DBF>
+<U7DEC>
+<U9762>
+<U9EB5>
+<U6EC5>
+<U8511>
+<U51A5>
+<U540D>
+<U547D>
+<U660E>
+<U669D>
+<U6927>
+<U6E9F>
+<U76BF>
+<U7791>
+<U8317>
+<U84C2>
+<U879F>
+<U9169>
+<U9298>
+<U9CF4>
+<U8882>
+<U4FAE>
+<U5192>
+<U52DF>
+<U59C6>
+<U5E3D>
+<U6155>
+<U6478>
+<U6479>
+<U66AE>
+<U67D0>
+<U6A21>
+<U6BCD>
+<U6BDB>
+<U725F>
+<U7261>
+<U7441>
+<U7738>
+<U77DB>
+<U8017>
+<U82BC>
+<U8305>
+<U8B00>
+<U8B28>
+<U8C8C>
+<U6728>
+<U6C90>
+<U7267>
+<U76EE>
+<U7766>
+<U7A46>
+<U9DA9>
+<U6B7F>
+<U6C92>
+<U5922>
+<U6726>
+<U8499>
+<U536F>
+<U5893>
+<U5999>
+<U5EDF>
+<U63CF>
+<U6634>
+<U6773>
+<U6E3A>
+<U732B>
+<U7AD7>
+<U82D7>
+<U9328>
+<U52D9>
+<U5DEB>
+<U61AE>
+<U61CB>
+<U620A>
+<U62C7>
+<U64AB>
+<U65E0>
+<U6959>
+<U6B66>
+<U6BCB>
+<U7121>
+<U73F7>
+<U755D>
+<U7E46>
+<U821E>
+<U8302>
+<U856A>
+<U8AA3>
+<U8CBF>
+<U9727>
+<U9D61>
+<U58A8>
+<U9ED8>
+<U5011>
+<U520E>
+<U543B>
+<U554F>
+<U6587>
+<U6C76>
+<U7D0A>
+<U7D0B>
+<U805E>
+<U868A>
+<U9580>
+<U96EF>
+<U52FF>
+<U6C95>
+<U7269>
+<U5473>
+<U5A9A>
+<U5C3E>
+<U5D4B>
+<U5F4C>
+<U5FAE>
+<U672A>
+<U68B6>
+<U6963>
+<U6E3C>
+<U6E44>
+<U7709>
+<U7C73>
+<U7F8E>
+<U8587>
+<U8B0E>
+<U8FF7>
+<U9761>
+<U9EF4>
+<U5CB7>
+<U60B6>
+<U610D>
+<U61AB>
+<U654F>
+<U65FB>
+<U65FC>
+<U6C11>
+<U6CEF>
+<U739F>
+<U73C9>
+<U7DE1>
+<U9594>
+<U5BC6>
+<U871C>
+<U8B10>
+<U525D>
+<U535A>
+<U62CD>
+<U640F>
+<U64B2>
+<U6734>
+<U6A38>
+<U6CCA>
+<U73C0>
+<U749E>
+<U7B94>
+<U7C95>
+<U7E1B>
+<U818A>
+<U8236>
+<U8584>
+<U8FEB>
+<U96F9>
+<U99C1>
+<U4F34>
+<U534A>
+<U53CD>
+<U53DB>
+<U62CC>
+<U642C>
+<U6500>
+<U6591>
+<U69C3>
+<U6CEE>
+<U6F58>
+<U73ED>
+<U7554>
+<U7622>
+<U76E4>
+<U76FC>
+<U78D0>
+<U78FB>
+<U792C>
+<U7D46>
+<U822C>
+<U87E0>
+<U8FD4>
+<U9812>
+<U98EF>
+<U52C3>
+<U62D4>
+<U64A5>
+<U6E24>
+<U6F51>
+<U767C>
+<U8DCB>
+<U91B1>
+<U9262>
+<U9AEE>
+<U9B43>
+<U5023>
+<U508D>
+<U574A>
+<U59A8>
+<U5C28>
+<U5E47>
+<U5F77>
+<U623F>
+<U653E>
+<U65B9>
+<U65C1>
+<U6609>
+<U678B>
+<U699C>
+<U6EC2>
+<U78C5>
+<U7D21>
+<U80AA>
+<U8180>
+<U822B>
+<U82B3>
+<U84A1>
+<U868C>
+<U8A2A>
+<U8B17>
+<U90A6>
+<U9632>
+<U9F90>
+<U500D>
+<U4FF3>
+<UF963>
+<U57F9>
+<U5F98>
+<U62DC>
+<U6392>
+<U676F>
+<U6E43>
+<U7119>
+<U76C3>
+<U80CC>
+<U80DA>
+<U88F4>
+<U88F5>
+<U8919>
+<U8CE0>
+<U8F29>
+<U914D>
+<U966A>
+<U4F2F>
+<U4F70>
+<U5E1B>
+<U67CF>
+<U6822>
+<U767D>
+<U767E>
+<U9B44>
+<U5E61>
+<U6A0A>
+<U7169>
+<U71D4>
+<U756A>
+<UF964>
+<U7E41>
+<U8543>
+<U85E9>
+<U98DC>
+<U4F10>
+<U7B4F>
+<U7F70>
+<U95A5>
+<U51E1>
+<U5E06>
+<U68B5>
+<U6C3E>
+<U6C4E>
+<U6CDB>
+<U72AF>
+<U7BC4>
+<U8303>
+<U6CD5>
+<U743A>
+<U50FB>
+<U5288>
+<U58C1>
+<U64D8>
+<U6A97>
+<U74A7>
+<U7656>
+<U78A7>
+<U8617>
+<U95E2>
+<U9739>
+<UF965>
+<U535E>
+<U5F01>
+<U8B8A>
+<U8FA8>
+<U8FAF>
+<U908A>
+<U5225>
+<U77A5>
+<U9C49>
+<U9F08>
+<U4E19>
+<U5002>
+<U5175>
+<U5C5B>
+<U5E77>
+<U661E>
+<U663A>
+<U67C4>
+<U68C5>
+<U70B3>
+<U7501>
+<U75C5>
+<U79C9>
+<U7ADD>
+<U8F27>
+<U9920>
+<U9A08>
+<U4FDD>
+<U5821>
+<U5831>
+<U5BF6>
+<U666E>
+<U6B65>
+<U6D11>
+<U6E7A>
+<U6F7D>
+<U73E4>
+<U752B>
+<U83E9>
+<U88DC>
+<U8913>
+<U8B5C>
+<U8F14>
+<U4F0F>
+<U50D5>
+<U5310>
+<U535C>
+<U5B93>
+<U5FA9>
+<U670D>
+<U798F>
+<U8179>
+<U832F>
+<U8514>
+<U8907>
+<U8986>
+<U8F39>
+<U8F3B>
+<U99A5>
+<U9C12>
+<U672C>
+<U4E76>
+<U4FF8>
+<U5949>
+<U5C01>
+<U5CEF>
+<U5CF0>
+<U6367>
+<U68D2>
+<U70FD>
+<U71A2>
+<U742B>
+<U7E2B>
+<U84EC>
+<U8702>
+<U9022>
+<U92D2>
+<U9CF3>
+<U4E0D>
+<U4ED8>
+<U4FEF>
+<U5085>
+<U5256>
+<U526F>
+<U5426>
+<U5490>
+<U57E0>
+<U592B>
+<U5A66>
+<U5B5A>
+<U5B75>
+<U5BCC>
+<U5E9C>
+<UF966>
+<U6276>
+<U6577>
+<U65A7>
+<U6D6E>
+<U6EA5>
+<U7236>
+<U7B26>
+<U7C3F>
+<U7F36>
+<U8150>
+<U8151>
+<U819A>
+<U8240>
+<U8299>
+<U83A9>
+<U8A03>
+<U8CA0>
+<U8CE6>
+<U8CFB>
+<U8D74>
+<U8DBA>
+<U90E8>
+<U91DC>
+<U961C>
+<U9644>
+<U99D9>
+<U9CE7>
+<U5317>
+<U5206>
+<U5429>
+<U5674>
+<U58B3>
+<U5954>
+<U596E>
+<U5FFF>
+<U61A4>
+<U626E>
+<U6610>
+<U6C7E>
+<U711A>
+<U76C6>
+<U7C89>
+<U7CDE>
+<U7D1B>
+<U82AC>
+<U8CC1>
+<U96F0>
+<UF967>
+<U4F5B>
+<U5F17>
+<U5F7F>
+<U62C2>
+<U5D29>
+<U670B>
+<U68DA>
+<U787C>
+<U7E43>
+<U9D6C>
+<U4E15>
+<U5099>
+<U5315>
+<U532A>
+<U5351>
+<U5983>
+<U5A62>
+<U5E87>
+<U60B2>
+<U618A>
+<U6249>
+<U6279>
+<U6590>
+<U6787>
+<U69A7>
+<U6BD4>
+<U6BD6>
+<U6BD7>
+<U6BD8>
+<U6CB8>
+<UF968>
+<U7435>
+<U75FA>
+<U7812>
+<U7891>
+<U79D5>
+<U79D8>
+<U7C83>
+<U7DCB>
+<U7FE1>
+<U80A5>
+<U813E>
+<U81C2>
+<U83F2>
+<U871A>
+<U88E8>
+<U8AB9>
+<U8B6C>
+<U8CBB>
+<U9119>
+<U975E>
+<U98DB>
+<U9F3B>
+<U56AC>
+<U5B2A>
+<U5F6C>
+<U658C>
+<U6AB3>
+<U6BAF>
+<U6D5C>
+<U6FF1>
+<U7015>
+<U725D>
+<U73AD>
+<U8CA7>
+<U8CD3>
+<U983B>
+<U6191>
+<U6C37>
+<U8058>
+<U9A01>
+<U4E4D>
+<U4E8B>
+<U4E9B>
+<U4ED5>
+<U4F3A>
+<U4F3C>
+<U4F7F>
+<U4FDF>
+<U50FF>
+<U53F2>
+<U53F8>
+<U5506>
+<U55E3>
+<U56DB>
+<U58EB>
+<U5962>
+<U5A11>
+<U5BEB>
+<U5BFA>
+<U5C04>
+<U5DF3>
+<U5E2B>
+<U5F99>
+<U601D>
+<U6368>
+<U659C>
+<U65AF>
+<U67F6>
+<U67FB>
+<U68AD>
+<U6B7B>
+<U6C99>
+<U6CD7>
+<U6E23>
+<U7009>
+<U7345>
+<U7802>
+<U793E>
+<U7940>
+<U7960>
+<U79C1>
+<U7BE9>
+<U7D17>
+<U7D72>
+<U8086>
+<U820D>
+<U838E>
+<U84D1>
+<U86C7>
+<U88DF>
+<U8A50>
+<U8A5E>
+<U8B1D>
+<U8CDC>
+<U8D66>
+<U8FAD>
+<U90AA>
+<U98FC>
+<U99DF>
+<U9E9D>
+<U524A>
+<UF969>
+<U6714>
+<UF96A>
+<U5098>
+<U522A>
+<U5C71>
+<U6563>
+<U6C55>
+<U73CA>
+<U7523>
+<U759D>
+<U7B97>
+<U849C>
+<U9178>
+<U9730>
+<U4E77>
+<U6492>
+<U6BBA>
+<U715E>
+<U85A9>
+<U4E09>
+<UF96B>
+<U6749>
+<U68EE>
+<U6E17>
+<U829F>
+<U8518>
+<U886B>
+<U63F7>
+<U6F81>
+<U9212>
+<U98AF>
+<U4E0A>
+<U50B7>
+<U50CF>
+<U511F>
+<U5546>
+<U55AA>
+<U5617>
+<U5B40>
+<U5C19>
+<U5CE0>
+<U5E38>
+<U5E8A>
+<U5EA0>
+<U5EC2>
+<U60F3>
+<U6851>
+<U6A61>
+<U6E58>
+<U723D>
+<U7240>
+<U72C0>
+<U76F8>
+<U7965>
+<U7BB1>
+<U7FD4>
+<U88F3>
+<U89F4>
+<U8A73>
+<U8C61>
+<U8CDE>
+<U971C>
+<U585E>
+<U74BD>
+<U8CFD>
+<U55C7>
+<UF96C>
+<U7A61>
+<U7D22>
+<U8272>
+<U7272>
+<U751F>
+<U7525>
+<UF96D>
+<U7B19>
+<U5885>
+<U58FB>
+<U5DBC>
+<U5E8F>
+<U5EB6>
+<U5F90>
+<U6055>
+<U6292>
+<U637F>
+<U654D>
+<U6691>
+<U66D9>
+<U66F8>
+<U6816>
+<U68F2>
+<U7280>
+<U745E>
+<U7B6E>
+<U7D6E>
+<U7DD6>
+<U7F72>
+<U80E5>
+<U8212>
+<U85AF>
+<U897F>
+<U8A93>
+<U901D>
+<U92E4>
+<U9ECD>
+<U9F20>
+<U5915>
+<U596D>
+<U5E2D>
+<U60DC>
+<U6614>
+<U6673>
+<U6790>
+<U6C50>
+<U6DC5>
+<U6F5F>
+<U77F3>
+<U78A9>
+<U84C6>
+<U91CB>
+<U932B>
+<U4ED9>
+<U50CA>
+<U5148>
+<U5584>
+<U5B0B>
+<U5BA3>
+<U6247>
+<U657E>
+<U65CB>
+<U6E32>
+<U717D>
+<U7401>
+<U7444>
+<U7487>
+<U74BF>
+<U766C>
+<U79AA>
+<U7DDA>
+<U7E55>
+<U7FA8>
+<U817A>
+<U81B3>
+<U8239>
+<U861A>
+<U87EC>
+<U8A75>
+<U8DE3>
+<U9078>
+<U9291>
+<U9425>
+<U994D>
+<U9BAE>
+<U5368>
+<U5C51>
+<U6954>
+<U6CC4>
+<U6D29>
+<U6E2B>
+<U820C>
+<U859B>
+<U893B>
+<U8A2D>
+<U8AAA>
+<U96EA>
+<U9F67>
+<U5261>
+<U66B9>
+<U6BB2>
+<U7E96>
+<U87FE>
+<U8D0D>
+<U9583>
+<U965D>
+<U651D>
+<U6D89>
+<U71EE>
+<UF96E>
+<U57CE>
+<U59D3>
+<U5BAC>
+<U6027>
+<U60FA>
+<U6210>
+<U661F>
+<U665F>
+<U7329>
+<U73F9>
+<U76DB>
+<U7701>
+<U7B6C>
+<U8056>
+<U8072>
+<U8165>
+<U8AA0>
+<U9192>
+<U4E16>
+<U52E2>
+<U6B72>
+<U6D17>
+<U7A05>
+<U7B39>
+<U7D30>
+<UF96F>
+<U8CB0>
+<U53EC>
+<U562F>
+<U5851>
+<U5BB5>
+<U5C0F>
+<U5C11>
+<U5DE2>
+<U6240>
+<U6383>
+<U6414>
+<U662D>
+<U68B3>
+<U6CBC>
+<U6D88>
+<U6EAF>
+<U701F>
+<U70A4>
+<U71D2>
+<U7526>
+<U758F>
+<U758E>
+<U7619>
+<U7B11>
+<U7BE0>
+<U7C2B>
+<U7D20>
+<U7D39>
+<U852C>
+<U856D>
+<U8607>
+<U8A34>
+<U900D>
+<U9061>
+<U90B5>
+<U92B7>
+<U97F6>
+<U9A37>
+<U4FD7>
+<U5C6C>
+<U675F>
+<U6D91>
+<U7C9F>
+<U7E8C>
+<U8B16>
+<U8D16>
+<U901F>
+<U5B6B>
+<U5DFD>
+<U640D>
+<U84C0>
+<U905C>
+<U98E1>
+<U7387>
+<U5B8B>
+<U609A>
+<U677E>
+<U6DDE>
+<U8A1F>
+<U8AA6>
+<U9001>
+<U980C>
+<U5237>
+<UF970>
+<U7051>
+<U788E>
+<U9396>
+<U8870>
+<U91D7>
+<U4FEE>
+<U53D7>
+<U55FD>
+<U56DA>
+<U5782>
+<U58FD>
+<U5AC2>
+<U5B88>
+<U5CAB>
+<U5CC0>
+<U5E25>
+<U6101>
+<U620D>
+<U624B>
+<U6388>
+<U641C>
+<U6536>
+<U6578>
+<U6A39>
+<U6B8A>
+<U6C34>
+<U6D19>
+<U6F31>
+<U71E7>
+<U72E9>
+<U7378>
+<U7407>
+<U74B2>
+<U7626>
+<U7761>
+<U79C0>
+<U7A57>
+<U7AEA>
+<U7CB9>
+<U7D8F>
+<U7DAC>
+<U7E61>
+<U7F9E>
+<U8129>
+<U8331>
+<U8490>
+<U84DA>
+<U85EA>
+<U8896>
+<U8AB0>
+<U8B90>
+<U8F38>
+<U9042>
+<U9083>
+<U916C>
+<U9296>
+<U92B9>
+<U968B>
+<U96A7>
+<U96A8>
+<U96D6>
+<U9700>
+<U9808>
+<U9996>
+<U9AD3>
+<U9B1A>
+<U53D4>
+<U587E>
+<U5919>
+<U5B70>
+<U5BBF>
+<U6DD1>
+<U6F5A>
+<U719F>
+<U7421>
+<U74B9>
+<U8085>
+<U83FD>
+<U5DE1>
+<U5F87>
+<U5FAA>
+<U6042>
+<U65EC>
+<U6812>
+<U696F>
+<U6A53>
+<U6B89>
+<U6D35>
+<U6DF3>
+<U73E3>
+<U76FE>
+<U77AC>
+<U7B4D>
+<U7D14>
+<U8123>
+<U821C>
+<U8340>
+<U84F4>
+<U8563>
+<U8A62>
+<U8AC4>
+<U9187>
+<U931E>
+<U9806>
+<U99B4>
+<U620C>
+<U8853>
+<U8FF0>
+<U9265>
+<U5D07>
+<U5D27>
+<U5D69>
+<U745F>
+<U819D>
+<U8768>
+<U6FD5>
+<U62FE>
+<U7FD2>
+<U8936>
+<U8972>
+<U4E1E>
+<U4E58>
+<U50E7>
+<U52DD>
+<U5347>
+<U627F>
+<U6607>
+<U7E69>
+<U8805>
+<U965E>
+<U4F8D>
+<U5319>
+<U5636>
+<U59CB>
+<U5AA4>
+<U5C38>
+<U5C4E>
+<U5C4D>
+<U5E02>
+<U5F11>
+<U6043>
+<U65BD>
+<U662F>
+<U6642>
+<U67BE>
+<U67F4>
+<U731C>
+<U77E2>
+<U793A>
+<U7FC5>
+<U8494>
+<U84CD>
+<U8996>
+<U8A66>
+<U8A69>
+<U8AE1>
+<U8C55>
+<U8C7A>
+<U57F4>
+<U5BD4>
+<U5F0F>
+<U606F>
+<U62ED>
+<U690D>
+<U6B96>
+<U6E5C>
+<U7184>
+<U7BD2>
+<U8755>
+<U8B58>
+<U8EFE>
+<U98DF>
+<U98FE>
+<U4F38>
+<U4F81>
+<U4FE1>
+<U547B>
+<U5A20>
+<U5BB8>
+<U613C>
+<U65B0>
+<U6668>
+<U71FC>
+<U7533>
+<U795E>
+<U7D33>
+<U814E>
+<U81E3>
+<U8398>
+<U85AA>
+<U85CE>
+<U8703>
+<U8A0A>
+<U8EAB>
+<U8F9B>
+<UF971>
+<U8FC5>
+<U5931>
+<U5BA4>
+<U5BE6>
+<U6089>
+<U5BE9>
+<U5C0B>
+<U5FC3>
+<U6C81>
+<UF972>
+<U6DF1>
+<U700B>
+<U751A>
+<U82AF>
+<U8AF6>
+<U4EC0>
+<U5341>
+<UF973>
+<U96D9>
+<U6C0F>
+<U4E9E>
+<U4FC4>
+<U5152>
+<U555E>
+<U5A25>
+<U5CE8>
+<U6211>
+<U7259>
+<U82BD>
+<U83AA>
+<U86FE>
+<U8859>
+<U8A1D>
+<U963F>
+<U96C5>
+<U9913>
+<U9D09>
+<U9D5D>
+<U580A>
+<U5CB3>
+<U5DBD>
+<U5E44>
+<U60E1>
+<U6115>
+<U63E1>
+<U6A02>
+<U6E25>
+<U9102>
+<U9354>
+<U984E>
+<U9C10>
+<U9F77>
+<U5B89>
+<U5CB8>
+<U6309>
+<U664F>
+<U6848>
+<U773C>
+<U96C1>
+<U978D>
+<U9854>
+<U9B9F>
+<U65A1>
+<U8B01>
+<U8ECB>
+<U95BC>
+<U5535>
+<U5CA9>
+<U5DD6>
+<U5EB5>
+<U6697>
+<U764C>
+<U83F4>
+<U95C7>
+<U58D3>
+<U62BC>
+<U72CE>
+<U9D28>
+<U4EF0>
+<U592E>
+<U600F>
+<U663B>
+<U6B83>
+<U79E7>
+<U9D26>
+<U5393>
+<U54C0>
+<U57C3>
+<U5D16>
+<U611B>
+<U66D6>
+<U6DAF>
+<U788D>
+<U827E>
+<U9698>
+<U9744>
+<U5384>
+<U627C>
+<U6396>
+<U6DB2>
+<U7E0A>
+<U814B>
+<U984D>
+<U6AFB>
+<U7F4C>
+<U9DAF>
+<U9E1A>
+<U4E5F>
+<U503B>
+<U51B6>
+<U591C>
+<U60F9>
+<U63F6>
+<U6930>
+<U723A>
+<U8036>
+<UF974>
+<U91CE>
+<U5F31>
+<UF975>
+<UF976>
+<U7D04>
+<U82E5>
+<U846F>
+<U84BB>
+<U85E5>
+<U8E8D>
+<UF977>
+<U4F6F>
+<UF978>
+<UF979>
+<U58E4>
+<U5B43>
+<U6059>
+<U63DA>
+<U6518>
+<U656D>
+<U6698>
+<UF97A>
+<U694A>
+<U6A23>
+<U6D0B>
+<U7001>
+<U716C>
+<U75D2>
+<U760D>
+<U79B3>
+<U7A70>
+<UF97B>
+<U7F8A>
+<UF97C>
+<U8944>
+<UF97D>
+<U8B93>
+<U91C0>
+<U967D>
+<UF97E>
+<U990A>
+<U5704>
+<U5FA1>
+<U65BC>
+<U6F01>
+<U7600>
+<U79A6>
+<U8A9E>
+<U99AD>
+<U9B5A>
+<U9F6C>
+<U5104>
+<U61B6>
+<U6291>
+<U6A8D>
+<U81C6>
+<U5043>
+<U5830>
+<U5F66>
+<U7109>
+<U8A00>
+<U8AFA>
+<U5B7C>
+<U8616>
+<U4FFA>
+<U513C>
+<U56B4>
+<U5944>
+<U63A9>
+<U6DF9>
+<U5DAA>
+<U696D>
+<U5186>
+<U4E88>
+<U4F59>
+<UF97F>
+<UF980>
+<UF981>
+<U5982>
+<UF982>
+<UF983>
+<U6B5F>
+<U6C5D>
+<UF984>
+<U74B5>
+<U7916>
+<UF985>
+<U8207>
+<U8245>
+<U8339>
+<U8F3F>
+<U8F5D>
+<UF986>
+<U9918>
+<UF987>
+<UF988>
+<UF989>
+<U4EA6>
+<UF98A>
+<U57DF>
+<U5F79>
+<U6613>
+<UF98B>
+<UF98C>
+<U75AB>
+<U7E79>
+<U8B6F>
+<UF98D>
+<U9006>
+<U9A5B>
+<U56A5>
+<U5827>
+<U59F8>
+<U5A1F>
+<U5BB4>
+<UF98E>
+<U5EF6>
+<UF98F>
+<UF990>
+<U6350>
+<U633B>
+<UF991>
+<U693D>
+<U6C87>
+<U6CBF>
+<U6D8E>
+<U6D93>
+<U6DF5>
+<U6F14>
+<UF992>
+<U70DF>
+<U7136>
+<U7159>
+<UF993>
+<U71C3>
+<U71D5>
+<UF994>
+<U784F>
+<U786F>
+<UF995>
+<U7B75>
+<U7DE3>
+<UF996>
+<U7E2F>
+<UF997>
+<U884D>
+<U8EDF>
+<UF998>
+<UF999>
+<UF99A>
+<U925B>
+<UF99B>
+<U9CF6>
+<UF99C>
+<UF99D>
+<UF99E>
+<U6085>
+<U6D85>
+<UF99F>
+<U71B1>
+<UF9A0>
+<UF9A1>
+<U95B1>
+<U53AD>
+<UF9A2>
+<UF9A3>
+<UF9A4>
+<U67D3>
+<UF9A5>
+<U708E>
+<U7130>
+<U7430>
+<U8276>
+<U82D2>
+<UF9A6>
+<U95BB>
+<U9AE5>
+<U9E7D>
+<U66C4>
+<UF9A7>
+<U71C1>
+<U8449>
+<UF9A8>
+<UF9A9>
+<U584B>
+<UF9AA>
+<UF9AB>
+<U5DB8>
+<U5F71>
+<UF9AC>
+<U6620>
+<U668E>
+<U6979>
+<U69AE>
+<U6C38>
+<U6CF3>
+<U6E36>
+<U6F41>
+<U6FDA>
+<U701B>
+<U702F>
+<U7150>
+<U71DF>
+<U7370>
+<UF9AD>
+<U745B>
+<UF9AE>
+<U74D4>
+<U76C8>
+<U7A4E>
+<U7E93>
+<UF9AF>
+<UF9B0>
+<U82F1>
+<U8A60>
+<U8FCE>
+<UF9B1>
+<U9348>
+<UF9B2>
+<U9719>
+<UF9B3>
+<UF9B4>
+<U4E42>
+<U502A>
+<UF9B5>
+<U5208>
+<U53E1>
+<U66F3>
+<U6C6D>
+<U6FCA>
+<U730A>
+<U777F>
+<U7A62>
+<U82AE>
+<U85DD>
+<U8602>
+<UF9B6>
+<U88D4>
+<U8A63>
+<U8B7D>
+<U8C6B>
+<UF9B7>
+<U92B3>
+<UF9B8>
+<U9713>
+<U9810>
+<U4E94>
+<U4F0D>
+<U4FC9>
+<U50B2>
+<U5348>
+<U543E>
+<U5433>
+<U55DA>
+<U5862>
+<U58BA>
+<U5967>
+<U5A1B>
+<U5BE4>
+<U609F>
+<UF9B9>
+<U61CA>
+<U6556>
+<U65FF>
+<U6664>
+<U68A7>
+<U6C5A>
+<U6FB3>
+<U70CF>
+<U71AC>
+<U7352>
+<U7B7D>
+<U8708>
+<U8AA4>
+<U9C32>
+<U9F07>
+<U5C4B>
+<U6C83>
+<U7344>
+<U7389>
+<U923A>
+<U6EAB>
+<U7465>
+<U761F>
+<U7A69>
+<U7E15>
+<U860A>
+<U5140>
+<U58C5>
+<U64C1>
+<U74EE>
+<U7515>
+<U7670>
+<U7FC1>
+<U9095>
+<U96CD>
+<U9954>
+<U6E26>
+<U74E6>
+<U7AA9>
+<U7AAA>
+<U81E5>
+<U86D9>
+<U8778>
+<U8A1B>
+<U5A49>
+<U5B8C>
+<U5B9B>
+<U68A1>
+<U6900>
+<U6D63>
+<U73A9>
+<U7413>
+<U742C>
+<U7897>
+<U7DE9>
+<U7FEB>
+<U8118>
+<U8155>
+<U839E>
+<U8C4C>
+<U962E>
+<U9811>
+<U66F0>
+<U5F80>
+<U65FA>
+<U6789>
+<U6C6A>
+<U738B>
+<U502D>
+<U5A03>
+<U6B6A>
+<U77EE>
+<U5916>
+<U5D6C>
+<U5DCD>
+<U7325>
+<U754F>
+<UF9BA>
+<UF9BB>
+<U50E5>
+<U51F9>
+<U582F>
+<U592D>
+<U5996>
+<U59DA>
+<U5BE5>
+<UF9BC>
+<UF9BD>
+<U5DA2>
+<U62D7>
+<U6416>
+<U6493>
+<U64FE>
+<UF9BE>
+<U66DC>
+<UF9BF>
+<U6A48>
+<UF9C0>
+<U71FF>
+<U7464>
+<UF9C1>
+<U7A88>
+<U7AAF>
+<U7E47>
+<U7E5E>
+<U8000>
+<U8170>
+<UF9C2>
+<U87EF>
+<U8981>
+<U8B20>
+<U9059>
+<UF9C3>
+<U9080>
+<U9952>
+<U617E>
+<U6B32>
+<U6D74>
+<U7E1F>
+<U8925>
+<U8FB1>
+<U4FD1>
+<U50AD>
+<U5197>
+<U52C7>
+<U57C7>
+<U5889>
+<U5BB9>
+<U5EB8>
+<U6142>
+<U6995>
+<U6D8C>
+<U6E67>
+<U6EB6>
+<U7194>
+<U7462>
+<U7528>
+<U752C>
+<U8073>
+<U8338>
+<U84C9>
+<U8E0A>
+<U9394>
+<U93DE>
+<UF9C4>
+<U4E8E>
+<U4F51>
+<U5076>
+<U512A>
+<U53C8>
+<U53CB>
+<U53F3>
+<U5B87>
+<U5BD3>
+<U5C24>
+<U611A>
+<U6182>
+<U65F4>
+<U725B>
+<U7397>
+<U7440>
+<U76C2>
+<U7950>
+<U7991>
+<U79B9>
+<U7D06>
+<U7FBD>
+<U828B>
+<U85D5>
+<U865E>
+<U8FC2>
+<U9047>
+<U90F5>
+<U91EA>
+<U9685>
+<U96E8>
+<U96E9>
+<U52D6>
+<U5F67>
+<U65ED>
+<U6631>
+<U682F>
+<U715C>
+<U7A36>
+<U90C1>
+<U980A>
+<U4E91>
+<UF9C5>
+<U6A52>
+<U6B9E>
+<U6F90>
+<U7189>
+<U8018>
+<U82B8>
+<U8553>
+<U904B>
+<U9695>
+<U96F2>
+<U97FB>
+<U851A>
+<U9B31>
+<U4E90>
+<U718A>
+<U96C4>
+<U5143>
+<U539F>
+<U54E1>
+<U5713>
+<U5712>
+<U57A3>
+<U5A9B>
+<U5AC4>
+<U5BC3>
+<U6028>
+<U613F>
+<U63F4>
+<U6C85>
+<U6D39>
+<U6E72>
+<U6E90>
+<U7230>
+<U733F>
+<U7457>
+<U82D1>
+<U8881>
+<U8F45>
+<U9060>
+<UF9C6>
+<U9662>
+<U9858>
+<U9D1B>
+<U6708>
+<U8D8A>
+<U925E>
+<U4F4D>
+<U5049>
+<U50DE>
+<U5371>
+<U570D>
+<U59D4>
+<U5A01>
+<U5C09>
+<U6170>
+<U6690>
+<U6E2D>
+<U7232>
+<U744B>
+<U7DEF>
+<U80C3>
+<U840E>
+<U8466>
+<U853F>
+<U875F>
+<U885B>
+<U8918>
+<U8B02>
+<U9055>
+<U97CB>
+<U9B4F>
+<U4E73>
+<U4F91>
+<U5112>
+<U516A>
+<UF9C7>
+<U552F>
+<U55A9>
+<U5B7A>
+<U5BA5>
+<U5E7C>
+<U5E7D>
+<U5EBE>
+<U60A0>
+<U60DF>
+<U6108>
+<U6109>
+<U63C4>
+<U6538>
+<U6709>
+<UF9C8>
+<U67D4>
+<U67DA>
+<UF9C9>
+<U6961>
+<U6962>
+<U6CB9>
+<U6D27>
+<UF9CA>
+<U6E38>
+<UF9CB>
+<U6FE1>
+<U7336>
+<U7337>
+<UF9CC>
+<U745C>
+<U7531>
+<UF9CD>
+<U7652>
+<UF9CE>
+<UF9CF>
+<U7DAD>
+<U81FE>
+<U8438>
+<U88D5>
+<U8A98>
+<U8ADB>
+<U8AED>
+<U8E30>
+<U8E42>
+<U904A>
+<U903E>
+<U907A>
+<U9149>
+<U91C9>
+<U936E>
+<UF9D0>
+<UF9D1>
+<U5809>
+<UF9D2>
+<U6BD3>
+<U8089>
+<U80B2>
+<UF9D3>
+<UF9D4>
+<U5141>
+<U596B>
+<U5C39>
+<UF9D5>
+<UF9D6>
+<U6F64>
+<U73A7>
+<U80E4>
+<U8D07>
+<UF9D7>
+<U9217>
+<U958F>
+<UF9D8>
+<UF9D9>
+<UF9DA>
+<UF9DB>
+<U807F>
+<U620E>
+<U701C>
+<U7D68>
+<U878D>
+<UF9DC>
+<U57A0>
+<U6069>
+<U6147>
+<U6BB7>
+<U8ABE>
+<U9280>
+<U96B1>
+<U4E59>
+<U541F>
+<U6DEB>
+<U852D>
+<U9670>
+<U97F3>
+<U98EE>
+<U63D6>
+<U6CE3>
+<U9091>
+<U51DD>
+<U61C9>
+<U81BA>
+<U9DF9>
+<U4F9D>
+<U501A>
+<U5100>
+<U5B9C>
+<U610F>
+<U61FF>
+<U64EC>
+<U6905>
+<U6BC5>
+<U7591>
+<U77E3>
+<U7FA9>
+<U8264>
+<U858F>
+<U87FB>
+<U8863>
+<U8ABC>
+<U8B70>
+<U91AB>
+<U4E8C>
+<U4EE5>
+<U4F0A>
+<UF9DD>
+<UF9DE>
+<U5937>
+<U59E8>
+<UF9DF>
+<U5DF2>
+<U5F1B>
+<U5F5B>
+<U6021>
+<UF9E0>
+<UF9E1>
+<UF9E2>
+<UF9E3>
+<U723E>
+<U73E5>
+<UF9E4>
+<U7570>
+<U75CD>
+<UF9E5>
+<U79FB>
+<UF9E6>
+<U800C>
+<U8033>
+<U8084>
+<U82E1>
+<U8351>
+<UF9E7>
+<UF9E8>
+<U8CBD>
+<U8CB3>
+<U9087>
+<UF9E9>
+<UF9EA>
+<U98F4>
+<U990C>
+<UF9EB>
+<UF9EC>
+<U7037>
+<U76CA>
+<U7FCA>
+<U7FCC>
+<U7FFC>
+<U8B1A>
+<U4EBA>
+<U4EC1>
+<U5203>
+<U5370>
+<UF9ED>
+<U54BD>
+<U56E0>
+<U59FB>
+<U5BC5>
+<U5F15>
+<U5FCD>
+<U6E6E>
+<UF9EE>
+<UF9EF>
+<U7D6A>
+<U8335>
+<UF9F0>
+<U8693>
+<U8A8D>
+<UF9F1>
+<U976D>
+<U9777>
+<UF9F2>
+<UF9F3>
+<U4E00>
+<U4F5A>
+<U4F7E>
+<U58F9>
+<U65E5>
+<U6EA2>
+<U9038>
+<U93B0>
+<U99B9>
+<U4EFB>
+<U58EC>
+<U598A>
+<U59D9>
+<U6041>
+<UF9F4>
+<UF9F5>
+<U7A14>
+<UF9F6>
+<U834F>
+<U8CC3>
+<U5165>
+<U5344>
+<UF9F7>
+<UF9F8>
+<UF9F9>
+<U4ECD>
+<U5269>
+<U5B55>
+<U82BF>
+<U4ED4>
+<U523A>
+<U54A8>
+<U59C9>
+<U59FF>
+<U5B50>
+<U5B57>
+<U5B5C>
+<U6063>
+<U6148>
+<U6ECB>
+<U7099>
+<U716E>
+<U7386>
+<U74F7>
+<U75B5>
+<U78C1>
+<U7D2B>
+<U8005>
+<U81EA>
+<U8328>
+<U8517>
+<U85C9>
+<U8AEE>
+<U8CC7>
+<U96CC>
+<U4F5C>
+<U52FA>
+<U56BC>
+<U65AB>
+<U6628>
+<U707C>
+<U70B8>
+<U7235>
+<U7DBD>
+<U828D>
+<U914C>
+<U96C0>
+<U9D72>
+<U5B71>
+<U68E7>
+<U6B98>
+<U6F7A>
+<U76DE>
+<U5C91>
+<U66AB>
+<U6F5B>
+<U7BB4>
+<U7C2A>
+<U8836>
+<U96DC>
+<U4E08>
+<U4ED7>
+<U5320>
+<U5834>
+<U58BB>
+<U58EF>
+<U596C>
+<U5C07>
+<U5E33>
+<U5E84>
+<U5F35>
+<U638C>
+<U66B2>
+<U6756>
+<U6A1F>
+<U6AA3>
+<U6B0C>
+<U6F3F>
+<U7246>
+<UF9FA>
+<U7350>
+<U748B>
+<U7AE0>
+<U7CA7>
+<U8178>
+<U81DF>
+<U81E7>
+<U838A>
+<U846C>
+<U8523>
+<U8594>
+<U85CF>
+<U88DD>
+<U8D13>
+<U91AC>
+<U9577>
+<U969C>
+<U518D>
+<U54C9>
+<U5728>
+<U5BB0>
+<U624D>
+<U6750>
+<U683D>
+<U6893>
+<U6E3D>
+<U6ED3>
+<U707D>
+<U7E21>
+<U88C1>
+<U8CA1>
+<U8F09>
+<U9F4B>
+<U9F4E>
+<U722D>
+<U7B8F>
+<U8ACD>
+<U931A>
+<U4F47>
+<U4F4E>
+<U5132>
+<U5480>
+<U59D0>
+<U5E95>
+<U62B5>
+<U6775>
+<U696E>
+<U6A17>
+<U6CAE>
+<U6E1A>
+<U72D9>
+<U732A>
+<U75BD>
+<U7BB8>
+<U7D35>
+<U82E7>
+<U83F9>
+<U8457>
+<U85F7>
+<U8A5B>
+<U8CAF>
+<U8E87>
+<U9019>
+<U90B8>
+<U96CE>
+<U9F5F>
+<U52E3>
+<U540A>
+<U5AE1>
+<U5BC2>
+<U6458>
+<U6575>
+<U6EF4>
+<U72C4>
+<UF9FB>
+<U7684>
+<U7A4D>
+<U7B1B>
+<U7C4D>
+<U7E3E>
+<U7FDF>
+<U837B>
+<U8B2B>
+<U8CCA>
+<U8D64>
+<U8DE1>
+<U8E5F>
+<U8FEA>
+<U8FF9>
+<U9069>
+<U93D1>
+<U4F43>
+<U4F7A>
+<U50B3>
+<U5168>
+<U5178>
+<U524D>
+<U526A>
+<U5861>
+<U587C>
+<U5960>
+<U5C08>
+<U5C55>
+<U5EDB>
+<U609B>
+<U6230>
+<U6813>
+<U6BBF>
+<U6C08>
+<U6FB1>
+<U714E>
+<U7420>
+<U7530>
+<U7538>
+<U7551>
+<U7672>
+<U7B4C>
+<U7B8B>
+<U7BAD>
+<U7BC6>
+<U7E8F>
+<U8A6E>
+<U8F3E>
+<U8F49>
+<U923F>
+<U9293>
+<U9322>
+<U942B>
+<U96FB>
+<U985A>
+<U986B>
+<U991E>
+<U5207>
+<U622A>
+<U6298>
+<U6D59>
+<U7664>
+<U7ACA>
+<U7BC0>
+<U7D76>
+<U5360>
+<U5CBE>
+<U5E97>
+<U6F38>
+<U70B9>
+<U7C98>
+<U9711>
+<U9B8E>
+<U9EDE>
+<U63A5>
+<U647A>
+<U8776>
+<U4E01>
+<U4E95>
+<U4EAD>
+<U505C>
+<U5075>
+<U5448>
+<U59C3>
+<U5B9A>
+<U5E40>
+<U5EAD>
+<U5EF7>
+<U5F81>
+<U60C5>
+<U633A>
+<U653F>
+<U6574>
+<U65CC>
+<U6676>
+<U6678>
+<U67FE>
+<U6968>
+<U6A89>
+<U6B63>
+<U6C40>
+<U6DC0>
+<U6DE8>
+<U6E1F>
+<U6E5E>
+<U701E>
+<U70A1>
+<U738E>
+<U73FD>
+<U753A>
+<U775B>
+<U7887>
+<U798E>
+<U7A0B>
+<U7A7D>
+<U7CBE>
+<U7D8E>
+<U8247>
+<U8A02>
+<U8AEA>
+<U8C9E>
+<U912D>
+<U914A>
+<U91D8>
+<U9266>
+<U92CC>
+<U9320>
+<U9706>
+<U9756>
+<U975C>
+<U9802>
+<U9F0E>
+<U5236>
+<U5291>
+<U557C>
+<U5824>
+<U5E1D>
+<U5F1F>
+<U608C>
+<U63D0>
+<U68AF>
+<U6FDF>
+<U796D>
+<U7B2C>
+<U81CD>
+<U85BA>
+<U88FD>
+<U8AF8>
+<U8E44>
+<U918D>
+<U9664>
+<U969B>
+<U973D>
+<U984C>
+<U9F4A>
+<U4FCE>
+<U5146>
+<U51CB>
+<U52A9>
+<U5632>
+<U5F14>
+<U5F6B>
+<U63AA>
+<U64CD>
+<U65E9>
+<U6641>
+<U66FA>
+<U66F9>
+<U671D>
+<U689D>
+<U68D7>
+<U69FD>
+<U6F15>
+<U6F6E>
+<U7167>
+<U71E5>
+<U722A>
+<U74AA>
+<U773A>
+<U7956>
+<U795A>
+<U79DF>
+<U7A20>
+<U7A95>
+<U7C97>
+<U7CDF>
+<U7D44>
+<U7E70>
+<U8087>
+<U85FB>
+<U86A4>
+<U8A54>
+<U8ABF>
+<U8D99>
+<U8E81>
+<U9020>
+<U906D>
+<U91E3>
+<U963B>
+<U96D5>
+<U9CE5>
+<U65CF>
+<U7C07>
+<U8DB3>
+<U93C3>
+<U5B58>
+<U5C0A>
+<U5352>
+<U62D9>
+<U731D>
+<U5027>
+<U5B97>
+<U5F9E>
+<U60B0>
+<U616B>
+<U68D5>
+<U6DD9>
+<U742E>
+<U7A2E>
+<U7D42>
+<U7D9C>
+<U7E31>
+<U816B>
+<U8E2A>
+<U8E35>
+<U937E>
+<U9418>
+<U4F50>
+<U5750>
+<U5DE6>
+<U5EA7>
+<U632B>
+<U7F6A>
+<U4E3B>
+<U4F4F>
+<U4F8F>
+<U505A>
+<U59DD>
+<U80C4>
+<U546A>
+<U5468>
+<U55FE>
+<U594F>
+<U5B99>
+<U5DDE>
+<U5EDA>
+<U665D>
+<U6731>
+<U67F1>
+<U682A>
+<U6CE8>
+<U6D32>
+<U6E4A>
+<U6F8D>
+<U70B7>
+<U73E0>
+<U7587>
+<U7C4C>
+<U7D02>
+<U7D2C>
+<U7DA2>
+<U821F>
+<U86DB>
+<U8A3B>
+<U8A85>
+<U8D70>
+<U8E8A>
+<U8F33>
+<U9031>
+<U914E>
+<U9152>
+<U9444>
+<U99D0>
+<U7AF9>
+<U7CA5>
+<U4FCA>
+<U5101>
+<U51C6>
+<U57C8>
+<U5BEF>
+<U5CFB>
+<U6659>
+<U6A3D>
+<U6D5A>
+<U6E96>
+<U6FEC>
+<U710C>
+<U756F>
+<U7AE3>
+<U8822>
+<U9021>
+<U9075>
+<U96CB>
+<U99FF>
+<U8301>
+<U4E2D>
+<U4EF2>
+<U8846>
+<U91CD>
+<U537D>
+<U6ADB>
+<U696B>
+<U6C41>
+<U847A>
+<U589E>
+<U618E>
+<U66FE>
+<U62EF>
+<U70DD>
+<U7511>
+<U75C7>
+<U7E52>
+<U84B8>
+<U8B49>
+<U8D08>
+<U4E4B>
+<U53EA>
+<U54AB>
+<U5730>
+<U5740>
+<U5FD7>
+<U6301>
+<U6307>
+<U646F>
+<U652F>
+<U65E8>
+<U667A>
+<U679D>
+<U67B3>
+<U6B62>
+<U6C60>
+<U6C9A>
+<U6F2C>
+<U77E5>
+<U7825>
+<U7949>
+<U7957>
+<U7D19>
+<U80A2>
+<U8102>
+<U81F3>
+<U829D>
+<U82B7>
+<U8718>
+<U8A8C>
+<UF9FC>
+<U8D04>
+<U8DBE>
+<U9072>
+<U76F4>
+<U7A19>
+<U7A37>
+<U7E54>
+<U8077>
+<U5507>
+<U55D4>
+<U5875>
+<U632F>
+<U6422>
+<U6649>
+<U664B>
+<U686D>
+<U699B>
+<U6B84>
+<U6D25>
+<U6EB1>
+<U73CD>
+<U7468>
+<U74A1>
+<U755B>
+<U75B9>
+<U76E1>
+<U771E>
+<U778B>
+<U79E6>
+<U7E09>
+<U7E1D>
+<U81FB>
+<U852F>
+<U8897>
+<U8A3A>
+<U8CD1>
+<U8EEB>
+<U8FB0>
+<U9032>
+<U93AD>
+<U9663>
+<U9673>
+<U9707>
+<U4F84>
+<U53F1>
+<U59EA>
+<U5AC9>
+<U5E19>
+<U684E>
+<U74C6>
+<U75BE>
+<U79E9>
+<U7A92>
+<U81A3>
+<U86ED>
+<U8CEA>
+<U8DCC>
+<U8FED>
+<U659F>
+<U6715>
+<UF9FD>
+<U57F7>
+<U6F57>
+<U7DDD>
+<U8F2F>
+<U93F6>
+<U96C6>
+<U5FB5>
+<U61F2>
+<U6F84>
+<U4E14>
+<U4F98>
+<U501F>
+<U53C9>
+<U55DF>
+<U5D6F>
+<U5DEE>
+<U6B21>
+<U6B64>
+<U78CB>
+<U7B9A>
+<UF9FE>
+<U8E49>
+<U8ECA>
+<U906E>
+<U6349>
+<U643E>
+<U7740>
+<U7A84>
+<U932F>
+<U947F>
+<U9F6A>
+<U64B0>
+<U6FAF>
+<U71E6>
+<U74A8>
+<U74DA>
+<U7AC4>
+<U7C12>
+<U7E82>
+<U7CB2>
+<U7E98>
+<U8B9A>
+<U8D0A>
+<U947D>
+<U9910>
+<U994C>
+<U5239>
+<U5BDF>
+<U64E6>
+<U672D>
+<U7D2E>
+<U50ED>
+<U53C3>
+<U5879>
+<U6158>
+<U6159>
+<U61FA>
+<U65AC>
+<U7AD9>
+<U8B92>
+<U8B96>
+<U5009>
+<U5021>
+<U5275>
+<U5531>
+<U5A3C>
+<U5EE0>
+<U5F70>
+<U6134>
+<U655E>
+<U660C>
+<U6636>
+<U66A2>
+<U69CD>
+<U6EC4>
+<U6F32>
+<U7316>
+<U7621>
+<U7A93>
+<U8139>
+<U8259>
+<U83D6>
+<U84BC>
+<U50B5>
+<U57F0>
+<U5BC0>
+<U5BE8>
+<U5F69>
+<U63A1>
+<U7826>
+<U7DB5>
+<U83DC>
+<U8521>
+<U91C7>
+<U91F5>
+<U518A>
+<U67F5>
+<U7B56>
+<U8CAC>
+<U51C4>
+<U59BB>
+<U60BD>
+<U8655>
+<U501C>
+<UF9FF>
+<U5254>
+<U5C3A>
+<U617D>
+<U621A>
+<U62D3>
+<U64F2>
+<U65A5>
+<U6ECC>
+<U7620>
+<U810A>
+<U8E60>
+<U965F>
+<U96BB>
+<U4EDF>
+<U5343>
+<U5598>
+<U5929>
+<U5DDD>
+<U64C5>
+<U6CC9>
+<U6DFA>
+<U7394>
+<U7A7F>
+<U821B>
+<U85A6>
+<U8CE4>
+<U8E10>
+<U9077>
+<U91E7>
+<U95E1>
+<U9621>
+<U97C6>
+<U51F8>
+<U54F2>
+<U5586>
+<U5FB9>
+<U64A4>
+<U6F88>
+<U7DB4>
+<U8F1F>
+<U8F4D>
+<U9435>
+<U50C9>
+<U5C16>
+<U6CBE>
+<U6DFB>
+<U751B>
+<U77BB>
+<U7C3D>
+<U7C64>
+<U8A79>
+<U8AC2>
+<U581E>
+<U59BE>
+<U5E16>
+<U6377>
+<U7252>
+<U758A>
+<U776B>
+<U8ADC>
+<U8CBC>
+<U8F12>
+<U5EF3>
+<U6674>
+<U6DF8>
+<U807D>
+<U83C1>
+<U8ACB>
+<U9751>
+<U9BD6>
+<UFA00>
+<U5243>
+<U66FF>
+<U6D95>
+<U6EEF>
+<U7DE0>
+<U8AE6>
+<U902E>
+<U905E>
+<U9AD4>
+<U521D>
+<U527F>
+<U54E8>
+<U6194>
+<U6284>
+<U62DB>
+<U68A2>
+<U6912>
+<U695A>
+<U6A35>
+<U7092>
+<U7126>
+<U785D>
+<U7901>
+<U790E>
+<U79D2>
+<U7A0D>
+<U8096>
+<U8278>
+<U82D5>
+<U8349>
+<U8549>
+<U8C82>
+<U8D85>
+<U9162>
+<U918B>
+<U91AE>
+<U4FC3>
+<U56D1>
+<U71ED>
+<U77D7>
+<U8700>
+<U89F8>
+<U5BF8>
+<U5FD6>
+<U6751>
+<U90A8>
+<U53E2>
+<U585A>
+<U5BF5>
+<U60A4>
+<U6181>
+<U6460>
+<U7E3D>
+<U8070>
+<U8525>
+<U9283>
+<U64AE>
+<U50AC>
+<U5D14>
+<U6700>
+<U589C>
+<U62BD>
+<U63A8>
+<U690E>
+<U6978>
+<U6A1E>
+<U6E6B>
+<U76BA>
+<U79CB>
+<U82BB>
+<U8429>
+<U8ACF>
+<U8DA8>
+<U8FFD>
+<U9112>
+<U914B>
+<U919C>
+<U9310>
+<U9318>
+<U939A>
+<U96DB>
+<U9A36>
+<U9C0D>
+<U4E11>
+<U755C>
+<U795D>
+<U7AFA>
+<U7B51>
+<U7BC9>
+<U7E2E>
+<U84C4>
+<U8E59>
+<U8E74>
+<U8EF8>
+<U9010>
+<U6625>
+<U693F>
+<U7443>
+<U51FA>
+<U672E>
+<U9EDC>
+<U5145>
+<U5FE0>
+<U6C96>
+<U87F2>
+<U885D>
+<U8877>
+<U60B4>
+<U81B5>
+<U8403>
+<U8D05>
+<U53D6>
+<U5439>
+<U5634>
+<U5A36>
+<U5C31>
+<U708A>
+<U7FE0>
+<U805A>
+<U8106>
+<U81ED>
+<U8DA3>
+<U9189>
+<U9A5F>
+<U9DF2>
+<U5074>
+<U4EC4>
+<U53A0>
+<U60FB>
+<U6E2C>
+<U5C64>
+<U4F88>
+<U5024>
+<U55E4>
+<U5CD9>
+<U5E5F>
+<U6065>
+<U6894>
+<U6CBB>
+<U6DC4>
+<U71BE>
+<U75D4>
+<U75F4>
+<U7661>
+<U7A1A>
+<U7A49>
+<U7DC7>
+<U7DFB>
+<U7F6E>
+<U81F4>
+<U86A9>
+<U8F1C>
+<U96C9>
+<U99B3>
+<U9F52>
+<U5247>
+<U52C5>
+<U98ED>
+<U89AA>
+<U4E03>
+<U67D2>
+<U6F06>
+<U4FB5>
+<U5BE2>
+<U6795>
+<U6C88>
+<U6D78>
+<U741B>
+<U7827>
+<U91DD>
+<U937C>
+<U87C4>
+<U79E4>
+<U7A31>
+<U5FEB>
+<U4ED6>
+<U54A4>
+<U553E>
+<U58AE>
+<U59A5>
+<U60F0>
+<U6253>
+<U62D6>
+<U6736>
+<U6955>
+<U8235>
+<U9640>
+<U99B1>
+<U99DD>
+<U502C>
+<U5353>
+<U5544>
+<U577C>
+<UFA01>
+<U6258>
+<UFA02>
+<U64E2>
+<U666B>
+<U67DD>
+<U6FC1>
+<U6FEF>
+<U7422>
+<U7438>
+<U8A17>
+<U9438>
+<U5451>
+<U5606>
+<U5766>
+<U5F48>
+<U619A>
+<U6B4E>
+<U7058>
+<U70AD>
+<U7DBB>
+<U8A95>
+<U596A>
+<U812B>
+<U63A2>
+<U7708>
+<U803D>
+<U8CAA>
+<U5854>
+<U642D>
+<U69BB>
+<U5B95>
+<U5E11>
+<U6E6F>
+<UFA03>
+<U8569>
+<U514C>
+<U53F0>
+<U592A>
+<U6020>
+<U614B>
+<U6B86>
+<U6C70>
+<U6CF0>
+<U7B1E>
+<U80CE>
+<U82D4>
+<U8DC6>
+<U90B0>
+<U98B1>
+<UFA04>
+<U64C7>
+<U6FA4>
+<U6491>
+<U6504>
+<U514E>
+<U5410>
+<U571F>
+<U8A0E>
+<U615F>
+<U6876>
+<UFA05>
+<U75DB>
+<U7B52>
+<U7D71>
+<U901A>
+<U5806>
+<U69CC>
+<U817F>
+<U892A>
+<U9000>
+<U9839>
+<U5078>
+<U5957>
+<U59AC>
+<U6295>
+<U900F>
+<U9B2A>
+<U615D>
+<U7279>
+<U95D6>
+<U5761>
+<U5A46>
+<U5DF4>
+<U628A>
+<U64AD>
+<U64FA>
+<U6777>
+<U6CE2>
+<U6D3E>
+<U722C>
+<U7436>
+<U7834>
+<U7F77>
+<U82AD>
+<U8DDB>
+<U9817>
+<U5224>
+<U5742>
+<U677F>
+<U7248>
+<U74E3>
+<U8CA9>
+<U8FA6>
+<U9211>
+<U962A>
+<U516B>
+<U53ED>
+<U634C>
+<U4F69>
+<U5504>
+<U6096>
+<U6557>
+<U6C9B>
+<U6D7F>
+<U724C>
+<U72FD>
+<U7A17>
+<U8987>
+<U8C9D>
+<U5F6D>
+<U6F8E>
+<U70F9>
+<U81A8>
+<U610E>
+<U4FBF>
+<U504F>
+<U6241>
+<U7247>
+<U7BC7>
+<U7DE8>
+<U7FE9>
+<U904D>
+<U97AD>
+<U9A19>
+<U8CB6>
+<U576A>
+<U5E73>
+<U67B0>
+<U840D>
+<U8A55>
+<U5420>
+<U5B16>
+<U5E63>
+<U5EE2>
+<U5F0A>
+<U6583>
+<U80BA>
+<U853D>
+<U9589>
+<U965B>
+<U4F48>
+<U5305>
+<U530D>
+<U530F>
+<U5486>
+<U54FA>
+<U5703>
+<U5E03>
+<U6016>
+<U629B>
+<U62B1>
+<U6355>
+<UFA06>
+<U6CE1>
+<U6D66>
+<U75B1>
+<U7832>
+<U80DE>
+<U812F>
+<U82DE>
+<U8461>
+<U84B2>
+<U888D>
+<U8912>
+<U900B>
+<U92EA>
+<U98FD>
+<U9B91>
+<U5E45>
+<U66B4>
+<U66DD>
+<U7011>
+<U7206>
+<UFA07>
+<U4FF5>
+<U527D>
+<U5F6A>
+<U6153>
+<U6753>
+<U6A19>
+<U6F02>
+<U74E2>
+<U7968>
+<U8868>
+<U8C79>
+<U98C7>
+<U98C4>
+<U9A43>
+<U54C1>
+<U7A1F>
+<U6953>
+<U8AF7>
+<U8C4A>
+<U98A8>
+<U99AE>
+<U5F7C>
+<U62AB>
+<U75B2>
+<U76AE>
+<U88AB>
+<U907F>
+<U9642>
+<U5339>
+<U5F3C>
+<U5FC5>
+<U6CCC>
+<U73CC>
+<U7562>
+<U758B>
+<U7B46>
+<U82FE>
+<U999D>
+<U4E4F>
+<U903C>
+<U4E0B>
+<U4F55>
+<U53A6>
+<U590F>
+<U5EC8>
+<U6630>
+<U6CB3>
+<U7455>
+<U8377>
+<U8766>
+<U8CC0>
+<U9050>
+<U971E>
+<U9C15>
+<U58D1>
+<U5B78>
+<U8650>
+<U8B14>
+<U9DB4>
+<U5BD2>
+<U6068>
+<U608D>
+<U65F1>
+<U6C57>
+<U6F22>
+<U6FA3>
+<U701A>
+<U7F55>
+<U7FF0>
+<U9591>
+<U9592>
+<U9650>
+<U97D3>
+<U5272>
+<U8F44>
+<U51FD>
+<U542B>
+<U54B8>
+<U5563>
+<U558A>
+<U6ABB>
+<U6DB5>
+<U7DD8>
+<U8266>
+<U929C>
+<U9677>
+<U9E79>
+<U5408>
+<U54C8>
+<U76D2>
+<U86E4>
+<U95A4>
+<U95D4>
+<U965C>
+<U4EA2>
+<U4F09>
+<U59EE>
+<U5AE6>
+<U5DF7>
+<U6052>
+<U6297>
+<U676D>
+<U6841>
+<U6C86>
+<U6E2F>
+<U7F38>
+<U809B>
+<U822A>
+<UFA08>
+<UFA09>
+<U9805>
+<U4EA5>
+<U5055>
+<U54B3>
+<U5793>
+<U595A>
+<U5B69>
+<U5BB3>
+<U61C8>
+<U6977>
+<U6D77>
+<U7023>
+<U87F9>
+<U89E3>
+<U8A72>
+<U8AE7>
+<U9082>
+<U99ED>
+<U9AB8>
+<U52BE>
+<U6838>
+<U5016>
+<U5E78>
+<U674F>
+<U8347>
+<U884C>
+<U4EAB>
+<U5411>
+<U56AE>
+<U73E6>
+<U9115>
+<U97FF>
+<U9909>
+<U9957>
+<U9999>
+<U5653>
+<U589F>
+<U865B>
+<U8A31>
+<U61B2>
+<U6AF6>
+<U737B>
+<U8ED2>
+<U6B47>
+<U96AA>
+<U9A57>
+<U5955>
+<U7200>
+<U8D6B>
+<U9769>
+<U4FD4>
+<U5CF4>
+<U5F26>
+<U61F8>
+<U665B>
+<U6CEB>
+<U70AB>
+<U7384>
+<U73B9>
+<U73FE>
+<U7729>
+<U774D>
+<U7D43>
+<U7D62>
+<U7E23>
+<U8237>
+<U8852>
+<UFA0A>
+<U8CE2>
+<U9249>
+<U986F>
+<U5B51>
+<U7A74>
+<U8840>
+<U9801>
+<U5ACC>
+<U4FE0>
+<U5354>
+<U593E>
+<U5CFD>
+<U633E>
+<U6D79>
+<U72F9>
+<U8105>
+<U8107>
+<U83A2>
+<U92CF>
+<U9830>
+<U4EA8>
+<U5144>
+<U5211>
+<U578B>
+<U5F62>
+<U6CC2>
+<U6ECE>
+<U7005>
+<U7050>
+<U70AF>
+<U7192>
+<U73E9>
+<U7469>
+<U834A>
+<U87A2>
+<U8861>
+<U9008>
+<U90A2>
+<U93A3>
+<U99A8>
+<U516E>
+<U5F57>
+<U60E0>
+<U6167>
+<U66B3>
+<U8559>
+<U8E4A>
+<U91AF>
+<U978B>
+<U4E4E>
+<U4E92>
+<U547C>
+<U58D5>
+<U58FA>
+<U597D>
+<U5CB5>
+<U5F27>
+<U6236>
+<U6248>
+<U660A>
+<U6667>
+<U6BEB>
+<U6D69>
+<U6DCF>
+<U6E56>
+<U6EF8>
+<U6F94>
+<U6FE0>
+<U6FE9>
+<U705D>
+<U72D0>
+<U7425>
+<U745A>
+<U74E0>
+<U7693>
+<U795C>
+<U7CCA>
+<U7E1E>
+<U80E1>
+<U82A6>
+<U846B>
+<U84BF>
+<U864E>
+<U865F>
+<U8774>
+<U8B77>
+<U8C6A>
+<U93AC>
+<U9800>
+<U9865>
+<U60D1>
+<U6216>
+<U9177>
+<U5A5A>
+<U660F>
+<U6DF7>
+<U6E3E>
+<U743F>
+<U9B42>
+<U5FFD>
+<U60DA>
+<U7B0F>
+<U54C4>
+<U5F18>
+<U6C5E>
+<U6CD3>
+<U6D2A>
+<U70D8>
+<U7D05>
+<U8679>
+<U8A0C>
+<U9D3B>
+<U5316>
+<U548C>
+<U5B05>
+<U6A3A>
+<U706B>
+<U7575>
+<U798D>
+<U79BE>
+<U82B1>
+<U83EF>
+<U8A71>
+<U8B41>
+<U8CA8>
+<U9774>
+<UFA0B>
+<U64F4>
+<U652B>
+<U78BA>
+<U78BB>
+<U7A6B>
+<U4E38>
+<U559A>
+<U5950>
+<U5BA6>
+<U5E7B>
+<U60A3>
+<U63DB>
+<U6B61>
+<U6665>
+<U6853>
+<U6E19>
+<U7165>
+<U74B0>
+<U7D08>
+<U9084>
+<U9A69>
+<U9C25>
+<U6D3B>
+<U6ED1>
+<U733E>
+<U8C41>
+<U95CA>
+<U51F0>
+<U5E4C>
+<U5FA8>
+<U604D>
+<U60F6>
+<U6130>
+<U614C>
+<U6643>
+<U6644>
+<U69A5>
+<U6CC1>
+<U6E5F>
+<U6EC9>
+<U6F62>
+<U714C>
+<U749C>
+<U7687>
+<U7BC1>
+<U7C27>
+<U8352>
+<U8757>
+<U9051>
+<U968D>
+<U9EC3>
+<U532F>
+<U56DE>
+<U5EFB>
+<U5F8A>
+<U6062>
+<U6094>
+<U61F7>
+<U6666>
+<U6703>
+<U6A9C>
+<U6DEE>
+<U6FAE>
+<U7070>
+<U736A>
+<U7E6A>
+<U81BE>
+<U8334>
+<U86D4>
+<U8AA8>
+<U8CC4>
+<U5283>
+<U7372>
+<U5B96>
+<U6A6B>
+<U9404>
+<U54EE>
+<U5686>
+<U5B5D>
+<U6548>
+<U6585>
+<U66C9>
+<U689F>
+<U6D8D>
+<U6DC6>
+<U723B>
+<U80B4>
+<U9175>
+<U9A4D>
+<U4FAF>
+<U5019>
+<U539A>
+<U540E>
+<U543C>
+<U5589>
+<U55C5>
+<U5E3F>
+<U5F8C>
+<U673D>
+<U7166>
+<U73DD>
+<U9005>
+<U52DB>
+<U52F3>
+<U5864>
+<U58CE>
+<U7104>
+<U718F>
+<U71FB>
+<U85B0>
+<U8A13>
+<U6688>
+<U85A8>
+<U55A7>
+<U6684>
+<U714A>
+<U8431>
+<U5349>
+<U5599>
+<U6BC1>
+<U5F59>
+<U5FBD>
+<U63EE>
+<U6689>
+<U7147>
+<U8AF1>
+<U8F1D>
+<U9EBE>
+<U4F11>
+<U643A>
+<U70CB>
+<U7566>
+<U8667>
+<U6064>
+<U8B4E>
+<U9DF8>
+<U5147>
+<U51F6>
+<U5308>
+<U6D36>
+<U80F8>
+<U9ED1>
+<U6615>
+<U6B23>
+<U7098>
+<U75D5>
+<U5403>
+<U5C79>
+<U7D07>
+<U8A16>
+<U6B20>
+<U6B3D>
+<U6B46>
+<U5438>
+<U6070>
+<U6D3D>
+<U7FD5>
+<U8208>
+<U50D6>
+<U51DE>
+<U559C>
+<U566B>
+<U56CD>
+<U59EC>
+<U5B09>
+<U5E0C>
+<U6199>
+<U6198>
+<U6231>
+<U665E>
+<U66E6>
+<U7199>
+<U71B9>
+<U71BA>
+<U72A7>
+<U79A7>
+<U7A00>
+<U7FB2>
+<U8A70>
+UNDEFINED
+order_end
diff --git a/ap/build/uClibc/extra/locale/collation/kw_GB b/ap/build/uClibc/extra/locale/collation/kw_GB
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/kw_GB
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/lt_LT b/ap/build/uClibc/extra/locale/collation/lt_LT
new file mode 100644
index 0000000..707d08e
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/lt_LT
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0059> <U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079> <U0059>;<NONE>;<SMALL>;IGNORE
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/lv_LV b/ap/build/uClibc/extra/locale/collation/lv_LV
new file mode 100644
index 0000000..8492731
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/lv_LV
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U0100>   <U0100>;<NONE>;<CAPITAL>;IGNORE
+<U0101>   <U0100>;<NONE>;<SMALL>;IGNORE
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U010C>   <U010C>;<NONE>;<CAPITAL>;IGNORE
+<U010D>   <U010C>;<NONE>;<SMALL>;IGNORE
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0112>   <U0112>;<NONE>;<CAPITAL>;IGNORE
+<U0113>   <U0112>;<NONE>;<SMALL>;IGNORE
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0122>   <U0122>;<NONE>;<CAPITAL>;IGNORE
+<U0123>   <U0122>;<NONE>;<SMALL>;IGNORE
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<i8>
+<U0059>    <U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>    <U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>   <U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>   <U0059>;<ACUTE>;<SMALL>;IGNORE
+<y8>
+<U012A>   <U012A>;<NONE>;<CAPITAL>;IGNORE
+<U012B>   <U012A>;<NONE>;<SMALL>;IGNORE
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0136>   <U0136>;<NONE>;<CAPITAL>;IGNORE
+<U0137>   <U0136>;<NONE>;<SMALL>;IGNORE
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U013B>   <U013B>;<NONE>;<CAPITAL>;IGNORE
+<U013C>   <U013B>;<NONE>;<SMALL>;IGNORE
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U0145>   <U0145>;<NONE>;<CAPITAL>;IGNORE
+<U0146>   <U0145>;<NONE>;<SMALL>;IGNORE
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U014C>   <U014C>;<NONE>;<CAPITAL>;IGNORE
+<U014D>   <U014C>;<NONE>;<SMALL>;IGNORE
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0156>   <U0156>;<NONE>;<CAPITAL>;IGNORE
+<U0157>   <U0156>;<NONE>;<SMALL>;IGNORE
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U0160>   <U0160>;<NONE>;<CAPITAL>;IGNORE
+<U0161>   <U0160>;<NONE>;<SMALL>;IGNORE
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U016A>   <U016A>;<NONE>;<CAPITAL>;IGNORE
+<U016B>   <U016A>;<NONE>;<SMALL>;IGNORE
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U017D>   <U017D>;<NONE>;<CAPITAL>;IGNORE
+<U017E>   <U017D>;<NONE>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/mi_NZ b/ap/build/uClibc/extra/locale/collation/mi_NZ
new file mode 100644
index 0000000..c36305d
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/mi_NZ
@@ -0,0 +1,44 @@
+copy "iso14651_t1"
+
+%% a b c d e f g h i j k l m n ng o p q r s t u v w wh x y z
+
+collating-symbol  <n-g-mi>
+collating-element <N-G> from "<U004E><U0047>"
+collating-element <n-g> from "<U006E><U0067>"
+collating-element <N-g> from "<U004E><U0067>"
+collating-element <n-G> from "<U006E><U0047>"
+collating-symbol  <w-h-mi>
+collating-element <W-H> from "<U0057><U0048>"
+collating-element <w-h> from "<U0077><U0068>"
+collating-element <W-h> from "<U0057><U0068>"
+collating-element <w-H> from "<U0077><U0048>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <n>
+<n-g-mi>
+reorder-after <w>
+<w-h-mi>
+
+reorder-after <U006E>
+<n-g>	<n-g-mi>;<PCT>;<MIN>;IGNORE
+<n-G>	<n-g-mi>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004E>
+<N-G>	<n-g-mi>;<PCT>;<CAP>;IGNORE
+<N-g>	<n-g-mi>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0077>
+<w-h>	<w-h-mi>;<PCT>;<MIN>;IGNORE
+<w-H>	<w-h-mi>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U0057>
+<W-H>	<w-h-mi>;<PCT>;<CAP>;IGNORE
+<W-h>	<w-h-mi>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/mk_MK b/ap/build/uClibc/extra/locale/collation/mk_MK
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/mk_MK
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/mr_IN b/ap/build/uClibc/extra/locale/collation/mr_IN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/mr_IN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/ms_MY b/ap/build/uClibc/extra/locale/collation/ms_MY
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ms_MY
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/mt_MT b/ap/build/uClibc/extra/locale/collation/mt_MT
new file mode 100644
index 0000000..bd028da
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/mt_MT
@@ -0,0 +1,80 @@
+
+% a b c c. d e f g. g gh/ h h/ i ie j k l m n o p q r s t u v w x y z. z
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+collating-symbol <c.>
+collating-symbol <g.>
+collating-symbol <h->
+collating-symbol <z.>
+
+collating-symbol  <g-h--mt>
+collating-element <G-H-> from "<U0047><U0126>"
+collating-element <g-h-> from "<U0067><U0127>"
+collating-element <G-h-> from "<U0047><U0127>"
+collating-element <g-H-> from "<U0067><U0126>"
+
+collating-symbol  <i-e-mt>
+collating-element <I-E> from "<U0049><U0045>"
+collating-element <i-e> from "<U0069><U0065>"
+collating-element <I-e> from "<U0049><U0065>"
+collating-element <i-E> from "<U0069><U0045>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<c.>
+reorder-after <f>
+<g.>
+reorder-after <g>
+<g-h--mt>
+reorder-after <h>
+<h->
+reorder-after <i>
+<i-e-mt>
+reorder-after <y>
+<z.>
+
+reorder-after <U0063>
+<U010B> <c.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0043>
+<U010A> <c.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0066>
+<U0121> <g.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0046>
+<U0120> <g.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<g-h->  <g-h--mt>;<PCL>;<MIN>;IGNORE
+<g-H->  <g-h--mt>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0047>
+<G-H->  <g-h--mt>;<PCL>;<CAP>;IGNORE
+<G-h->  <g-h--mt>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0068>
+<U0127> <h->;<OBL>;<MIN>;IGNORE
+reorder-after <U0048>
+<U0126> <h->;<OBL>;<CAP>;IGNORE
+
+reorder-after <U0069>
+<i-e>  <i-e-mt>;<PCL>;<MIN>;IGNORE
+<i-E>  <i-e-mt>;<PCL>;<MIN-CAP>;IGNORE
+reorder-after <U0049>
+<I-E>  <i-e-mt>;<PCL>;<CAP>;IGNORE
+<I-e>  <i-e-mt>;<PCL>;<CAP-MIN>;IGNORE
+
+reorder-after <U0079>
+<U017C> <z.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0059>
+<U017B> <z.>;<PCT>;<CAP>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/nl_BE b/ap/build/uClibc/extra/locale/collation/nl_BE
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/nl_BE
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/nl_NL b/ap/build/uClibc/extra/locale/collation/nl_NL
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/nl_NL
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/nn_NO b/ap/build/uClibc/extra/locale/collation/nn_NO
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/nn_NO
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/no_NO b/ap/build/uClibc/extra/locale/collation/no_NO
new file mode 100644
index 0000000..f32dc18
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/no_NO
@@ -0,0 +1,2070 @@
+collating-element <A-A> from "<U0041><U0041>"
+collating-element <a-a> from "<U0061><U0061>"
+collating-element <A-a> from "<U0041><U0061>"
+collating-element <a-A> from "<U0061><U0041>"
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+% <CAPITAL> before <SMALL> letters
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U00DC>	<U0059>;<U00DC>;<CAPITAL>;IGNORE
+<U00FC>	<U0059>;<U00DC>;<SMALL>;IGNORE
+<U0170>	<U0059>;<U0170>;<CAPITAL>;IGNORE
+<U0171>	<U0059>;<U0170>;<SMALL>;IGNORE
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U00C6>	<U00C6>;<NONE>;<CAPITAL>;IGNORE
+<U00E6>	<U00C6>;<NONE>;<SMALL>;IGNORE
+<U01FC>	<U00C6>;<ACUTE>;<CAPITAL>;IGNORE
+<U01FD>	<U00C6>;<ACUTE>;<SMALL>;IGNORE
+<U01E2>	<U00C6>;<MACRON>;<CAPITAL>;IGNORE
+<U01E3>	<U00C6>;<MACRON>;<SMALL>;IGNORE
+<U00C4>	<U00C6>;<SPECIAL>;<CAPITAL>;IGNORE
+<U00E4>	<U00C6>;<SPECIAL>;<SMALL>;IGNORE
+<U00D8>	<U00D8>;<NONE>;<CAPITAL>;IGNORE
+<U00F8>	<U00D8>;<NONE>;<SMALL>;IGNORE
+<U01FE>	<U00D8>;<ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U00D8>;<ACUTE>;<SMALL>;IGNORE
+<U00D6>	<U00D8>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U00D8>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U00D8>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U00D8>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U00C5>	<U00C5>;<NONE>;<CAPITAL>;IGNORE
+<U00E5>	<U00C5>;<NONE>;<SMALL>;IGNORE
+<A-A>	<U00C5>;<A-A>;<CAPITAL>;IGNORE
+<A-a>	<U00C5>;<A-A>;<CAPITAL-SMALL>;IGNORE
+<a-A>	<U00C5>;<A-A>;<SMALL-CAPITAL>;IGNORE
+<a-a>	<U00C5>;<A-A>;<SMALL>;IGNORE
+<U01FA>	<U00C5>;<U01FA>;<CAPITAL>;IGNORE
+<U01FB>	<U00C5>;<U01FA>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/oc_FR b/ap/build/uClibc/extra/locale/collation/oc_FR
new file mode 100644
index 0000000..d66184e
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/oc_FR
@@ -0,0 +1 @@
+copy "en_DK"
diff --git a/ap/build/uClibc/extra/locale/collation/pl_PL b/ap/build/uClibc/extra/locale/collation/pl_PL
new file mode 100644
index 0000000..b4c9a3b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/pl_PL
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U0104>	<U0104>;<NONE>;<CAPITAL>;IGNORE
+<U0105>	<U0104>;<NONE>;<SMALL>;IGNORE
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U0106>	<U0106>;<NONE>;<CAPITAL>;IGNORE
+<U0107>	<U0106>;<NONE>;<SMALL>;IGNORE
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0118>	<U0118>;<NONE>;<CAPITAL>;IGNORE
+<U0119>	<U0118>;<NONE>;<SMALL>;IGNORE
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U0141>	<U0141>;<NONE>;<CAPITAL>;IGNORE
+<U0142>	<U0141>;<NONE>;<SMALL>;IGNORE
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U0143>	<U0143>;<NONE>;<CAPITAL>;IGNORE
+<U0144>	<U0143>;<NONE>;<SMALL>;IGNORE
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U00D3>	<U00D3>;<NONE>;<CAPITAL>;IGNORE
+<U00F3>	<U00D3>;<NONE>;<SMALL>;IGNORE
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U015A>	<U015A>;<NONE>;<CAPITAL>;IGNORE
+<U015B>	<U015A>;<NONE>;<SMALL>;IGNORE
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0179>	<U0179>;<NONE>;<CAPITAL>;IGNORE
+<U017A>	<U0179>;<NONE>;<SMALL>;IGNORE
+<U017B>	<U017B>;<NONE>;<CAPITAL>;IGNORE
+<U017C>	<U017B>;<NONE>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/pt_BR b/ap/build/uClibc/extra/locale/collation/pt_BR
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/pt_BR
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/pt_PT b/ap/build/uClibc/extra/locale/collation/pt_PT
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/pt_PT
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/ro_RO b/ap/build/uClibc/extra/locale/collation/ro_RO
new file mode 100644
index 0000000..862db75
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ro_RO
@@ -0,0 +1,54 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
+% a a> a( b c d e f g h i i> j k l m n o p q r s s, t t, u v w x y z
+
+collating-symbol <a/>>
+collating-symbol <a(>
+collating-symbol <i/>>
+collating-symbol <s,>
+collating-symbol <t,>
+
+reorder-after <GRA>
+<CIR>
+<BRE>
+
+reorder-after <a>
+<a/>>
+<a(>
+reorder-after <i>
+<i/>>
+reorder-after <s>
+<s,>
+reorder-after <t>
+<t,>
+
+reorder-after <U0061>
+<U00E2> <a/>>;<CIR>;<MIN>;IGNORE
+<U0103> <a(>;<BRE>;<MIN>;IGNORE
+reorder-after <U0041>
+<U00C2> <a/>>;<CIR>;<CAP>;IGNORE
+<U0102> <a(>;<BRE>;<CAP>;IGNORE
+
+reorder-after <U0069>
+<U00EE> <i/>>;<CIR>;<MIN>;IGNORE
+reorder-after <U0049>
+<U00CE> <i/>>;<CIR>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<U0219> <s,>;<CDI>;<MIN>;IGNORE
+<U015F> <s,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0053>
+<U0218> <s,>;<CDI>;<MIN>;IGNORE
+<U015E> <s,>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0074>
+<U021B> <t,>;<CDI>;<MIN>;IGNORE
+<U0163> <t,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0054>
+<U021A> <t,>;<CDI>;<MIN>;IGNORE
+<U0162> <t,>;<CDI>;<CAP>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/ru_RU b/ap/build/uClibc/extra/locale/collation/ru_RU
new file mode 100644
index 0000000..342a761
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ru_RU
@@ -0,0 +1,15 @@
+copy "iso14651_t1"
+
+% iso14651_t1 is missing Ukrainian ghe
+collating-symbol <UKR-GHE>
+
+reorder-after <CYR-GZHE>
+<UKR-GHE>
+
+reorder-after <U0453>
+<U0491> <UKR-GHE>;<BAS>;<MIN>;IGNORE
+
+reorder-after <U0403>
+<U0490> <UKR-GHE>;<BAS>;<CAP>;IGNORE
+
+reorder-end
diff --git a/ap/build/uClibc/extra/locale/collation/ru_UA b/ap/build/uClibc/extra/locale/collation/ru_UA
new file mode 100644
index 0000000..342a761
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ru_UA
@@ -0,0 +1,15 @@
+copy "iso14651_t1"
+
+% iso14651_t1 is missing Ukrainian ghe
+collating-symbol <UKR-GHE>
+
+reorder-after <CYR-GZHE>
+<UKR-GHE>
+
+reorder-after <U0453>
+<U0491> <UKR-GHE>;<BAS>;<MIN>;IGNORE
+
+reorder-after <U0403>
+<U0490> <UKR-GHE>;<BAS>;<CAP>;IGNORE
+
+reorder-end
diff --git a/ap/build/uClibc/extra/locale/collation/se_NO b/ap/build/uClibc/extra/locale/collation/se_NO
new file mode 100644
index 0000000..9718edc
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/se_NO
@@ -0,0 +1,149 @@
+copy "iso14651_t1"
+
+collating-symbol <aring>
+collating-symbol <atilde>
+collating-symbol <acircumflex>
+collating-symbol <agrave>
+collating-symbol <aacute>
+collating-symbol <noae>
+collating-symbol <svae>
+collating-symbol <ccedilla>
+collating-symbol <ccaron>
+collating-symbol <ezh>
+collating-symbol <ezhcaron>
+collating-symbol <dstroke>
+collating-symbol <eth>
+collating-symbol <fhook>
+collating-symbol <gcaron>
+collating-symbol <gstroke>
+collating-symbol <kcaron>
+collating-symbol <otilde>
+collating-symbol <oe>
+collating-symbol <ssharp>
+collating-symbol <scaron>
+collating-symbol <oumlaut>
+collating-symbol <oslash>
+
+% 
+reorder-after <CAP>
+<MIN>
+
+reorder-after <a>
+<agrave>
+<atilde>
+<aacute>
+<acircumflex>
+
+
+reorder-after <c>
+<ccaron>
+<ccedilla>
+<ezh>
+<ezhcaron>
+
+reorder-after <d>
+<dstroke>
+<eth>
+
+reorder-after <f>
+<fhook>
+
+reorder-after <g>
+<gcaron>
+<gstroke>
+
+reorder-after <k>
+<kcaron>
+
+reorder-after <s>
+<ssharp>
+<scaron>
+
+reorder-after <th>
+<noae>
+<oslash>
+<aring>
+<svae>
+<oumlaut>
+
+reorder-after <U0061>
+<U00E0> <agrave>;<GRA>;<MIN>;IGNORE % 201 à
+<U00E1> <aacute>;<ACA>;<MIN>;IGNORE % 200 á
+<U00E2> <acircumflex>;<CIR>;<MIN>;IGNORE % 202 â
+<U00E3> <atilde>;<TIL>;<MIN>;IGNORE % 203 ã
+
+reorder-after <U0041>
+<U00C0> <agrave>;<GRA>;<CAP>;IGNORE % 321 À
+<U00C1> <aacute>;<ACA>;<CAP>;IGNORE % 320 Á
+<U00C2> <acircumflex>;<CIR>;<CAP>;IGNORE % 322 Â
+<U00C3> <atilde>;<TIL>;<CAP>;IGNORE % 323 Ã
+
+reorder-after <U0063>
+<U00E7> <ccedilla>;<CDI>;<MIN>;IGNORE % 212 ç
+<U010D> <ccaron>;<CAR>;<MIN>;IGNORE % 215 <c<>
+
+reorder-after <U0043>
+<U00C7> <ccedilla>;<CDI>;<CAP>;IGNORE % 332 Ç
+<U010C> <ccaron>;<CAR>;<CAP>;IGNORE % 335 <C<>
+
+reorder-after <U010B>
+<U0292> <ezh>;<BAS>;<MIN>;IGNORE % ezh
+<U01EF> <ezhcaron>;<CAR>;<MIN>;IGNORE % ezh caron
+
+reorder-after <U010A>
+<U01B7> <ezh>;<BAS>;<MIN>;IGNORE % EZH
+<U01EE> <ezhcaron>;<CAR>;<CAP>;IGNORE % EZH caron
+
+reorder-after <U0064>
+<U00F0> <eth>;<PCL>;<MIN>;IGNORE % 218 ð
+<U0111> <dstroke>;<OBL>;<MIN>;IGNORE % 220 <d//>
+
+reorder-after <U0044>
+<U00D0> <eth>;<PCL>;<CAP>;IGNORE % 338 Ð
+<U0110> <dstroke>;<OBL>;<CAP>;IGNORE % 340 <D//>
+
+reorder-after <U0066>
+<U0192> <fhook>;<BAS>;<MIN>;IGNORE % f WITH HOOK
+
+reorder-after <U0123>
+<U01E7> <gcaron>;<CAR>;<MIN>;IGNORE % gcaron
+<U01E5> <gstroke>;<OBL>;<MIN>;IGNORE % gstroke
+
+reorder-after <U0122>
+<U01E6> <gcaron>;<CAR>;<MIN>;IGNORE % Gcaron
+<U01E4> <gstroke>;<OBL>;<MIN>;IGNORE % Gstroke
+
+reorder-after <U0137>
+<U01E9> <kcaron>;<CAR>;<MIN>;IGNORE % kcaron
+reorder-after <U0136>
+<U01E8> <kcaron>;<CAR>;<CAP>;IGNORE % Kcaron
+
+reorder-after <U0053>
+<U00DF> <ssharp>;"<LIG><LIG>";"<MIN><MIN>";IGNORE % ß
+<U0161> <scaron>;<CAR>;<MIN>;IGNORE % 288 <s<>
+<U0160> <scaron>;<CAR>;<CAP>;IGNORE % 405 <S<>
+
+
+reorder-after <U00E3>
+<U00E4> <svae>;<REU>;<MIN>;IGNORE % ä
+<U00E5> <aring>;<RNE>;<MIN>;IGNORE % å
+<U00E6> <noae>;<LIG>;<MIN>;IGNORE % æ
+reorder-after <U00F5>
+<U00F6> <oumlaut>;<REU>;<MIN>;IGNORE % ö
+<U00F8> <oslash>;<OBL>;<MIN>;IGNORE % ø
+
+reorder-after <U00C3>
+<U00C4> <svae>;<REU>;<CAP>;IGNORE % Ä
+<U00C5> <aring>;<RNE>;<CAP>;IGNORE % Å
+<U00C6> <noae>;<LIG>;<CAP>;IGNORE % Æ
+reorder-after <U00D5>
+<U00D6> <oumlaut>;<REU>;<CAP>;IGNORE % Ö
+<U00D8> <oslash>;<OBL>;<CAP>;IGNORE % Ø
+
+% ü/Ü is treated like y/Y but is sorted after the latter
+reorder-after <U00FB>
+<U00FC> <y>;<REU>;<MIN>;IGNORE % ü
+reorder-after <U00DB>
+<U00DC> <y>;<REU>;<CAP>;IGNORE % Ü
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/sk_SK b/ap/build/uClibc/extra/locale/collation/sk_SK
new file mode 100644
index 0000000..245653c
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/sk_SK
@@ -0,0 +1 @@
+copy "cs_CZ"
diff --git a/ap/build/uClibc/extra/locale/collation/sl_SI b/ap/build/uClibc/extra/locale/collation/sl_SI
new file mode 100644
index 0000000..7f7ad23
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/sl_SI
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<SMALL>
+<SMALL-CAPITAL>
+<CAPITAL-SMALL>
+<CAPITAL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U00C7>	<U0043>;<CEDILLA>;<CAPITAL>;IGNORE
+<U00E7>	<U0043>;<CEDILLA>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U010C>	<U010D>;<NONE>;<CAPITAL>;IGNORE
+<U010D>	<U010D>;<NONE>;<SMALL>;IGNORE
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011E>	<U0047>;<BREVE>;<CAPITAL>;IGNORE
+<U011F>	<U0047>;<BREVE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0130>	<U0049>;<DOT>;<CAPITAL>;IGNORE
+<U0131>	<U0049>;<DOT>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U00D6>	<U004F>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00F6>	<U004F>;<DIAERESIS>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<U015E>	<U0053>;<CEDILLA>;<CAPITAL>;IGNORE
+<U015F>	<U0053>;<CEDILLA>;<SMALL>;IGNORE
+<s8>
+<U0160>	<U0161>;<NONE>;<CAPITAL>;IGNORE
+<U0161>	<U0161>;<NONE>;<SMALL>;IGNORE
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U00DC>	<U0055>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FC>	<U0055>;<DIAERESIS>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U017D>	<U017E>;<NONE>;<CAPITAL>;IGNORE
+<U017E>	<U017E>;<NONE>;<SMALL>;IGNORE
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/sq_AL b/ap/build/uClibc/extra/locale/collation/sq_AL
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/sq_AL
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/sr_YU b/ap/build/uClibc/extra/locale/collation/sr_YU
new file mode 100644
index 0000000..1dcd15c
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/sr_YU
@@ -0,0 +1,90 @@
+copy "iso14651_t1"
+
+% a b c c' c< d dz< d// e f g h i j k l lj m n nj o p
+% q r s s< t u v w x y z z<
+
+collating-symbol  <d-z-sh>
+collating-element <D-Z<> from "<U0044><U017D>"
+collating-element <D-z<> from "<U0044><U017E>"
+collating-element <d-Z<> from "<U0064><U017D>"
+collating-element <d-z<> from "<U0064><U017E>"
+collating-symbol  <l-j-sh>
+collating-element <L-J> from "<U004C><U004A>"
+collating-element <L-j> from "<U004C><U006A>"
+collating-element <l-J> from "<U006C><U004A>"
+collating-element <l-j> from "<U006C><U006A>"
+collating-symbol  <n-j-sh>
+collating-element <N-J> from "<U004E><U004A>"
+collating-element <N-j> from "<U004E><U006A>"
+collating-element <n-J> from "<U006E><U004A>"
+collating-element <n-j> from "<U006E><U006A>"
+collating-symbol <cacute>
+collating-symbol <ccaron>
+collating-symbol <d//>
+collating-symbol <scaron>
+collating-symbol <zcaron>
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <c>
+<cacute>
+<ccaron>
+<d>
+<d-z-sh>
+<d//>
+reorder-after <l>
+<l-j-sh>
+reorder-after <n>
+<n-j-sh>
+reorder-after <s>
+<scaron>
+reorder-after <z>
+<zcaron>
+
+reorder-after <U0063>
+<U0107>	<cacute>;<PCT>;<MIN>;IGNORE
+<U010D>	<ccaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U0043>
+<U0106>	<cacute>;<PCT>;<CAP>;IGNORE
+<U010C>	<ccaron>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U0064>
+<d-z<>	<d-z-sh>;<PCT>;<MIN>;IGNORE
+<d-Z<>	<d-z-sh>;<PCT>;<MIN-CAP>;IGNORE
+<U0111>	<d//>;<PCT>;<MIN>;IGNORE
+reorder-after <U0044>
+<D-Z<>	<d-z-sh>;<PCT>;<CAP>;IGNORE
+<D-z<>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
+<U0110>	<d//>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U006C>
+<l-j>	<l-j-sh>;<PCT>;<MIN>;IGNORE
+<l-J>	<l-j-sh>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004C>
+<L-J>	<l-j-sh>;<PCT>;<CAP>;IGNORE
+<L-j>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U006E>
+<n-j>	<n-j-sh>;<PCT>;<MIN>;IGNORE
+<n-J>	<n-j-sh>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004E>
+<N-J>	<n-j-sh>;<PCT>;<CAP>;IGNORE
+<N-j>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-after <U0073>
+<U0161>	<scaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U0053>
+<U0160>	<scaron>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U007A>
+<U017E>	<zcaron>;<PCT>;<MIN>;IGNORE
+reorder-after <U005A>
+<U017D>	<zcaron>;<PCT>;<CAP>;IGNORE
+
+reorder-end
diff --git a/ap/build/uClibc/extra/locale/collation/sv_FI b/ap/build/uClibc/extra/locale/collation/sv_FI
new file mode 100644
index 0000000..ab50386
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/sv_FI
@@ -0,0 +1 @@
+copy "fi_FI"
diff --git a/ap/build/uClibc/extra/locale/collation/sv_SE b/ap/build/uClibc/extra/locale/collation/sv_SE
new file mode 100644
index 0000000..2d299a4
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/sv_SE
@@ -0,0 +1,51 @@
+copy "iso14651_t1"
+
+collating-symbol <aring>
+collating-symbol <ae>
+collating-symbol <oumlaut>
+collating-symbol <oslash>
+
+% æ is sorted after ä and å etc.
+reorder-after <REU>
+<LIG>
+
+reorder-after <z>
+<aring>
+<ae>
+<oumlaut>
+<oslash>
+
+% The letter w is normally not present in the Swedish alphabet. It
+% exists in some names in Swedish and foreign words, but is accounted
+% for as a variant of 'v'.  Words and names with 'w' are in Swedish
+% ordered alphabetically among the words and names with 'v'. If two
+% words or names are only to be distinguished by 'v' or % 'w', 'v' is
+% placed before 'w'.
+reorder-after <U0056>
+<U0057> <v>;<BAS>;<CAP>;<w> % W
+reorder-after <U0076>
+<U0077> <v>;<BAS>;<MIN>;<w> % w
+
+reorder-after <U00E3>
+<U00E4> <ae>;<REU>;<MIN>;IGNORE % ä
+<U00E5> <aring>;<RNE>;<MIN>;IGNORE % å
+<U00E6> <ae>;<LIG>;<MIN>;IGNORE % æ
+reorder-after <U00F5>
+<U00F6> <oumlaut>;<REU>;<MIN>;IGNORE % ö
+<U00F8> <oslash>;<OBL>;<MIN>;IGNORE % ø
+
+reorder-after <U00C3>
+<U00C4> <ae>;<REU>;<CAP>;IGNORE % Ä
+<U00C5> <aring>;<RNE>;<CAP>;IGNORE % Å
+<U00C6> <ae>;<LIG>;<CAP>;IGNORE % Æ
+reorder-after <U00D5>
+<U00D6> <oumlaut>;<REU>;<CAP>;IGNORE % Ö
+<U00D8> <oslash>;<OBL>;<CAP>;IGNORE % Ø
+
+% ü/Ü is treated like y/Y but is sorted after the latter
+reorder-after <U00FB>
+<U00FC> <y>;<REU>;<MIN>;IGNORE % ü
+reorder-after <U00DB>
+<U00DC> <y>;<REU>;<CAP>;IGNORE % Ü
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/ta_IN b/ap/build/uClibc/extra/locale/collation/ta_IN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ta_IN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/te_IN b/ap/build/uClibc/extra/locale/collation/te_IN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/te_IN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/tg_TJ b/ap/build/uClibc/extra/locale/collation/tg_TJ
new file mode 100644
index 0000000..e2f01ae
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/tg_TJ
@@ -0,0 +1,63 @@
+
+% Tadjik cyrillic alphabet is:
+% <U0430>, <U0431>, <U0432>, <U0433>, <U0493> (cyr ghe with stroke), <U0434>, <U0435>,
+% <U0451>, <U0436>, <U0437>, <U0438>, <U04E3> (cyr i with macron), <U0439>, <U043A>,
+% <U049B> (cyr k with descender), <U043B>, <U043C>, <U043D>, <U043E>, <U043F>, <U0440>,
+% <U0441>, <U0442>, <U0443>, <U04EF> (cyr u with macron), <U0444>, <U0445>,
+% <U04B3> (cyr ha with descender), <U0447>, <U04B7> (cyr che with descender),
+% <U0448>, <U044A> (cyr hard sign), <U044D>, <U044E>, <U044F>
+
+copy "iso14651_t1"
+
+collating-symbol <g-=>
+collating-symbol <i-=>
+collating-symbol <k,=>
+collating-symbol <u-=>
+collating-symbol <h,=>
+collating-symbol <c%,=>
+
+reorder-after <CYR-GHE>
+<g-=>
+reorder-after <CYR-I>
+<i-=>
+reorder-after <CYR-KA>
+<k,=>
+reorder-after <CYR-OU>
+<u-=>
+reorder-after <CYR-HA>
+<h,=>
+reorder-after <CYR-CHE>
+<c%,=>
+
+reorder-after <U0433>
+<U0493> <g-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0413>
+<U0492> <g-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0438>
+<U04E3> <i-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0418>
+<U04E2> <i-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043A>
+<U049B> <k,=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041A>
+<U049A> <k,=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0443>
+<U04EF> <u-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0423>
+<U04EE> <u-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0445>
+<U04B3> <h,=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0425>
+<U04B2> <h,=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0447>
+<U04B7> <c%,=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0427>
+<U04B6> <c%,=>;<PCL>;<CAP>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/th_TH b/ap/build/uClibc/extra/locale/collation/th_TH
new file mode 100644
index 0000000..6e3230f
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/th_TH
@@ -0,0 +1,746 @@
+
+collating-element <ko-kai-e> from "<U0E40><U0E01>"
+collating-element <ko-kai-ae> from "<U0E41><U0E01>"
+collating-element <ko-kai-o> from "<U0E42><U0E01>"
+collating-element <ko-kai-ai-maimuan> from "<U0E43><U0E01>"
+collating-element <ko-kai-ai-maimalai> from "<U0E44><U0E01>"
+
+collating-element <kho-khai-e> from "<U0E40><U0E02>"
+collating-element <kho-khai-ae> from "<U0E41><U0E02>"
+collating-element <kho-khai-o> from "<U0E42><U0E02>"
+collating-element <kho-khai-ai-maimuan> from "<U0E43><U0E02>"
+collating-element <kho-khai-ai-maimalai> from "<U0E44><U0E02>"
+
+collating-element <kho-khuat-e> from "<U0E40><U0E03>"
+collating-element <kho-khuat-ae> from "<U0E41><U0E03>"
+collating-element <kho-khuat-o> from "<U0E42><U0E03>"
+collating-element <kho-khuat-ai-maimuan> from "<U0E43><U0E03>"
+collating-element <kho-khuat-ai-maimalai> from "<U0E44><U0E03>"
+
+collating-element <kho-khwai-e> from "<U0E40><U0E04>"
+collating-element <kho-khwai-ae> from "<U0E41><U0E04>"
+collating-element <kho-khwai-o> from "<U0E42><U0E04>"
+collating-element <kho-khwai-ai-maimuan> from "<U0E43><U0E04>"
+collating-element <kho-khwai-ai-maimalai> from "<U0E44><U0E04>"
+
+collating-element <kho-khon-e> from "<U0E40><U0E05>"
+collating-element <kho-khon-ae> from "<U0E41><U0E05>"
+collating-element <kho-khon-o> from "<U0E42><U0E05>"
+collating-element <kho-khon-ai-maimuan> from "<U0E43><U0E05>"
+collating-element <kho-khon-ai-maimalai> from "<U0E44><U0E05>"
+
+collating-element <kho-rakhang-e> from "<U0E40><U0E06>"
+collating-element <kho-rakhang-ae> from "<U0E41><U0E06>"
+collating-element <kho-rakhang-o> from "<U0E42><U0E06>"
+collating-element <kho-rakhang-ai-maimuan> from "<U0E43><U0E06>"
+collating-element <kho-rakhang-ai-maimalai> from "<U0E44><U0E06>"
+
+collating-element <ngo-ngu-e> from "<U0E40><U0E07>"
+collating-element <ngo-ngu-ae> from "<U0E41><U0E07>"
+collating-element <ngo-ngu-o> from "<U0E42><U0E07>"
+collating-element <ngo-ngu-ai-maimuan> from "<U0E43><U0E07>"
+collating-element <ngo-ngu-ai-maimalai> from "<U0E44><U0E07>"
+
+collating-element <cho-chan-e> from "<U0E40><U0E08>"
+collating-element <cho-chan-ae> from "<U0E41><U0E08>"
+collating-element <cho-chan-o> from "<U0E42><U0E08>"
+collating-element <cho-chan-ai-maimuan> from "<U0E43><U0E08>"
+collating-element <cho-chan-ai-maimalai> from "<U0E44><U0E08>"
+
+collating-element <cho-ching-e> from "<U0E40><U0E09>"
+collating-element <cho-ching-ae> from "<U0E41><U0E09>"
+collating-element <cho-ching-o> from "<U0E42><U0E09>"
+collating-element <cho-ching-ai-maimuan> from "<U0E43><U0E09>"
+collating-element <cho-ching-ai-maimalai> from "<U0E44><U0E09>"
+
+collating-element <cho-chang-e> from "<U0E40><U0E0A>"
+collating-element <cho-chang-ae> from "<U0E41><U0E0A>"
+collating-element <cho-chang-o> from "<U0E42><U0E0A>"
+collating-element <cho-chang-ai-maimuan> from "<U0E43><U0E0A>"
+collating-element <cho-chang-ai-maimalai> from "<U0E44><U0E0A>"
+
+collating-element <so-so-e> from "<U0E40><U0E0B>"
+collating-element <so-so-ae> from "<U0E41><U0E0B>"
+collating-element <so-so-o> from "<U0E42><U0E0B>"
+collating-element <so-so-ai-maimuan> from "<U0E43><U0E0B>"
+collating-element <so-so-ai-maimalai> from "<U0E44><U0E0B>"
+
+collating-element <cho-choe-e> from "<U0E40><U0E0C>"
+collating-element <cho-choe-ae> from "<U0E41><U0E0C>"
+collating-element <cho-choe-o> from "<U0E42><U0E0C>"
+collating-element <cho-choe-ai-maimuan> from "<U0E43><U0E0C>"
+collating-element <cho-choe-ai-maimalai> from "<U0E44><U0E0C>"
+
+collating-element <yo-ying-e> from "<U0E40><U0E0D>"
+collating-element <yo-ying-ae> from "<U0E41><U0E0D>"
+collating-element <yo-ying-o> from "<U0E42><U0E0D>"
+collating-element <yo-ying-ai-maimuan> from "<U0E43><U0E0D>"
+collating-element <yo-ying-ai-maimalai> from "<U0E44><U0E0D>"
+
+collating-element <do-chada-e> from "<U0E40><U0E0E>"
+collating-element <do-chada-ae> from "<U0E41><U0E0E>"
+collating-element <do-chada-o> from "<U0E42><U0E0E>"
+collating-element <do-chada-ai-maimuan> from "<U0E43><U0E0E>"
+collating-element <do-chada-ai-maimalai> from "<U0E44><U0E0E>"
+
+collating-element <to-patak-e> from "<U0E40><U0E0F>"
+collating-element <to-patak-ae> from "<U0E41><U0E0F>"
+collating-element <to-patak-o> from "<U0E42><U0E0F>"
+collating-element <to-patak-ai-maimuan> from "<U0E43><U0E0F>"
+collating-element <to-patak-ai-maimalai> from "<U0E44><U0E0F>"
+
+collating-element <tho-than-e> from "<U0E40><U0E10>"
+collating-element <tho-than-ae> from "<U0E41><U0E10>"
+collating-element <tho-than-o> from "<U0E42><U0E10>"
+collating-element <tho-than-ai-maimuan> from "<U0E43><U0E10>"
+collating-element <tho-than-ai-maimalai> from "<U0E44><U0E10>"
+
+collating-element <tho-nangmontho-e> from "<U0E40><U0E11>"
+collating-element <tho-nangmontho-ae> from "<U0E41><U0E11>"
+collating-element <tho-nangmontho-o> from "<U0E42><U0E11>"
+collating-element <tho-nangmontho-ai-maimuan> from "<U0E43><U0E11>"
+collating-element <tho-nangmontho-ai-maimalai> from "<U0E44><U0E11>"
+
+collating-element <tho-phuthao-e> from "<U0E40><U0E12>"
+collating-element <tho-phuthao-ae> from "<U0E41><U0E12>"
+collating-element <tho-phuthao-o> from "<U0E42><U0E12>"
+collating-element <tho-phuthao-ai-maimuan> from "<U0E43><U0E12>"
+collating-element <tho-phuthao-ai-maimalai> from "<U0E44><U0E12>"
+
+collating-element <no-nen-e> from "<U0E40><U0E13>"
+collating-element <no-nen-ae> from "<U0E41><U0E13>"
+collating-element <no-nen-o> from "<U0E42><U0E13>"
+collating-element <no-nen-ai-maimuan> from "<U0E43><U0E13>"
+collating-element <no-nen-ai-maimalai> from "<U0E44><U0E13>"
+
+collating-element <do-dek-e> from "<U0E40><U0E14>"
+collating-element <do-dek-ae> from "<U0E41><U0E14>"
+collating-element <do-dek-o> from "<U0E42><U0E14>"
+collating-element <do-dek-ai-maimuan> from "<U0E43><U0E14>"
+collating-element <do-dek-ai-maimalai> from "<U0E44><U0E14>"
+
+collating-element <to-tao-e> from "<U0E40><U0E15>"
+collating-element <to-tao-ae> from "<U0E41><U0E15>"
+collating-element <to-tao-o> from "<U0E42><U0E15>"
+collating-element <to-tao-ai-maimuan> from "<U0E43><U0E15>"
+collating-element <to-tao-ai-maimalai> from "<U0E44><U0E15>"
+
+collating-element <tho-thung-e> from "<U0E40><U0E16>"
+collating-element <tho-thung-ae> from "<U0E41><U0E16>"
+collating-element <tho-thung-o> from "<U0E42><U0E16>"
+collating-element <tho-thung-ai-maimuan> from "<U0E43><U0E16>"
+collating-element <tho-thung-ai-maimalai> from "<U0E44><U0E16>"
+
+collating-element <tho-thahan-e> from "<U0E40><U0E17>"
+collating-element <tho-thahan-ae> from "<U0E41><U0E17>"
+collating-element <tho-thahan-o> from "<U0E42><U0E17>"
+collating-element <tho-thahan-ai-maimuan> from "<U0E43><U0E17>"
+collating-element <tho-thahan-ai-maimalai> from "<U0E44><U0E17>"
+
+collating-element <tho-thong-e> from "<U0E40><U0E18>"
+collating-element <tho-thong-ae> from "<U0E41><U0E18>"
+collating-element <tho-thong-o> from "<U0E42><U0E18>"
+collating-element <tho-thong-ai-maimuan> from "<U0E43><U0E18>"
+collating-element <tho-thong-ai-maimalai> from "<U0E44><U0E18>"
+
+collating-element <no-nu-e> from "<U0E40><U0E19>"
+collating-element <no-nu-ae> from "<U0E41><U0E19>"
+collating-element <no-nu-o> from "<U0E42><U0E19>"
+collating-element <no-nu-ai-maimuan> from "<U0E43><U0E19>"
+collating-element <no-nu-ai-maimalai> from "<U0E44><U0E19>"
+
+collating-element <bo-baimai-e> from "<U0E40><U0E1A>"
+collating-element <bo-baimai-ae> from "<U0E41><U0E1A>"
+collating-element <bo-baimai-o> from "<U0E42><U0E1A>"
+collating-element <bo-baimai-ai-maimuan> from "<U0E43><U0E1A>"
+collating-element <bo-baimai-ai-maimalai> from "<U0E44><U0E1A>"
+
+collating-element <po-pla-e> from "<U0E40><U0E1B>"
+collating-element <po-pla-ae> from "<U0E41><U0E1B>"
+collating-element <po-pla-o> from "<U0E42><U0E1B>"
+collating-element <po-pla-ai-maimuan> from "<U0E43><U0E1B>"
+collating-element <po-pla-ai-maimalai> from "<U0E44><U0E1B>"
+
+collating-element <pho-phung-e> from "<U0E40><U0E1C>"
+collating-element <pho-phung-ae> from "<U0E41><U0E1C>"
+collating-element <pho-phung-o> from "<U0E42><U0E1C>"
+collating-element <pho-phung-ai-maimuan> from "<U0E43><U0E1C>"
+collating-element <pho-phung-ai-maimalai> from "<U0E44><U0E1C>"
+
+collating-element <fo-fa-e> from "<U0E40><U0E1D>"
+collating-element <fo-fa-ae> from "<U0E41><U0E1D>"
+collating-element <fo-fa-o> from "<U0E42><U0E1D>"
+collating-element <fo-fa-ai-maimuan> from "<U0E43><U0E1D>"
+collating-element <fo-fa-ai-maimalai> from "<U0E44><U0E1D>"
+
+collating-element <pho-phan-e> from "<U0E40><U0E1E>"
+collating-element <pho-phan-ae> from "<U0E41><U0E1E>"
+collating-element <pho-phan-o> from "<U0E42><U0E1E>"
+collating-element <pho-phan-ai-maimuan> from "<U0E43><U0E1E>"
+collating-element <pho-phan-ai-maimalai> from "<U0E44><U0E1E>"
+
+collating-element <fo-fan-e> from "<U0E40><U0E1F>"
+collating-element <fo-fan-ae> from "<U0E41><U0E1F>"
+collating-element <fo-fan-o> from "<U0E42><U0E1F>"
+collating-element <fo-fan-ai-maimuan> from "<U0E43><U0E1F>"
+collating-element <fo-fan-ai-maimalai> from "<U0E44><U0E1F>"
+
+collating-element <pho-samphao-e> from "<U0E40><U0E20>"
+collating-element <pho-samphao-ae> from "<U0E41><U0E20>"
+collating-element <pho-samphao-o> from "<U0E42><U0E20>"
+collating-element <pho-samphao-ai-maimuan> from "<U0E43><U0E20>"
+collating-element <pho-samphao-ai-maimalai> from "<U0E44><U0E20>"
+
+collating-element <mo-ma-e> from "<U0E40><U0E21>"
+collating-element <mo-ma-ae> from "<U0E41><U0E21>"
+collating-element <mo-ma-o> from "<U0E42><U0E21>"
+collating-element <mo-ma-ai-maimuan> from "<U0E43><U0E21>"
+collating-element <mo-ma-ai-maimalai> from "<U0E44><U0E21>"
+
+collating-element <yo-yak-e> from "<U0E40><U0E22>"
+collating-element <yo-yak-ae> from "<U0E41><U0E22>"
+collating-element <yo-yak-o> from "<U0E42><U0E22>"
+collating-element <yo-yak-ai-maimuan> from "<U0E43><U0E22>"
+collating-element <yo-yak-ai-maimalai> from "<U0E44><U0E22>"
+
+collating-element <ro-rua-e> from "<U0E40><U0E23>"
+collating-element <ro-rua-ae> from "<U0E41><U0E23>"
+collating-element <ro-rua-o> from "<U0E42><U0E23>"
+collating-element <ro-rua-ai-maimuan> from "<U0E43><U0E23>"
+collating-element <ro-rua-ai-maimalai> from "<U0E44><U0E23>"
+
+collating-element <lo-ling-e> from "<U0E40><U0E25>"
+collating-element <lo-ling-ae> from "<U0E41><U0E25>"
+collating-element <lo-ling-o> from "<U0E42><U0E25>"
+collating-element <lo-ling-ai-maimuan> from "<U0E43><U0E25>"
+collating-element <lo-ling-ai-maimalai> from "<U0E44><U0E25>"
+
+collating-element <wo-waen-e> from "<U0E40><U0E27>"
+collating-element <wo-waen-ae> from "<U0E41><U0E27>"
+collating-element <wo-waen-o> from "<U0E42><U0E27>"
+collating-element <wo-waen-ai-maimuan> from "<U0E43><U0E27>"
+collating-element <wo-waen-ai-maimalai> from "<U0E44><U0E27>"
+
+collating-element <so-sala-e> from "<U0E40><U0E28>"
+collating-element <so-sala-ae> from "<U0E41><U0E28>"
+collating-element <so-sala-o> from "<U0E42><U0E28>"
+collating-element <so-sala-ai-maimuan> from "<U0E43><U0E28>"
+collating-element <so-sala-ai-maimalai> from "<U0E44><U0E28>"
+
+collating-element <so-rusi-e> from "<U0E40><U0E29>"
+collating-element <so-rusi-ae> from "<U0E41><U0E29>"
+collating-element <so-rusi-o> from "<U0E42><U0E29>"
+collating-element <so-rusi-ai-maimuan> from "<U0E43><U0E29>"
+collating-element <so-rusi-ai-maimalai> from "<U0E44><U0E29>"
+
+collating-element <so-sua-e> from "<U0E40><U0E2A>"
+collating-element <so-sua-ae> from "<U0E41><U0E2A>"
+collating-element <so-sua-o> from "<U0E42><U0E2A>"
+collating-element <so-sua-ai-maimuan> from "<U0E43><U0E2A>"
+collating-element <so-sua-ai-maimalai> from "<U0E44><U0E2A>"
+
+collating-element <ho-hip-e> from "<U0E40><U0E2B>"
+collating-element <ho-hip-ae> from "<U0E41><U0E2B>"
+collating-element <ho-hip-o> from "<U0E42><U0E2B>"
+collating-element <ho-hip-ai-maimuan> from "<U0E43><U0E2B>"
+collating-element <ho-hip-ai-maimalai> from "<U0E44><U0E2B>"
+
+collating-element <lo-chula-e> from "<U0E40><U0E2C>"
+collating-element <lo-chula-ae> from "<U0E41><U0E2C>"
+collating-element <lo-chula-o> from "<U0E42><U0E2C>"
+collating-element <lo-chula-ai-maimuan> from "<U0E43><U0E2C>"
+collating-element <lo-chula-ai-maimalai> from "<U0E44><U0E2C>"
+
+collating-element <o-ang-e> from "<U0E40><U0E2D>"
+collating-element <o-ang-ae> from "<U0E41><U0E2D>"
+collating-element <o-ang-o> from "<U0E42><U0E2D>"
+collating-element <o-ang-ai-maimuan> from "<U0E43><U0E2D>"
+collating-element <o-ang-ai-maimalai> from "<U0E44><U0E2D>"
+
+collating-element <ho-nokhuk-e> from "<U0E40><U0E2E>"
+collating-element <ho-nokhuk-ae> from "<U0E41><U0E2E>"
+collating-element <ho-nokhuk-o> from "<U0E42><U0E2E>"
+collating-element <ho-nokhuk-ai-maimuan> from "<U0E43><U0E2E>"
+collating-element <ho-nokhuk-ai-maimalai> from "<U0E44><U0E2E>"
+
+collating-symbol  <BLANK>
+collating-symbol  <THAII>
+collating-symbol  <CAP>
+collating-symbol  <MIN>
+collating-symbol  <EXTRA>
+
+order_start   forward;forward;forward;forward
+
+% definitions of extra collating symbols
+<BLANK>
+<THAII>
+<CAP>
+<MIN>
+<EXTRA>
+
+UNDEFINED      IGNORE;IGNORE;IGNORE;IGNORE
+
+% punctuation marks, ordered after ISO/IEC 14651
+<U0020>        IGNORE;IGNORE;<U0020>;IGNORE          % SPACE
+<U005F>   IGNORE;IGNORE;<U005F>;IGNORE     % LOW LINE
+<U002D>       IGNORE;IGNORE;<U002D>;IGNORE         % HYPHEN-MINUS
+<U002C>        IGNORE;IGNORE;<U002C>;IGNORE          % COMMA
+<U003B>    IGNORE;IGNORE;<U003B>;IGNORE      % SEMICOLON
+<U003A>        IGNORE;IGNORE;<U003A>;IGNORE          % COLON
+<U0021> IGNORE;IGNORE;<U0021>;IGNORE  % EXCLAMATION MARK
+<U003F>    IGNORE;IGNORE;<U003F>;IGNORE     % QUESTION MARK
+<U002F>        IGNORE;IGNORE;<U002F>;IGNORE          % SOLIDUS
+<U002E>       IGNORE;IGNORE;<U002E>;IGNORE         % FULL STOP
+<U0E2F>        IGNORE;IGNORE;<U0E2F>;IGNORE          % THAI CHARACTER PAIYANNOI
+<U0E46>        IGNORE;IGNORE;<U0E46>;IGNORE          % THAI CHARACTER MAIYAMOK
+<U0060> IGNORE;IGNORE;<U0060>;IGNORE   % GRAVE ACCENT
+<U005E>   IGNORE;IGNORE;<U005E>;IGNORE     % CIRCUMFLEX
+<U007E>        IGNORE;IGNORE;<U007E>;IGNORE          % TILDE
+<U0027>        IGNORE;IGNORE;<U0027>;IGNORE    % APOSTROPHE
+<U0022>    IGNORE;IGNORE;<U0022>;IGNORE    % QUOTATION MARK
+<U0028>  IGNORE;IGNORE;<U0028>;IGNORE  % LEFT PAREN.
+<U005B> IGNORE;IGNORE;<U005B>;IGNORE  % LT BRACKET
+<U007B>        IGNORE;IGNORE;<U007B>;IGNORE    % LEFT CURLY BRACKET
+<U007D>       IGNORE;IGNORE;<U007D>;IGNORE   % RIGHT CURLY BRACKET
+<U005D> IGNORE;IGNORE;<U005D>;IGNORE % RT BRACKET
+<U0029> IGNORE;IGNORE;<U0029>;IGNORE % RIGHT PAREN.
+<U0040>     IGNORE;IGNORE;<U0040>;IGNORE     % COMMERCIAL AT
+<U0E3F>             IGNORE;IGNORE;<U0E3F>;IGNORE  % THAI CHARACTER SYMBOL BAHT
+<U0024>       IGNORE;IGNORE;<U0024>;IGNORE   % DOLLAR SIGN
+<U0E4F>             IGNORE;IGNORE;<U0E4F>;IGNORE  % THAI CHARACTER FONGMAN
+<U0E5A>             IGNORE;IGNORE;<U0E5A>;IGNORE  % THAI CHARACTER ANGKHANKHU
+<U0E5B>             IGNORE;IGNORE;<U0E5B>;IGNORE  % THAI CHARACTER KHOMUT
+<U002A>          IGNORE;IGNORE;<U002A>;IGNORE      % ASTERISK
+<U005C>         IGNORE;IGNORE;<U005C>;IGNORE     % BACK SOLIDUS
+<U0026>         IGNORE;IGNORE;<U0026>;IGNORE     % AMPERSAND
+<U0023>       IGNORE;IGNORE;<U0023>;IGNORE   % NUMBER SIGN
+<U0025>      IGNORE;IGNORE;<U0025>;IGNORE  % PERCENT
+<U002B>         IGNORE;IGNORE;<U002B>;IGNORE     % PLUS
+<U003C>    IGNORE;IGNORE;<U003C>;IGNORE     % LESS THAN
+<U003D>       IGNORE;IGNORE;<U003D>;IGNORE   % EQUAL
+<U003E> IGNORE;IGNORE;<U003E>;IGNORE  % GREATER THAN
+<U007C>     IGNORE;IGNORE;<U007C>;IGNORE % VERTICAL LINE
+
+% Thai tone marks and diacritics
+<U0E4E>        IGNORE;<U0E4E>;<BLANK>;<BLANK>  % THAI CHARACTER YAMAKKAN
+<U0E3A>        IGNORE;<U0E3A>;<BLANK>;<BLANK>  % THAI CHARACTER PINTHU
+<U0E4C>        IGNORE;<U0E4C>;<BLANK>;<BLANK>  % THAI CHARACTER THANTHAKHAT
+<U0E47>        IGNORE;<U0E47>;<BLANK>;<BLANK>  % THAI CHARACTER MAITAIKHU
+<U0E48>        IGNORE;<U0E48>;<BLANK>;<BLANK>  % THAI CHARACTER MAI EK
+<U0E49>        IGNORE;<U0E49>;<BLANK>;<BLANK>  % THAI CHARACTER MAI THO
+<U0E4A>        IGNORE;<U0E4A>;<BLANK>;<BLANK>  % THAI CHARACTER MAI TRI
+<U0E4B>        IGNORE;<U0E4B>;<BLANK>;<BLANK>  % THAI CHARACTER MAI CHATTAWA
+
+% Arabic and Thai decimal digits
+<U0030>  <U0030>;<BLANK>;<BLANK>;<BLANK>   % DIGIT ZERO
+<U0E50> <U0030>;<THAII>;<BLANK>;<BLANK>   % THAI DIGIT ZERO
+<U0031>   <U0031>;<BLANK>;<BLANK>;<BLANK>    % DIGIT ONE
+<U0E51> <U0031>;<THAII>;<BLANK>;<BLANK>    % THAI DIGIT ONE
+<U0032>   <U0032>;<BLANK>;<BLANK>;<BLANK>    % DIGIT TWO
+<U0E52> <U0032>;<THAII>;<BLANK>;<BLANK>    % THAI DIGIT TWO
+<U0033> <U0033>;<BLANK>;<BLANK>;<BLANK>  % DIGIT THREE
+<U0E53> <U0033>;<THAII>;<BLANK>;<BLANK>  % THAI DIGIT THREE
+<U0034>  <U0034>;<BLANK>;<BLANK>;<BLANK>   % DIGIT FOUR
+<U0E54> <U0034>;<THAII>;<BLANK>;<BLANK>   % THAI DIGIT FOUR
+<U0035>  <U0035>;<BLANK>;<BLANK>;<BLANK>   % DIGIT FIVE
+<U0E55> <U0035>;<THAII>;<BLANK>;<BLANK>   % THAI DIGIT FIVE
+<U0036>   <U0036>;<BLANK>;<BLANK>;<BLANK>    % DIGIT SIX
+<U0E56> <U0036>;<THAII>;<BLANK>;<BLANK>    % THAI DIGIT SIX
+<U0037> <U0037>;<BLANK>;<BLANK>;<BLANK>  % DIGIT SEVEN
+<U0E57> <U0037>;<THAII>;<BLANK>;<BLANK>  % THAI DIGIT SEVEN
+<U0038> <U0038>;<BLANK>;<BLANK>;<BLANK>  % DIGIT EIGHT
+<U0E58> <U0038>;<THAII>;<BLANK>;<BLANK>  % THAI DIGIT EIGHT
+<U0039>  <U0039>;<BLANK>;<BLANK>;<BLANK>   % DIGIT NINE
+<U0E59> <U0039>;<THAII>;<BLANK>;<BLANK>   % THAI DIGIT NINE
+
+% Latin alphabet
+<U0041> <U0041>;<BLANK>;<BLANK>;<CAP>  % A
+<U0061> <U0041>;<BLANK>;<BLANK>;<MIN>  % a
+<U0042> <U0042>;<BLANK>;<BLANK>;<CAP>  % B
+<U0062> <U0042>;<BLANK>;<BLANK>;<MIN>  % b
+<U0043> <U0043>;<BLANK>;<BLANK>;<CAP>  % C
+<U0063> <U0043>;<BLANK>;<BLANK>;<MIN>  % c
+<U0044> <U0044>;<BLANK>;<BLANK>;<CAP>  % D
+<U0064> <U0044>;<BLANK>;<BLANK>;<MIN>  % d
+<U0045> <U0045>;<BLANK>;<BLANK>;<CAP>  % E
+<U0065> <U0045>;<BLANK>;<BLANK>;<MIN>  % e
+<U0046> <U0046>;<BLANK>;<BLANK>;<CAP>  % F
+<U0066> <U0046>;<BLANK>;<BLANK>;<MIN>  % f
+<U0047> <U0047>;<BLANK>;<BLANK>;<CAP>  % G
+<U0067> <U0047>;<BLANK>;<BLANK>;<MIN>  % g
+<U0048> <U0048>;<BLANK>;<BLANK>;<CAP>  % H
+<U0068> <U0048>;<BLANK>;<BLANK>;<MIN>  % h
+<U0049> <U0049>;<BLANK>;<BLANK>;<CAP>  % I
+<U0069> <U0049>;<BLANK>;<BLANK>;<MIN>  % i
+<U004A> <U004A>;<BLANK>;<BLANK>;<CAP>  % J
+<U006A> <U004A>;<BLANK>;<BLANK>;<MIN>  % j
+<U004B> <U004B>;<BLANK>;<BLANK>;<CAP>  % K
+<U006B> <U004B>;<BLANK>;<BLANK>;<MIN>  % k
+<U004C> <U004C>;<BLANK>;<BLANK>;<CAP>  % L
+<U006C> <U004C>;<BLANK>;<BLANK>;<MIN>  % l
+<U004D> <U004D>;<BLANK>;<BLANK>;<CAP>  % M
+<U006D> <U004D>;<BLANK>;<BLANK>;<MIN>  % m
+<U004E> <U004E>;<BLANK>;<BLANK>;<CAP>  % N
+<U006E> <U004E>;<BLANK>;<BLANK>;<MIN>  % n
+<U004F> <U004F>;<BLANK>;<BLANK>;<CAP>  % O
+<U006F> <U004F>;<BLANK>;<BLANK>;<MIN>  % o
+<U0050> <U0050>;<BLANK>;<BLANK>;<CAP>  % P
+<U0070> <U0050>;<BLANK>;<BLANK>;<MIN>  % p
+<U0051> <U0051>;<BLANK>;<BLANK>;<CAP>  % Q
+<U0071> <U0051>;<BLANK>;<BLANK>;<MIN>  % q
+<U0052> <U0052>;<BLANK>;<BLANK>;<CAP>  % R
+<U0072> <U0052>;<BLANK>;<BLANK>;<MIN>  % r
+<U0053> <U0053>;<BLANK>;<BLANK>;<CAP>  % S
+<U0073> <U0053>;<BLANK>;<BLANK>;<MIN>  % s
+<U0054> <U0054>;<BLANK>;<BLANK>;<CAP>  % T
+<U0074> <U0054>;<BLANK>;<BLANK>;<MIN>  % t
+<U0055> <U0055>;<BLANK>;<BLANK>;<CAP>  % U
+<U0075> <U0055>;<BLANK>;<BLANK>;<MIN>  % u
+<U0056> <U0056>;<BLANK>;<BLANK>;<CAP>  % V
+<U0076> <U0056>;<BLANK>;<BLANK>;<MIN>  % v
+<U0057> <U0057>;<BLANK>;<BLANK>;<CAP>  % W
+<U0077> <U0057>;<BLANK>;<BLANK>;<MIN>  % w
+<U0058> <U0058>;<BLANK>;<BLANK>;<CAP>  % X
+<U0078> <U0058>;<BLANK>;<BLANK>;<MIN>  % x
+<U0059> <U0059>;<BLANK>;<BLANK>;<CAP>  % Y
+<U0079> <U0059>;<BLANK>;<BLANK>;<MIN>  % y
+<U005A> <U005A>;<BLANK>;<BLANK>;<CAP>  % Z
+<U007A> <U005A>;<BLANK>;<BLANK>;<MIN>  % z
+
+%
+% Thai consonants, with leading vowels rearrangement
+%
+<U0E01>        <U0E01>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER KO KAI
+<ko-kai-e>           "<U0E01><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<ko-kai-ae>          "<U0E01><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<ko-kai-o>           "<U0E01><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<ko-kai-ai-maimuan>  "<U0E01><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<ko-kai-ai-maimalai> "<U0E01><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E02>        <U0E02>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER KHO KHAI
+<kho-khai-e>           "<U0E02><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<kho-khai-ae>          "<U0E02><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<kho-khai-o>           "<U0E02><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<kho-khai-ai-maimuan>  "<U0E02><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<kho-khai-ai-maimalai> "<U0E02><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E03>        <U0E03>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER KHO KHUAT
+<kho-khuat-e>           "<U0E03><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<kho-khuat-ae>          "<U0E03><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<kho-khuat-o>           "<U0E03><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<kho-khuat-ai-maimuan>  "<U0E03><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<kho-khuat-ai-maimalai> "<U0E03><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E04>        <U0E04>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER KHO KHWAI
+<kho-khwai-e>           "<U0E04><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<kho-khwai-ae>          "<U0E04><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<kho-khwai-o>           "<U0E04><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<kho-khwai-ai-maimuan>  "<U0E04><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<kho-khwai-ai-maimalai> "<U0E04><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E05>        <U0E05>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER KHO KHON
+<kho-khon-e>           "<U0E05><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<kho-khon-ae>          "<U0E05><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<kho-khon-o>           "<U0E05><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<kho-khon-ai-maimuan>  "<U0E05><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<kho-khon-ai-maimalai> "<U0E05><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E06>        <U0E06>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER KHO RAKHANG
+<kho-rakhang-e>           "<U0E06><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<kho-rakhang-ae>          "<U0E06><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<kho-rakhang-o>           "<U0E06><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<kho-rakhang-ai-maimuan>  "<U0E06><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<kho-rakhang-ai-maimalai> "<U0E06><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E07>        <U0E07>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER NGO NGU
+<ngo-ngu-e>           "<U0E07><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<ngo-ngu-ae>          "<U0E07><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<ngo-ngu-o>           "<U0E07><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<ngo-ngu-ai-maimuan>  "<U0E07><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<ngo-ngu-ai-maimalai> "<U0E07><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E08>        <U0E08>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER CHO CHAN
+<cho-chan-e>           "<U0E08><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<cho-chan-ae>          "<U0E08><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<cho-chan-o>           "<U0E08><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<cho-chan-ai-maimuan>  "<U0E08><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<cho-chan-ai-maimalai> "<U0E08><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E09>        <U0E09>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER CHO CHING
+<cho-ching-e>           "<U0E09><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<cho-ching-ae>          "<U0E09><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<cho-ching-o>           "<U0E09><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<cho-ching-ai-maimuan>  "<U0E09><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<cho-ching-ai-maimalai> "<U0E09><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E0A>        <U0E0A>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER CHO CHANG
+<cho-chang-e>           "<U0E0A><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<cho-chang-ae>          "<U0E0A><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<cho-chang-o>           "<U0E0A><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<cho-chang-ai-maimuan>  "<U0E0A><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<cho-chang-ai-maimalai> "<U0E0A><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E0B>        <U0E0B>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER SO SO
+<so-so-e>           "<U0E0B><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<so-so-ae>          "<U0E0B><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<so-so-o>           "<U0E0B><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<so-so-ai-maimuan>  "<U0E0B><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<so-so-ai-maimalai> "<U0E0B><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E0C>        <U0E0C>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER CHO CHOE
+<cho-choe-e>           "<U0E0C><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<cho-choe-ae>          "<U0E0C><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<cho-choe-o>           "<U0E0C><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<cho-choe-ai-maimuan>  "<U0E0C><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<cho-choe-ai-maimalai> "<U0E0C><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E0D>        <U0E0D>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER YO YING
+<yo-ying-e>           "<U0E0D><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<yo-ying-ae>          "<U0E0D><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<yo-ying-o>           "<U0E0D><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<yo-ying-ai-maimuan>  "<U0E0D><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<yo-ying-ai-maimalai> "<U0E0D><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E0E>        <U0E0E>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER DO CHADA
+<do-chada-e>           "<U0E0E><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<do-chada-ae>          "<U0E0E><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<do-chada-o>           "<U0E0E><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<do-chada-ai-maimuan>  "<U0E0E><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<do-chada-ai-maimalai> "<U0E0E><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E0F>        <U0E0F>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER TO PATAK
+<to-patak-e>           "<U0E0F><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<to-patak-ae>          "<U0E0F><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<to-patak-o>           "<U0E0F><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<to-patak-ai-maimuan>  "<U0E0F><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<to-patak-ai-maimalai> "<U0E0F><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E10>        <U0E10>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER THO THAN
+<tho-than-e>           "<U0E10><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<tho-than-ae>          "<U0E10><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<tho-than-o>           "<U0E10><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<tho-than-ai-maimuan>  "<U0E10><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<tho-than-ai-maimalai> "<U0E10><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E11>        <U0E11>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER THO NANGMONTHO
+<tho-nangmontho-e>           "<U0E11><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<tho-nangmontho-ae>          "<U0E11><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<tho-nangmontho-o>           "<U0E11><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<tho-nangmontho-ai-maimuan>  "<U0E11><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<tho-nangmontho-ai-maimalai> "<U0E11><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E12>        <U0E12>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER THO PHUTHAO
+<tho-phuthao-e>           "<U0E12><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<tho-phuthao-ae>          "<U0E12><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<tho-phuthao-o>           "<U0E12><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<tho-phuthao-ai-maimuan>  "<U0E12><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<tho-phuthao-ai-maimalai> "<U0E12><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E13>        <U0E13>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER NO NEN
+<no-nen-e>           "<U0E13><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<no-nen-ae>          "<U0E13><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<no-nen-o>           "<U0E13><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<no-nen-ai-maimuan>  "<U0E13><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<no-nen-ai-maimalai> "<U0E13><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E14>        <U0E14>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER DO DEK
+<do-dek-e>           "<U0E14><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<do-dek-ae>          "<U0E14><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<do-dek-o>           "<U0E14><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<do-dek-ai-maimuan>  "<U0E14><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<do-dek-ai-maimalai> "<U0E14><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E15>        <U0E15>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER TO TAO
+<to-tao-e>           "<U0E15><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<to-tao-ae>          "<U0E15><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<to-tao-o>           "<U0E15><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<to-tao-ai-maimuan>  "<U0E15><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<to-tao-ai-maimalai> "<U0E15><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E16>        <U0E16>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER THO THUNG
+<tho-thung-e>           "<U0E16><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<tho-thung-ae>          "<U0E16><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<tho-thung-o>           "<U0E16><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<tho-thung-ai-maimuan>  "<U0E16><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<tho-thung-ai-maimalai> "<U0E16><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E17>        <U0E17>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER THO THAHAN
+<tho-thahan-e>           "<U0E17><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<tho-thahan-ae>          "<U0E17><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<tho-thahan-o>           "<U0E17><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<tho-thahan-ai-maimuan>  "<U0E17><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<tho-thahan-ai-maimalai> "<U0E17><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E18>        <U0E18>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER THO THONG
+<tho-thong-e>           "<U0E18><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<tho-thong-ae>          "<U0E18><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<tho-thong-o>           "<U0E18><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<tho-thong-ai-maimuan>  "<U0E18><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<tho-thong-ai-maimalai> "<U0E18><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E19>        <U0E19>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER NO NU
+<no-nu-e>           "<U0E19><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<no-nu-ae>          "<U0E19><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<no-nu-o>           "<U0E19><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<no-nu-ai-maimuan>  "<U0E19><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<no-nu-ai-maimalai> "<U0E19><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E1A>        <U0E1A>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER BO BAIMAI
+<bo-baimai-e>           "<U0E1A><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<bo-baimai-ae>          "<U0E1A><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<bo-baimai-o>           "<U0E1A><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<bo-baimai-ai-maimuan>  "<U0E1A><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<bo-baimai-ai-maimalai> "<U0E1A><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E1B>        <U0E1B>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER PO PLA
+<po-pla-e>           "<U0E1B><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<po-pla-ae>          "<U0E1B><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<po-pla-o>           "<U0E1B><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<po-pla-ai-maimuan>  "<U0E1B><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<po-pla-ai-maimalai> "<U0E1B><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E1C>        <U0E1C>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER PHO PHUNG
+<pho-phung-e>           "<U0E1C><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<pho-phung-ae>          "<U0E1C><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<pho-phung-o>           "<U0E1C><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<pho-phung-ai-maimuan>  "<U0E1C><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<pho-phung-ai-maimalai> "<U0E1C><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E1D>        <U0E1D>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER FO FA
+<fo-fa-e>           "<U0E1D><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<fo-fa-ae>          "<U0E1D><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<fo-fa-o>           "<U0E1D><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<fo-fa-ai-maimuan>  "<U0E1D><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<fo-fa-ai-maimalai> "<U0E1D><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E1E>        <U0E1E>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER PHO PHAN
+<pho-phan-e>           "<U0E1E><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<pho-phan-ae>          "<U0E1E><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<pho-phan-o>           "<U0E1E><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<pho-phan-ai-maimuan>  "<U0E1E><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<pho-phan-ai-maimalai> "<U0E1E><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E1F>        <U0E1F>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER FO FAN
+<fo-fan-e>           "<U0E1F><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<fo-fan-ae>          "<U0E1F><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<fo-fan-o>           "<U0E1F><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<fo-fan-ai-maimuan>  "<U0E1F><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<fo-fan-ai-maimalai> "<U0E1F><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E20>        <U0E20>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER PHO SAMPHAO
+<pho-samphao-e>           "<U0E20><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<pho-samphao-ae>          "<U0E20><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<pho-samphao-o>           "<U0E20><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<pho-samphao-ai-maimuan>  "<U0E20><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<pho-samphao-ai-maimalai> "<U0E20><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E21>        <U0E21>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER MO MA
+<mo-ma-e>           "<U0E21><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<mo-ma-ae>          "<U0E21><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<mo-ma-o>           "<U0E21><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<mo-ma-ai-maimuan>  "<U0E21><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<mo-ma-ai-maimalai> "<U0E21><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E22>        <U0E22>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER YO YAK
+<yo-yak-e>           "<U0E22><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<yo-yak-ae>          "<U0E22><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<yo-yak-o>           "<U0E22><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<yo-yak-ai-maimuan>  "<U0E22><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<yo-yak-ai-maimalai> "<U0E22><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E23>        <U0E23>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER RO RUA
+<ro-rua-e>           "<U0E23><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<ro-rua-ae>          "<U0E23><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<ro-rua-o>           "<U0E23><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<ro-rua-ai-maimuan>  "<U0E23><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<ro-rua-ai-maimalai> "<U0E23><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E24>        <U0E24>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER RU
+
+<U0E25>        <U0E25>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER LO LING
+<lo-ling-e>           "<U0E25><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<lo-ling-ae>          "<U0E25><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<lo-ling-o>           "<U0E25><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<lo-ling-ai-maimuan>  "<U0E25><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<lo-ling-ai-maimalai> "<U0E25><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E26>        <U0E26>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER LU
+
+<U0E27>        <U0E27>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER WO WAEN
+<wo-waen-e>           "<U0E27><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<wo-waen-ae>          "<U0E27><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<wo-waen-o>           "<U0E27><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<wo-waen-ai-maimuan>  "<U0E27><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<wo-waen-ai-maimalai> "<U0E27><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E28>        <U0E28>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER SO SALA
+<so-sala-e>           "<U0E28><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<so-sala-ae>          "<U0E28><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<so-sala-o>           "<U0E28><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<so-sala-ai-maimuan>  "<U0E28><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<so-sala-ai-maimalai> "<U0E28><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E29>        <U0E29>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER SO RUSI
+<so-rusi-e>           "<U0E29><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<so-rusi-ae>          "<U0E29><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<so-rusi-o>           "<U0E29><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<so-rusi-ai-maimuan>  "<U0E29><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<so-rusi-ai-maimalai> "<U0E29><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E2A>        <U0E2A>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER SO SUA
+<so-sua-e>           "<U0E2A><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<so-sua-ae>          "<U0E2A><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<so-sua-o>           "<U0E2A><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<so-sua-ai-maimuan>  "<U0E2A><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<so-sua-ai-maimalai> "<U0E2A><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E2B>        <U0E2B>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER HO HIP
+<ho-hip-e>           "<U0E2B><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<ho-hip-ae>          "<U0E2B><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<ho-hip-o>           "<U0E2B><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<ho-hip-ai-maimuan>  "<U0E2B><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<ho-hip-ai-maimalai> "<U0E2B><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E2C>        <U0E2C>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER LO CHULA
+<lo-chula-e>           "<U0E2C><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<lo-chula-ae>          "<U0E2C><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<lo-chula-o>           "<U0E2C><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<lo-chula-ai-maimuan>  "<U0E2C><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<lo-chula-ai-maimalai> "<U0E2C><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E2D>        <U0E2D>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER O ANG
+<o-ang-e>           "<U0E2D><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<o-ang-ae>          "<U0E2D><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<o-ang-o>           "<U0E2D><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<o-ang-ai-maimuan>  "<U0E2D><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<o-ang-ai-maimalai> "<U0E2D><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E2E>        <U0E2E>;<BLANK>;<BLANK>;<BLANK> % THAI CHARACTER HO NOKHUK
+<ho-nokhuk-e>           "<U0E2E><U0E40>";<BLANK>;<BLANK>;<BLANK>
+<ho-nokhuk-ae>          "<U0E2E><U0E41>";<BLANK>;<BLANK>;<BLANK>
+<ho-nokhuk-o>           "<U0E2E><U0E42>";<BLANK>;<BLANK>;<BLANK>
+<ho-nokhuk-ai-maimuan>  "<U0E2E><U0E43>";<BLANK>;<BLANK>;<BLANK>
+<ho-nokhuk-ai-maimalai> "<U0E2E><U0E44>";<BLANK>;<BLANK>;<BLANK>
+
+<U0E4D> <U0E4D>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER NIKHAHIT
+
+% order of Thai vowels
+<U0E30> <U0E30>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA A
+<U0E31> <U0E31>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER MAI HAN-AKAT
+<U0E32> <U0E32>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA AA
+<U0E45> <U0E32>;<BLANK>;<BLANK>;<EXTRA>  % THAI CHARACTER LAKKHANGYAO
+<U0E33> <U0E33>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA AM
+<U0E34> <U0E34>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA I
+<U0E35> <U0E35>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA II
+<U0E36> <U0E36>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA UE
+<U0E37> <U0E37>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA UEE
+<U0E38> <U0E38>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA U
+<U0E39> <U0E39>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA UU
+<U0E40> <U0E40>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA E
+<U0E41> <U0E41>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA AE
+<U0E42> <U0E42>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA O
+<U0E43> <U0E43>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA AI MAIMUAN
+<U0E44> <U0E44>;<BLANK>;<BLANK>;<BLANK>  % THAI CHARACTER SARA AI MAIMALAI
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/ti_ER b/ap/build/uClibc/extra/locale/collation/ti_ER
new file mode 100644
index 0000000..61b292b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ti_ER
@@ -0,0 +1 @@
+copy "am_ET"
diff --git a/ap/build/uClibc/extra/locale/collation/ti_ET b/ap/build/uClibc/extra/locale/collation/ti_ET
new file mode 100644
index 0000000..61b292b
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ti_ET
@@ -0,0 +1 @@
+copy "am_ET"
diff --git a/ap/build/uClibc/extra/locale/collation/tl_PH b/ap/build/uClibc/extra/locale/collation/tl_PH
new file mode 100644
index 0000000..420168c
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/tl_PH
@@ -0,0 +1,30 @@
+copy "iso14651_t1"
+
+%% a b c d e f g h i j k l m n ng o p q r s t u v w x y z
+
+collating-symbol  <n-g-ph>
+collating-element <N-G> from "<U004E><U0047>"
+collating-element <n-g> from "<U006E><U0067>"
+collating-element <N-g> from "<U004E><U0067>"
+collating-element <n-G> from "<U006E><U0047>"
+
+collating-symbol <CAP-MIN>
+collating-symbol <MIN-CAP>
+
+reorder-after <MIN>
+<MIN-CAP>
+reorder-after <CAP>
+<CAP-MIN>
+
+reorder-after <n>
+<n-g-ph>
+
+reorder-after <U006E>
+<n-g>	<n-g-ph>;<PCT>;<MIN>;IGNORE
+<n-G>	<n-g-ph>;<PCT>;<MIN-CAP>;IGNORE
+reorder-after <U004E>
+<N-G>	<n-g-ph>;<PCT>;<CAP>;IGNORE
+<N-g>	<n-g-ph>;<PCT>;<CAP-MIN>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/tr_TR b/ap/build/uClibc/extra/locale/collation/tr_TR
new file mode 100644
index 0000000..a96c2cf
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/tr_TR
@@ -0,0 +1,2061 @@
+
+% Base collation scheme: 1994-03-22
+
+% Ordering algorithm:
+%  1. Spaces and hyphen (but not soft
+%     hyphen) before punctuation
+%     characters, punctuation characters
+%     before numbers,
+%     numbers before letters.
+%  2. Letters with diacritical marks are
+%     members of equivalence classes
+%  3. A distinction is made with regards
+%     to case as noted below.
+%  4. Special characters are ignored
+%     when comparing letters, but then
+%     they are considered
+%  5. The alphabets are sorted in order
+%     of first appearance in ISO 10646:
+%     Latin, Greek, Cyrillic, etc.
+%
+% According to Greek specifications,
+% the steps 2. and 3. above are reversed
+% for the Greek script
+
+% collating symbols
+
+% The collating symbol naming is
+% mostly taken from ISO 10646-1,
+% for example the case and accent
+% names are from this standard.
+
+collating-symbol <CAPITAL>
+collating-symbol <CAPITAL-SMALL>
+collating-symbol <SMALL-CAPITAL>
+collating-symbol <SMALL>
+
+% <CAPITAL-SMALL> and <SMALL-CAPITAL>
+% are for cases like Danish <U0041><U0061>
+% and Spanish <U0043><U0068> being treated
+% as one letter.
+
+% The <a8> ...... <z8> collating
+% symbols have defined weights as
+% the last character in a group of
+% Latin letters. They are used
+% to specify deltas by locales using
+% a locale as the default ordering
+% and by "replace-after" statements
+% specifying the changed placement
+% in an ordering of a character.
+
+collating-symbol <a8>
+collating-symbol <b8>
+collating-symbol <c8>
+collating-symbol <d8>
+collating-symbol <e8>
+collating-symbol <f8>
+collating-symbol <g8>
+collating-symbol <h8>
+collating-symbol <i8>
+collating-symbol <j8>
+collating-symbol <k8>
+collating-symbol <l8>
+collating-symbol <m8>
+collating-symbol <n8>
+collating-symbol <o8>
+collating-symbol <p8>
+collating-symbol <q8>
+collating-symbol <r8>
+collating-symbol <s8>
+collating-symbol <t8>
+collating-symbol <u8>
+collating-symbol <v8>
+collating-symbol <w8>
+collating-symbol <x8>
+collating-symbol <y8>
+collating-symbol <z8>
+
+collating-symbol <NONE>
+collating-symbol <ACUTE>
+collating-symbol <ACUTE+DOT>
+collating-symbol <GRAVE>
+collating-symbol <DOUBLE-GRAVE>
+collating-symbol <BREVE>
+collating-symbol <BREVE+ACUTE>
+collating-symbol <BREVE+GRAVE>
+collating-symbol <BREVE+MACRON>
+collating-symbol <BREVE+HOOK>
+collating-symbol <BREVE+TILDE>
+collating-symbol <BREVE+DOT-BELOW>
+collating-symbol <BREVE-BELOW>
+collating-symbol <INVERTED-BREVE>
+collating-symbol <CIRCUMFLEX>
+collating-symbol <CIRCUMFLEX+ACUTE>
+collating-symbol <CIRCUMFLEX+GRAVE>
+collating-symbol <CIRCUMFLEX+HOOK>
+collating-symbol <CIRCUMFLEX+TILDE>
+collating-symbol <CIRCUMFLEX+DOT-BELOW>
+collating-symbol <CARON>
+collating-symbol <CARON+DIAERESIS>
+collating-symbol <CARON+DOT>
+collating-symbol <RING>
+collating-symbol <RING+ACUTE>
+collating-symbol <RING-BELOW>
+collating-symbol <DIAERESIS>
+collating-symbol <DIAERESIS+MACRON>
+collating-symbol <DIAERESIS+ACUTE>
+collating-symbol <DIAERESIS+GRAVE>
+collating-symbol <DIAERESIS+CARON>
+collating-symbol <DOUBLE-ACUTE>
+collating-symbol <HOOK>
+collating-symbol <TILDE>
+collating-symbol <TILDE+ACUTE>
+collating-symbol <TILDE+DIAERESIS>
+collating-symbol <TILDE-BELOW>
+collating-symbol <DOT>
+collating-symbol <DOT-BELOW>
+collating-symbol <DOT+DOT-BELOW>
+collating-symbol <STROKE>
+collating-symbol <STROKE+ACUTE>
+collating-symbol <CEDILLA>
+collating-symbol <CEDILLA+ACUTE>
+collating-symbol <CEDILLA+GRAVE>
+collating-symbol <CEDILLA+BREVE>
+collating-symbol <OGONEK>
+collating-symbol <OGONEK+MACRON>
+collating-symbol <MACRON>
+collating-symbol <MACRON+ACUTE>
+collating-symbol <MACRON+GRAVE>
+collating-symbol <MACRON+DIAERESIS>
+collating-symbol <MACRON+DIAERESIS-BELOW>
+collating-symbol <MACRON+DOT>
+collating-symbol <MACRON+DOT-BELOW>
+collating-symbol <MACRON+CIRCUMFLEX>
+collating-symbol <LINE-BELOW>
+collating-symbol <HORN>
+collating-symbol <HORN+ACUTE>
+collating-symbol <HORN+GRAVE>
+collating-symbol <HORN+HOOK>
+collating-symbol <HORN+TILDE>
+collating-symbol <HORN+DOT-BELOW>
+collating-symbol <PRECEDED-BY-APOSTROPHE>
+collating-symbol <GREEK>
+collating-symbol <TONOS>
+collating-symbol <DIALYTICA>
+collating-symbol <DIALYTICA+TONOS>
+collating-symbol <CYRILLIC>
+collating-symbol <HIRAGANA>
+collating-symbol <KATAKANA>
+collating-symbol <SPECIAL>
+
+% letter;accent;case;specials
+
+order_start forward;backward;forward;position
+
+% <CAPITAL> or <SMALL> letters first:
+
+<CAPITAL>
+<CAPITAL-SMALL>
+<SMALL-CAPITAL>
+<SMALL>
+
+% Accents:
+
+<NONE>
+<ACUTE>
+<ACUTE+DOT>
+<GRAVE>
+<DOUBLE-GRAVE>
+<BREVE>
+<BREVE+ACUTE>
+<BREVE+GRAVE>
+<BREVE+MACRON>
+<BREVE+HOOK>
+<BREVE+TILDE>
+<BREVE+DOT-BELOW>
+<BREVE-BELOW>
+<INVERTED-BREVE>
+<CIRCUMFLEX>
+<CIRCUMFLEX+ACUTE>
+<CIRCUMFLEX+GRAVE>
+<CIRCUMFLEX+HOOK>
+<CIRCUMFLEX+TILDE>
+<CIRCUMFLEX+DOT-BELOW>
+<CARON>
+<CARON+DIAERESIS>
+<CARON+DOT>
+<RING>
+<RING+ACUTE>
+<RING-BELOW>
+<DIAERESIS>
+<DIAERESIS+MACRON>
+<DIAERESIS+ACUTE>
+<DIAERESIS+GRAVE>
+<DIAERESIS+CARON>
+<DOUBLE-ACUTE>
+<HOOK>
+<TILDE>
+<TILDE+ACUTE>
+<TILDE+DIAERESIS>
+<TILDE-BELOW>
+<DOT>
+<DOT-BELOW>
+<DOT+DOT-BELOW>
+<STROKE>
+<STROKE+ACUTE>
+<CEDILLA>
+<CEDILLA+ACUTE>
+<CEDILLA+GRAVE>
+<CEDILLA+BREVE>
+<OGONEK>
+<OGONEK+MACRON>
+<MACRON>
+<MACRON+ACUTE>
+<MACRON+GRAVE>
+<MACRON+DIAERESIS>
+<MACRON+DIAERESIS-BELOW>
+<MACRON+DOT>
+<MACRON+DOT-BELOW>
+<MACRON+CIRCUMFLEX>
+<LINE-BELOW>
+<HORN>
+<HORN+ACUTE>
+<HORN+GRAVE>
+<HORN+HOOK>
+<HORN+TILDE>
+<HORN+DOT-BELOW>
+<PRECEDED-BY-APOSTROPHE>
+<GREEK>
+<TONOS>
+<DIALYTICA>
+<DIALYTICA+TONOS>
+<CYRILLIC>
+<HIRAGANA>
+<KATAKANA>
+<SPECIAL>
+
+<U00A0>	<U00A0>;<U00A0>;<U00A0>;IGNORE
+<U0020>	IGNORE;IGNORE;IGNORE;<U0020>
+<U0009>	IGNORE;IGNORE;IGNORE;<U0009>
+<U000B>	IGNORE;IGNORE;IGNORE;<U000B>
+<U000D>	IGNORE;IGNORE;IGNORE;<U000D>
+<U000A>	IGNORE;IGNORE;IGNORE;<U000A>
+<U000C>	IGNORE;IGNORE;IGNORE;<U000C>
+<U005F>	IGNORE;IGNORE;IGNORE;<U005F>
+<U00AF>	IGNORE;IGNORE;IGNORE;<U00AF>
+<U00AD>	IGNORE;IGNORE;IGNORE;<U00AD>
+<U002D>	IGNORE;IGNORE;IGNORE;<U002D>
+<U002C>	IGNORE;IGNORE;IGNORE;<U002C>
+<U003B>	IGNORE;IGNORE;IGNORE;<U003B>
+<U003A>	IGNORE;IGNORE;IGNORE;<U003A>
+<U0021>	IGNORE;IGNORE;IGNORE;<U0021>
+<U00A1>	IGNORE;IGNORE;IGNORE;<U00A1>
+<U003F>	IGNORE;IGNORE;IGNORE;<U003F>
+<U00BF>	IGNORE;IGNORE;IGNORE;<U00BF>
+<U002F>	IGNORE;IGNORE;IGNORE;<U002F>
+<U002E>	IGNORE;IGNORE;IGNORE;<U002E>
+<U00B4>	IGNORE;IGNORE;IGNORE;<U00B4>
+<U0060>	IGNORE;IGNORE;IGNORE;<U0060>
+<U005E>	IGNORE;IGNORE;IGNORE;<U005E>
+<U00A8>	IGNORE;IGNORE;IGNORE;<U00A8>
+<U007E>	IGNORE;IGNORE;IGNORE;<U007E>
+<U00B7>	IGNORE;IGNORE;IGNORE;<U00B7>
+<U00B8>	IGNORE;IGNORE;IGNORE;<U00B8>
+<U0027>	IGNORE;IGNORE;IGNORE;<U0027>
+<U2018>	IGNORE;IGNORE;IGNORE;<U2018>
+<U2019>	IGNORE;IGNORE;IGNORE;<U2019>
+<U0022>	IGNORE;IGNORE;IGNORE;<U0022>
+<U201C>	IGNORE;IGNORE;IGNORE;<U201C>
+<U201D>	IGNORE;IGNORE;IGNORE;<U201D>
+<U00AB>	IGNORE;IGNORE;IGNORE;<U00AB>
+<U00BB>	IGNORE;IGNORE;IGNORE;<U00BB>
+<U0028>	IGNORE;IGNORE;IGNORE;<U0028>
+<U207D>	IGNORE;IGNORE;IGNORE;<U207D>
+<U0029>	IGNORE;IGNORE;IGNORE;<U0029>
+<U207E>	IGNORE;IGNORE;IGNORE;<U207E>
+<U005B>	IGNORE;IGNORE;IGNORE;<U005B>
+<U005D>	IGNORE;IGNORE;IGNORE;<U005D>
+<U007B>	IGNORE;IGNORE;IGNORE;<U007B>
+<U007D>	IGNORE;IGNORE;IGNORE;<U007D>
+<U00A7>	IGNORE;IGNORE;IGNORE;<U00A7>
+<U00B6>	IGNORE;IGNORE;IGNORE;<U00B6>
+<U00A9>	IGNORE;IGNORE;IGNORE;<U00A9>
+<U00AE>	IGNORE;IGNORE;IGNORE;<U00AE>
+<U0040>	IGNORE;IGNORE;IGNORE;<U0040>
+<U00A4>	IGNORE;IGNORE;IGNORE;<U00A4>
+<U00A2>	IGNORE;IGNORE;IGNORE;<U00A2>
+<U0024>	IGNORE;IGNORE;IGNORE;<U0024>
+<U00A3>	IGNORE;IGNORE;IGNORE;<U00A3>
+<U00A5>	IGNORE;IGNORE;IGNORE;<U00A5>
+<U002A>	IGNORE;IGNORE;IGNORE;<U002A>
+<U005C>	IGNORE;IGNORE;IGNORE;<U005C>
+<U0026>	IGNORE;IGNORE;IGNORE;<U0026>
+<U0023>	IGNORE;IGNORE;IGNORE;<U0023>
+<U0025>	IGNORE;IGNORE;IGNORE;<U0025>
+<U207B>	IGNORE;IGNORE;IGNORE;<U207B>
+<U002B>	IGNORE;IGNORE;IGNORE;<U002B>
+<U207A>	IGNORE;IGNORE;IGNORE;<U207A>
+<U00B1>	IGNORE;IGNORE;IGNORE;<U00B1>
+<U00F7>	IGNORE;IGNORE;IGNORE;<U00F7>
+<U00D7>	IGNORE;IGNORE;IGNORE;<U00D7>
+<U2260>	IGNORE;IGNORE;IGNORE;<U2260>
+<U003C>	IGNORE;IGNORE;IGNORE;<U003C>
+<U2264>	IGNORE;IGNORE;IGNORE;<U2264>
+<U003D>	IGNORE;IGNORE;IGNORE;<U003D>
+<U2265>	IGNORE;IGNORE;IGNORE;<U2265>
+<U003E>	IGNORE;IGNORE;IGNORE;<U003E>
+<U00AC>	IGNORE;IGNORE;IGNORE;<U00AC>
+<U007C>	IGNORE;IGNORE;IGNORE;<U007C>
+<U00A6>	IGNORE;IGNORE;IGNORE;<U00A6>
+<U00B0>	IGNORE;IGNORE;IGNORE;<U00B0>
+<U00B5>	IGNORE;IGNORE;IGNORE;<U00B5>
+<U02C7>	IGNORE;IGNORE;IGNORE;<U02C7>
+<U02D8>	IGNORE;IGNORE;IGNORE;<U02D8>
+<U02D9>	IGNORE;IGNORE;IGNORE;<U02D9>
+<U02DA>	IGNORE;IGNORE;IGNORE;<U02DA>
+<U02DB>	IGNORE;IGNORE;IGNORE;<U02DB>
+<U02DC>	IGNORE;IGNORE;IGNORE;<U02DC>
+<U02DD>	IGNORE;IGNORE;IGNORE;<U02DD>
+<U0374>	IGNORE;IGNORE;IGNORE;<U0374>
+<U0375>	IGNORE;IGNORE;IGNORE;<U0375>
+<U037A>	IGNORE;IGNORE;IGNORE;<U037A>
+<U037E>	IGNORE;IGNORE;IGNORE;<U037E>
+<U0384>	IGNORE;IGNORE;IGNORE;<U0384>
+<U0385>	IGNORE;IGNORE;IGNORE;<U0385>
+<U0387>	IGNORE;IGNORE;IGNORE;<U0387>
+<U03D0>	IGNORE;IGNORE;IGNORE;<U03D0>
+<U1FBF>	IGNORE;IGNORE;IGNORE;<U1FBF>
+<U1FC0>	IGNORE;IGNORE;IGNORE;<U1FC0>
+<U1FC1>	IGNORE;IGNORE;IGNORE;<U1FC1>
+<U1FCD>	IGNORE;IGNORE;IGNORE;<U1FCD>
+<U1FCE>	IGNORE;IGNORE;IGNORE;<U1FCE>
+<U1FCF>	IGNORE;IGNORE;IGNORE;<U1FCF>
+<U1FDD>	IGNORE;IGNORE;IGNORE;<U1FDD>
+<U1FDE>	IGNORE;IGNORE;IGNORE;<U1FDE>
+<U1FDF>	IGNORE;IGNORE;IGNORE;<U1FDF>
+<U1FED>	IGNORE;IGNORE;IGNORE;<U1FED>
+<U1FEF>	IGNORE;IGNORE;IGNORE;<U1FEF>
+<U1FFE>	IGNORE;IGNORE;IGNORE;<U1FFE>
+<U2002>	IGNORE;IGNORE;IGNORE;<U2002>
+<U2003>	IGNORE;IGNORE;IGNORE;<U2003>
+<U2004>	IGNORE;IGNORE;IGNORE;<U2004>
+<U2005>	IGNORE;IGNORE;IGNORE;<U2005>
+<U2006>	IGNORE;IGNORE;IGNORE;<U2006>
+<U200E>	IGNORE;IGNORE;IGNORE;<U200E>
+<U200F>	IGNORE;IGNORE;IGNORE;<U200F>
+<U2009>	IGNORE;IGNORE;IGNORE;<U2009>
+<U200A>	IGNORE;IGNORE;IGNORE;<U200A>
+<U2010>	IGNORE;IGNORE;IGNORE;<U2010>
+<U2013>	IGNORE;IGNORE;IGNORE;<U2013>
+<U2014>	IGNORE;IGNORE;IGNORE;<U2014>
+<U2015>	IGNORE;IGNORE;IGNORE;<U2015>
+<U2016>	IGNORE;IGNORE;IGNORE;<U2016>
+<U2017>	IGNORE;IGNORE;IGNORE;<U2017>
+<U201A>	IGNORE;IGNORE;IGNORE;<U201A>
+<U201B>	IGNORE;IGNORE;IGNORE;<U201B>
+<U201E>	IGNORE;IGNORE;IGNORE;<U201E>
+<U201F>	IGNORE;IGNORE;IGNORE;<U201F>
+<U2020>	IGNORE;IGNORE;IGNORE;<U2020>
+<U2021>	IGNORE;IGNORE;IGNORE;<U2021>
+<U2219>	IGNORE;IGNORE;IGNORE;<U2219>
+<U2025>	IGNORE;IGNORE;IGNORE;<U2025>
+<U2026>	IGNORE;IGNORE;IGNORE;<U2026>
+<U2030>	IGNORE;IGNORE;IGNORE;<U2030>
+<U2032>	IGNORE;IGNORE;IGNORE;<U2032>
+<U2033>	IGNORE;IGNORE;IGNORE;<U2033>
+<U2034>	IGNORE;IGNORE;IGNORE;<U2034>
+<U2035>	IGNORE;IGNORE;IGNORE;<U2035>
+<U2036>	IGNORE;IGNORE;IGNORE;<U2036>
+<U2037>	IGNORE;IGNORE;IGNORE;<U2037>
+<U2038>	IGNORE;IGNORE;IGNORE;<U2038>
+<U2039>	IGNORE;IGNORE;IGNORE;<U2039>
+<U203A>	IGNORE;IGNORE;IGNORE;<U203A>
+<U203B>	IGNORE;IGNORE;IGNORE;<U203B>
+<U203C>	IGNORE;IGNORE;IGNORE;<U203C>
+<U203E>	IGNORE;IGNORE;IGNORE;<U203E>
+<U207C>	IGNORE;IGNORE;IGNORE;<U207C>
+<U2080>	IGNORE;IGNORE;IGNORE;<U2080>
+<U2081>	IGNORE;IGNORE;IGNORE;<U2081>
+<U2082>	IGNORE;IGNORE;IGNORE;<U2082>
+<U2083>	IGNORE;IGNORE;IGNORE;<U2083>
+<U2084>	IGNORE;IGNORE;IGNORE;<U2084>
+<U2085>	IGNORE;IGNORE;IGNORE;<U2085>
+<U2086>	IGNORE;IGNORE;IGNORE;<U2086>
+<U2087>	IGNORE;IGNORE;IGNORE;<U2087>
+<U2088>	IGNORE;IGNORE;IGNORE;<U2088>
+<U2089>	IGNORE;IGNORE;IGNORE;<U2089>
+<U208A>	IGNORE;IGNORE;IGNORE;<U208A>
+<U208B>	IGNORE;IGNORE;IGNORE;<U208B>
+<U208C>	IGNORE;IGNORE;IGNORE;<U208C>
+<U208D>	IGNORE;IGNORE;IGNORE;<U208D>
+<U208E>	IGNORE;IGNORE;IGNORE;<U208E>
+<U20A3>	IGNORE;IGNORE;IGNORE;<U20A3>
+<U20A4>	IGNORE;IGNORE;IGNORE;<U20A4>
+<U20A7>	IGNORE;IGNORE;IGNORE;<U20A7>
+<U20A9>	IGNORE;IGNORE;IGNORE;<U20A9>
+<U2103>	IGNORE;IGNORE;IGNORE;<U2103>
+<U2105>	IGNORE;IGNORE;IGNORE;<U2105>
+<U2109>	IGNORE;IGNORE;IGNORE;<U2109>
+<U2116>	IGNORE;IGNORE;IGNORE;<U2116>
+<U2117>	IGNORE;IGNORE;IGNORE;<U2117>
+<U211E>	IGNORE;IGNORE;IGNORE;<U211E>
+<U2120>	IGNORE;IGNORE;IGNORE;<U2120>
+<U2122>	IGNORE;IGNORE;IGNORE;<U2122>
+<U2126>	IGNORE;IGNORE;IGNORE;<U2126>
+<U212B>	IGNORE;IGNORE;IGNORE;<U212B>
+<U2153>	IGNORE;IGNORE;IGNORE;<U2153>
+<U2154>	IGNORE;IGNORE;IGNORE;<U2154>
+<U2155>	IGNORE;IGNORE;IGNORE;<U2155>
+<U2156>	IGNORE;IGNORE;IGNORE;<U2156>
+<U2157>	IGNORE;IGNORE;IGNORE;<U2157>
+<U2158>	IGNORE;IGNORE;IGNORE;<U2158>
+<U2159>	IGNORE;IGNORE;IGNORE;<U2159>
+<U215A>	IGNORE;IGNORE;IGNORE;<U215A>
+<U2160>	IGNORE;IGNORE;IGNORE;<U2160>
+<U2161>	IGNORE;IGNORE;IGNORE;<U2161>
+<U2162>	IGNORE;IGNORE;IGNORE;<U2162>
+<U2163>	IGNORE;IGNORE;IGNORE;<U2163>
+<U2164>	IGNORE;IGNORE;IGNORE;<U2164>
+<U2165>	IGNORE;IGNORE;IGNORE;<U2165>
+<U2166>	IGNORE;IGNORE;IGNORE;<U2166>
+<U2167>	IGNORE;IGNORE;IGNORE;<U2167>
+<U2168>	IGNORE;IGNORE;IGNORE;<U2168>
+<U2169>	IGNORE;IGNORE;IGNORE;<U2169>
+<U216A>	IGNORE;IGNORE;IGNORE;<U216A>
+<U216B>	IGNORE;IGNORE;IGNORE;<U216B>
+<U216C>	IGNORE;IGNORE;IGNORE;<U216C>
+<U216D>	IGNORE;IGNORE;IGNORE;<U216D>
+<U216E>	IGNORE;IGNORE;IGNORE;<U216E>
+<U216F>	IGNORE;IGNORE;IGNORE;<U216F>
+<U2170>	IGNORE;IGNORE;IGNORE;<U2170>
+<U2171>	IGNORE;IGNORE;IGNORE;<U2171>
+<U2172>	IGNORE;IGNORE;IGNORE;<U2172>
+<U2173>	IGNORE;IGNORE;IGNORE;<U2173>
+<U2174>	IGNORE;IGNORE;IGNORE;<U2174>
+<U2175>	IGNORE;IGNORE;IGNORE;<U2175>
+<U2176>	IGNORE;IGNORE;IGNORE;<U2176>
+<U2177>	IGNORE;IGNORE;IGNORE;<U2177>
+<U2178>	IGNORE;IGNORE;IGNORE;<U2178>
+<U2179>	IGNORE;IGNORE;IGNORE;<U2179>
+<U217A>	IGNORE;IGNORE;IGNORE;<U217A>
+<U217B>	IGNORE;IGNORE;IGNORE;<U217B>
+<U217C>	IGNORE;IGNORE;IGNORE;<U217C>
+<U217D>	IGNORE;IGNORE;IGNORE;<U217D>
+<U217E>	IGNORE;IGNORE;IGNORE;<U217E>
+<U217F>	IGNORE;IGNORE;IGNORE;<U217F>
+<U2180>	IGNORE;IGNORE;IGNORE;<U2180>
+<U2181>	IGNORE;IGNORE;IGNORE;<U2181>
+<U2182>	IGNORE;IGNORE;IGNORE;<U2182>
+<U2191>	IGNORE;IGNORE;IGNORE;<U2191>
+<U2193>	IGNORE;IGNORE;IGNORE;<U2193>
+<U2194>	IGNORE;IGNORE;IGNORE;<U2194>
+<U2195>	IGNORE;IGNORE;IGNORE;<U2195>
+<U2196>	IGNORE;IGNORE;IGNORE;<U2196>
+<U2197>	IGNORE;IGNORE;IGNORE;<U2197>
+<U2198>	IGNORE;IGNORE;IGNORE;<U2198>
+<U2199>	IGNORE;IGNORE;IGNORE;<U2199>
+<U21A8>	IGNORE;IGNORE;IGNORE;<U21A8>
+<U21C0>	IGNORE;IGNORE;IGNORE;<U21C0>
+<U21D0>	IGNORE;IGNORE;IGNORE;<U21D0>
+<U21D2>	IGNORE;IGNORE;IGNORE;<U21D2>
+<U21D4>	IGNORE;IGNORE;IGNORE;<U21D4>
+<U2200>	IGNORE;IGNORE;IGNORE;<U2200>
+<U2202>	IGNORE;IGNORE;IGNORE;<U2202>
+<U2203>	IGNORE;IGNORE;IGNORE;<U2203>
+<U2205>	IGNORE;IGNORE;IGNORE;<U2205>
+<U2206>	IGNORE;IGNORE;IGNORE;<U2206>
+<U2207>	IGNORE;IGNORE;IGNORE;<U2207>
+<U2208>	IGNORE;IGNORE;IGNORE;<U2208>
+<U220B>	IGNORE;IGNORE;IGNORE;<U220B>
+<U220F>	IGNORE;IGNORE;IGNORE;<U220F>
+<U2211>	IGNORE;IGNORE;IGNORE;<U2211>
+<U2212>	IGNORE;IGNORE;IGNORE;<U2212>
+<U2213>	IGNORE;IGNORE;IGNORE;<U2213>
+<U2214>	IGNORE;IGNORE;IGNORE;<U2214>
+<U2044>	IGNORE;IGNORE;IGNORE;<U2044>
+<U2217>	IGNORE;IGNORE;IGNORE;<U2217>
+<U2218>	IGNORE;IGNORE;IGNORE;<U2218>
+<U2022>	IGNORE;IGNORE;IGNORE;<U2022>
+<U221A>	IGNORE;IGNORE;IGNORE;<U221A>
+<U221D>	IGNORE;IGNORE;IGNORE;<U221D>
+<U221E>	IGNORE;IGNORE;IGNORE;<U221E>
+<U221F>	IGNORE;IGNORE;IGNORE;<U221F>
+<U2220>	IGNORE;IGNORE;IGNORE;<U2220>
+<U2225>	IGNORE;IGNORE;IGNORE;<U2225>
+<U2227>	IGNORE;IGNORE;IGNORE;<U2227>
+<U2228>	IGNORE;IGNORE;IGNORE;<U2228>
+<U2229>	IGNORE;IGNORE;IGNORE;<U2229>
+<U222A>	IGNORE;IGNORE;IGNORE;<U222A>
+<U222B>	IGNORE;IGNORE;IGNORE;<U222B>
+<U222C>	IGNORE;IGNORE;IGNORE;<U222C>
+<U222E>	IGNORE;IGNORE;IGNORE;<U222E>
+<U2234>	IGNORE;IGNORE;IGNORE;<U2234>
+<U2235>	IGNORE;IGNORE;IGNORE;<U2235>
+<U2236>	IGNORE;IGNORE;IGNORE;<U2236>
+<U2237>	IGNORE;IGNORE;IGNORE;<U2237>
+<U223C>	IGNORE;IGNORE;IGNORE;<U223C>
+<U223E>	IGNORE;IGNORE;IGNORE;<U223E>
+<U2243>	IGNORE;IGNORE;IGNORE;<U2243>
+<U2245>	IGNORE;IGNORE;IGNORE;<U2245>
+<U2248>	IGNORE;IGNORE;IGNORE;<U2248>
+<U224C>	IGNORE;IGNORE;IGNORE;<U224C>
+<U2253>	IGNORE;IGNORE;IGNORE;<U2253>
+<U2261>	IGNORE;IGNORE;IGNORE;<U2261>
+<U226A>	IGNORE;IGNORE;IGNORE;<U226A>
+<U226B>	IGNORE;IGNORE;IGNORE;<U226B>
+<U226E>	IGNORE;IGNORE;IGNORE;<U226E>
+<U226F>	IGNORE;IGNORE;IGNORE;<U226F>
+<U2282>	IGNORE;IGNORE;IGNORE;<U2282>
+<U2283>	IGNORE;IGNORE;IGNORE;<U2283>
+<U2286>	IGNORE;IGNORE;IGNORE;<U2286>
+<U2287>	IGNORE;IGNORE;IGNORE;<U2287>
+<U2299>	IGNORE;IGNORE;IGNORE;<U2299>
+<U229A>	IGNORE;IGNORE;IGNORE;<U229A>
+<U22A5>	IGNORE;IGNORE;IGNORE;<U22A5>
+<U22C5>	IGNORE;IGNORE;IGNORE;<U22C5>
+<U22EE>	IGNORE;IGNORE;IGNORE;<U22EE>
+<U2302>	IGNORE;IGNORE;IGNORE;<U2302>
+<U2308>	IGNORE;IGNORE;IGNORE;<U2308>
+<U2309>	IGNORE;IGNORE;IGNORE;<U2309>
+<U230A>	IGNORE;IGNORE;IGNORE;<U230A>
+<U230B>	IGNORE;IGNORE;IGNORE;<U230B>
+<U2310>	IGNORE;IGNORE;IGNORE;<U2310>
+<U2312>	IGNORE;IGNORE;IGNORE;<U2312>
+<U2315>	IGNORE;IGNORE;IGNORE;<U2315>
+<U2320>	IGNORE;IGNORE;IGNORE;<U2320>
+<U2321>	IGNORE;IGNORE;IGNORE;<U2321>
+<U2423>	IGNORE;IGNORE;IGNORE;<U2423>
+<U2440>	IGNORE;IGNORE;IGNORE;<U2440>
+<U2441>	IGNORE;IGNORE;IGNORE;<U2441>
+<U2442>	IGNORE;IGNORE;IGNORE;<U2442>
+<U2443>	IGNORE;IGNORE;IGNORE;<U2443>
+<U2446>	IGNORE;IGNORE;IGNORE;<U2446>
+<U2447>	IGNORE;IGNORE;IGNORE;<U2447>
+<U2448>	IGNORE;IGNORE;IGNORE;<U2448>
+<U2449>	IGNORE;IGNORE;IGNORE;<U2449>
+<U2460>	IGNORE;IGNORE;IGNORE;<U2460>
+<U2461>	IGNORE;IGNORE;IGNORE;<U2461>
+<U2462>	IGNORE;IGNORE;IGNORE;<U2462>
+<U2463>	IGNORE;IGNORE;IGNORE;<U2463>
+<U2464>	IGNORE;IGNORE;IGNORE;<U2464>
+<U2465>	IGNORE;IGNORE;IGNORE;<U2465>
+<U2466>	IGNORE;IGNORE;IGNORE;<U2466>
+<U2467>	IGNORE;IGNORE;IGNORE;<U2467>
+<U2468>	IGNORE;IGNORE;IGNORE;<U2468>
+<U2469>	IGNORE;IGNORE;IGNORE;<U2469>
+<U246A>	IGNORE;IGNORE;IGNORE;<U246A>
+<U246B>	IGNORE;IGNORE;IGNORE;<U246B>
+<U246C>	IGNORE;IGNORE;IGNORE;<U246C>
+<U246D>	IGNORE;IGNORE;IGNORE;<U246D>
+<U246E>	IGNORE;IGNORE;IGNORE;<U246E>
+<U246F>	IGNORE;IGNORE;IGNORE;<U246F>
+<U2470>	IGNORE;IGNORE;IGNORE;<U2470>
+<U2471>	IGNORE;IGNORE;IGNORE;<U2471>
+<U2472>	IGNORE;IGNORE;IGNORE;<U2472>
+<U2473>	IGNORE;IGNORE;IGNORE;<U2473>
+<U2474>	IGNORE;IGNORE;IGNORE;<U2474>
+<U2475>	IGNORE;IGNORE;IGNORE;<U2475>
+<U2476>	IGNORE;IGNORE;IGNORE;<U2476>
+<U2477>	IGNORE;IGNORE;IGNORE;<U2477>
+<U2478>	IGNORE;IGNORE;IGNORE;<U2478>
+<U2479>	IGNORE;IGNORE;IGNORE;<U2479>
+<U247A>	IGNORE;IGNORE;IGNORE;<U247A>
+<U247B>	IGNORE;IGNORE;IGNORE;<U247B>
+<U247C>	IGNORE;IGNORE;IGNORE;<U247C>
+<U247D>	IGNORE;IGNORE;IGNORE;<U247D>
+<U247E>	IGNORE;IGNORE;IGNORE;<U247E>
+<U247F>	IGNORE;IGNORE;IGNORE;<U247F>
+<U2480>	IGNORE;IGNORE;IGNORE;<U2480>
+<U2481>	IGNORE;IGNORE;IGNORE;<U2481>
+<U2482>	IGNORE;IGNORE;IGNORE;<U2482>
+<U2483>	IGNORE;IGNORE;IGNORE;<U2483>
+<U2484>	IGNORE;IGNORE;IGNORE;<U2484>
+<U2485>	IGNORE;IGNORE;IGNORE;<U2485>
+<U2486>	IGNORE;IGNORE;IGNORE;<U2486>
+<U2487>	IGNORE;IGNORE;IGNORE;<U2487>
+<U2488>	IGNORE;IGNORE;IGNORE;<U2488>
+<U2489>	IGNORE;IGNORE;IGNORE;<U2489>
+<U248A>	IGNORE;IGNORE;IGNORE;<U248A>
+<U248B>	IGNORE;IGNORE;IGNORE;<U248B>
+<U248C>	IGNORE;IGNORE;IGNORE;<U248C>
+<U248D>	IGNORE;IGNORE;IGNORE;<U248D>
+<U248E>	IGNORE;IGNORE;IGNORE;<U248E>
+<U248F>	IGNORE;IGNORE;IGNORE;<U248F>
+<U2490>	IGNORE;IGNORE;IGNORE;<U2490>
+<U2491>	IGNORE;IGNORE;IGNORE;<U2491>
+<U2492>	IGNORE;IGNORE;IGNORE;<U2492>
+<U2493>	IGNORE;IGNORE;IGNORE;<U2493>
+<U2494>	IGNORE;IGNORE;IGNORE;<U2494>
+<U2495>	IGNORE;IGNORE;IGNORE;<U2495>
+<U2496>	IGNORE;IGNORE;IGNORE;<U2496>
+<U2497>	IGNORE;IGNORE;IGNORE;<U2497>
+<U2498>	IGNORE;IGNORE;IGNORE;<U2498>
+<U2499>	IGNORE;IGNORE;IGNORE;<U2499>
+<U249A>	IGNORE;IGNORE;IGNORE;<U249A>
+<U249B>	IGNORE;IGNORE;IGNORE;<U249B>
+<U24EA>	IGNORE;IGNORE;IGNORE;<U24EA>
+<U2500>	IGNORE;IGNORE;IGNORE;<U2500>
+<U2550>	IGNORE;IGNORE;IGNORE;<U2550>
+<U2502>	IGNORE;IGNORE;IGNORE;<U2502>
+<U2551>	IGNORE;IGNORE;IGNORE;<U2551>
+<U2504>	IGNORE;IGNORE;IGNORE;<U2504>
+<U2505>	IGNORE;IGNORE;IGNORE;<U2505>
+<U2506>	IGNORE;IGNORE;IGNORE;<U2506>
+<U2507>	IGNORE;IGNORE;IGNORE;<U2507>
+<U2508>	IGNORE;IGNORE;IGNORE;<U2508>
+<U2509>	IGNORE;IGNORE;IGNORE;<U2509>
+<U250A>	IGNORE;IGNORE;IGNORE;<U250A>
+<U250B>	IGNORE;IGNORE;IGNORE;<U250B>
+<U250C>	IGNORE;IGNORE;IGNORE;<U250C>
+<U2552>	IGNORE;IGNORE;IGNORE;<U2552>
+<U2553>	IGNORE;IGNORE;IGNORE;<U2553>
+<U2554>	IGNORE;IGNORE;IGNORE;<U2554>
+<U2510>	IGNORE;IGNORE;IGNORE;<U2510>
+<U2555>	IGNORE;IGNORE;IGNORE;<U2555>
+<U2556>	IGNORE;IGNORE;IGNORE;<U2556>
+<U2557>	IGNORE;IGNORE;IGNORE;<U2557>
+<U2514>	IGNORE;IGNORE;IGNORE;<U2514>
+<U2558>	IGNORE;IGNORE;IGNORE;<U2558>
+<U2559>	IGNORE;IGNORE;IGNORE;<U2559>
+<U255A>	IGNORE;IGNORE;IGNORE;<U255A>
+<U2518>	IGNORE;IGNORE;IGNORE;<U2518>
+<U255B>	IGNORE;IGNORE;IGNORE;<U255B>
+<U255C>	IGNORE;IGNORE;IGNORE;<U255C>
+<U255D>	IGNORE;IGNORE;IGNORE;<U255D>
+<U251C>	IGNORE;IGNORE;IGNORE;<U251C>
+<U255E>	IGNORE;IGNORE;IGNORE;<U255E>
+<U251E>	IGNORE;IGNORE;IGNORE;<U251E>
+<U251F>	IGNORE;IGNORE;IGNORE;<U251F>
+<U255F>	IGNORE;IGNORE;IGNORE;<U255F>
+<U2521>	IGNORE;IGNORE;IGNORE;<U2521>
+<U2522>	IGNORE;IGNORE;IGNORE;<U2522>
+<U2560>	IGNORE;IGNORE;IGNORE;<U2560>
+<U2524>	IGNORE;IGNORE;IGNORE;<U2524>
+<U2561>	IGNORE;IGNORE;IGNORE;<U2561>
+<U2526>	IGNORE;IGNORE;IGNORE;<U2526>
+<U2527>	IGNORE;IGNORE;IGNORE;<U2527>
+<U2562>	IGNORE;IGNORE;IGNORE;<U2562>
+<U2529>	IGNORE;IGNORE;IGNORE;<U2529>
+<U252A>	IGNORE;IGNORE;IGNORE;<U252A>
+<U2563>	IGNORE;IGNORE;IGNORE;<U2563>
+<U252C>	IGNORE;IGNORE;IGNORE;<U252C>
+<U252D>	IGNORE;IGNORE;IGNORE;<U252D>
+<U252E>	IGNORE;IGNORE;IGNORE;<U252E>
+<U2564>	IGNORE;IGNORE;IGNORE;<U2564>
+<U2565>	IGNORE;IGNORE;IGNORE;<U2565>
+<U2531>	IGNORE;IGNORE;IGNORE;<U2531>
+<U2532>	IGNORE;IGNORE;IGNORE;<U2532>
+<U2566>	IGNORE;IGNORE;IGNORE;<U2566>
+<U2534>	IGNORE;IGNORE;IGNORE;<U2534>
+<U2535>	IGNORE;IGNORE;IGNORE;<U2535>
+<U2536>	IGNORE;IGNORE;IGNORE;<U2536>
+<U2567>	IGNORE;IGNORE;IGNORE;<U2567>
+<U2568>	IGNORE;IGNORE;IGNORE;<U2568>
+<U2539>	IGNORE;IGNORE;IGNORE;<U2539>
+<U253A>	IGNORE;IGNORE;IGNORE;<U253A>
+<U2569>	IGNORE;IGNORE;IGNORE;<U2569>
+<U253C>	IGNORE;IGNORE;IGNORE;<U253C>
+<U253D>	IGNORE;IGNORE;IGNORE;<U253D>
+<U253E>	IGNORE;IGNORE;IGNORE;<U253E>
+<U256A>	IGNORE;IGNORE;IGNORE;<U256A>
+<U2540>	IGNORE;IGNORE;IGNORE;<U2540>
+<U2541>	IGNORE;IGNORE;IGNORE;<U2541>
+<U256B>	IGNORE;IGNORE;IGNORE;<U256B>
+<U2543>	IGNORE;IGNORE;IGNORE;<U2543>
+<U2544>	IGNORE;IGNORE;IGNORE;<U2544>
+<U2545>	IGNORE;IGNORE;IGNORE;<U2545>
+<U2546>	IGNORE;IGNORE;IGNORE;<U2546>
+<U2547>	IGNORE;IGNORE;IGNORE;<U2547>
+<U2548>	IGNORE;IGNORE;IGNORE;<U2548>
+<U2549>	IGNORE;IGNORE;IGNORE;<U2549>
+<U254A>	IGNORE;IGNORE;IGNORE;<U254A>
+<U256C>	IGNORE;IGNORE;IGNORE;<U256C>
+<U2571>	IGNORE;IGNORE;IGNORE;<U2571>
+<U2572>	IGNORE;IGNORE;IGNORE;<U2572>
+<U2580>	IGNORE;IGNORE;IGNORE;<U2580>
+<U2584>	IGNORE;IGNORE;IGNORE;<U2584>
+<U2588>	IGNORE;IGNORE;IGNORE;<U2588>
+<U258C>	IGNORE;IGNORE;IGNORE;<U258C>
+<U2590>	IGNORE;IGNORE;IGNORE;<U2590>
+<U2591>	IGNORE;IGNORE;IGNORE;<U2591>
+<U2592>	IGNORE;IGNORE;IGNORE;<U2592>
+<U2593>	IGNORE;IGNORE;IGNORE;<U2593>
+<U25A0>	IGNORE;IGNORE;IGNORE;<U25A0>
+<U25A1>	IGNORE;IGNORE;IGNORE;<U25A1>
+<U25A2>	IGNORE;IGNORE;IGNORE;<U25A2>
+<U25A3>	IGNORE;IGNORE;IGNORE;<U25A3>
+<U25A4>	IGNORE;IGNORE;IGNORE;<U25A4>
+<U25A5>	IGNORE;IGNORE;IGNORE;<U25A5>
+<U25A6>	IGNORE;IGNORE;IGNORE;<U25A6>
+<U25A7>	IGNORE;IGNORE;IGNORE;<U25A7>
+<U25A8>	IGNORE;IGNORE;IGNORE;<U25A8>
+<U25A9>	IGNORE;IGNORE;IGNORE;<U25A9>
+<U25AA>	IGNORE;IGNORE;IGNORE;<U25AA>
+<U25AC>	IGNORE;IGNORE;IGNORE;<U25AC>
+<U25AD>	IGNORE;IGNORE;IGNORE;<U25AD>
+<U25B2>	IGNORE;IGNORE;IGNORE;<U25B2>
+<U25B3>	IGNORE;IGNORE;IGNORE;<U25B3>
+<U25B7>	IGNORE;IGNORE;IGNORE;<U25B7>
+<U25BA>	IGNORE;IGNORE;IGNORE;<U25BA>
+<U25BC>	IGNORE;IGNORE;IGNORE;<U25BC>
+<U25BD>	IGNORE;IGNORE;IGNORE;<U25BD>
+<U25C1>	IGNORE;IGNORE;IGNORE;<U25C1>
+<U25C4>	IGNORE;IGNORE;IGNORE;<U25C4>
+<U25C6>	IGNORE;IGNORE;IGNORE;<U25C6>
+<U25C7>	IGNORE;IGNORE;IGNORE;<U25C7>
+<U25CA>	IGNORE;IGNORE;IGNORE;<U25CA>
+<U25CB>	IGNORE;IGNORE;IGNORE;<U25CB>
+<U25CE>	IGNORE;IGNORE;IGNORE;<U25CE>
+<U25CF>	IGNORE;IGNORE;IGNORE;<U25CF>
+<U25D0>	IGNORE;IGNORE;IGNORE;<U25D0>
+<U25D1>	IGNORE;IGNORE;IGNORE;<U25D1>
+<U25D8>	IGNORE;IGNORE;IGNORE;<U25D8>
+<U25D9>	IGNORE;IGNORE;IGNORE;<U25D9>
+<U25E2>	IGNORE;IGNORE;IGNORE;<U25E2>
+<U25E3>	IGNORE;IGNORE;IGNORE;<U25E3>
+<U25EF>	IGNORE;IGNORE;IGNORE;<U25EF>
+<U2605>	IGNORE;IGNORE;IGNORE;<U2605>
+<U2606>	IGNORE;IGNORE;IGNORE;<U2606>
+<U260E>	IGNORE;IGNORE;IGNORE;<U260E>
+<U260F>	IGNORE;IGNORE;IGNORE;<U260F>
+<U261C>	IGNORE;IGNORE;IGNORE;<U261C>
+<U261E>	IGNORE;IGNORE;IGNORE;<U261E>
+<U263A>	IGNORE;IGNORE;IGNORE;<U263A>
+<U263B>	IGNORE;IGNORE;IGNORE;<U263B>
+<U263C>	IGNORE;IGNORE;IGNORE;<U263C>
+<U2640>	IGNORE;IGNORE;IGNORE;<U2640>
+<U2642>	IGNORE;IGNORE;IGNORE;<U2642>
+<U2660>	IGNORE;IGNORE;IGNORE;<U2660>
+<U2661>	IGNORE;IGNORE;IGNORE;<U2661>
+<U2662>	IGNORE;IGNORE;IGNORE;<U2662>
+<U2663>	IGNORE;IGNORE;IGNORE;<U2663>
+<U2664>	IGNORE;IGNORE;IGNORE;<U2664>
+<U2665>	IGNORE;IGNORE;IGNORE;<U2665>
+<U2666>	IGNORE;IGNORE;IGNORE;<U2666>
+<U2667>	IGNORE;IGNORE;IGNORE;<U2667>
+<U2669>	IGNORE;IGNORE;IGNORE;<U2669>
+<U266A>	IGNORE;IGNORE;IGNORE;<U266A>
+<U266B>	IGNORE;IGNORE;IGNORE;<U266B>
+<U266C>	IGNORE;IGNORE;IGNORE;<U266C>
+<U266D>	IGNORE;IGNORE;IGNORE;<U266D>
+<U266E>	IGNORE;IGNORE;IGNORE;<U266E>
+<U266F>	IGNORE;IGNORE;IGNORE;<U266F>
+<U2713>	IGNORE;IGNORE;IGNORE;<U2713>
+<U2717>	IGNORE;IGNORE;IGNORE;<U2717>
+<U2720>	IGNORE;IGNORE;IGNORE;<U2720>
+<U3000>	IGNORE;IGNORE;IGNORE;<U3000>
+<U3001>	IGNORE;IGNORE;IGNORE;<U3001>
+<U3002>	IGNORE;IGNORE;IGNORE;<U3002>
+<U3003>	IGNORE;IGNORE;IGNORE;<U3003>
+<U3004>	IGNORE;IGNORE;IGNORE;<U3004>
+<U3005>	IGNORE;IGNORE;IGNORE;<U3005>
+<U3006>	IGNORE;IGNORE;IGNORE;<U3006>
+<U3007>	IGNORE;IGNORE;IGNORE;<U3007>
+<U300A>	IGNORE;IGNORE;IGNORE;<U300A>
+<U300B>	IGNORE;IGNORE;IGNORE;<U300B>
+<U300C>	IGNORE;IGNORE;IGNORE;<U300C>
+<U300D>	IGNORE;IGNORE;IGNORE;<U300D>
+<U300E>	IGNORE;IGNORE;IGNORE;<U300E>
+<U300F>	IGNORE;IGNORE;IGNORE;<U300F>
+<U3010>	IGNORE;IGNORE;IGNORE;<U3010>
+<U3011>	IGNORE;IGNORE;IGNORE;<U3011>
+<U3012>	IGNORE;IGNORE;IGNORE;<U3012>
+<U3013>	IGNORE;IGNORE;IGNORE;<U3013>
+<U3014>	IGNORE;IGNORE;IGNORE;<U3014>
+<U3015>	IGNORE;IGNORE;IGNORE;<U3015>
+<U3016>	IGNORE;IGNORE;IGNORE;<U3016>
+<U3017>	IGNORE;IGNORE;IGNORE;<U3017>
+<U301C>	IGNORE;IGNORE;IGNORE;<U301C>
+<U3020>	IGNORE;IGNORE;IGNORE;<U3020>
+<U309B>	IGNORE;IGNORE;IGNORE;<U309B>
+<U309C>	IGNORE;IGNORE;IGNORE;<U309C>
+<U309D>	IGNORE;IGNORE;IGNORE;<U309D>
+<U309E>	IGNORE;IGNORE;IGNORE;<U309E>
+<U30FB>	IGNORE;IGNORE;IGNORE;<U30FB>
+<U30FC>	IGNORE;IGNORE;IGNORE;<U30FC>
+<U30FD>	IGNORE;IGNORE;IGNORE;<U30FD>
+<U30FE>	IGNORE;IGNORE;IGNORE;<U30FE>
+<U321C>	IGNORE;IGNORE;IGNORE;<U321C>
+<U3220>	IGNORE;IGNORE;IGNORE;<U3220>
+<U3221>	IGNORE;IGNORE;IGNORE;<U3221>
+<U3222>	IGNORE;IGNORE;IGNORE;<U3222>
+<U3223>	IGNORE;IGNORE;IGNORE;<U3223>
+<U3224>	IGNORE;IGNORE;IGNORE;<U3224>
+<U3225>	IGNORE;IGNORE;IGNORE;<U3225>
+<U3226>	IGNORE;IGNORE;IGNORE;<U3226>
+<U3227>	IGNORE;IGNORE;IGNORE;<U3227>
+<U3228>	IGNORE;IGNORE;IGNORE;<U3228>
+<U3229>	IGNORE;IGNORE;IGNORE;<U3229>
+<U327F>	IGNORE;IGNORE;IGNORE;<U327F>
+<U33C2>	IGNORE;IGNORE;IGNORE;<U33C2>
+<U33D8>	IGNORE;IGNORE;IGNORE;<U33D8>
+<U0000>	IGNORE;IGNORE;IGNORE;<U0000>
+<U0001>	IGNORE;IGNORE;IGNORE;<U0001>
+<U0002>	IGNORE;IGNORE;IGNORE;<U0002>
+<U0003>	IGNORE;IGNORE;IGNORE;<U0003>
+<U0004>	IGNORE;IGNORE;IGNORE;<U0004>
+<U0005>	IGNORE;IGNORE;IGNORE;<U0005>
+<U0006>	IGNORE;IGNORE;IGNORE;<U0006>
+<U0007>	IGNORE;IGNORE;IGNORE;<U0007>
+<U0008>	IGNORE;IGNORE;IGNORE;<U0008>
+<U000E>	IGNORE;IGNORE;IGNORE;<U000E>
+<U000F>	IGNORE;IGNORE;IGNORE;<U000F>
+<U0010>	IGNORE;IGNORE;IGNORE;<U0010>
+<U0011>	IGNORE;IGNORE;IGNORE;<U0011>
+<U0012>	IGNORE;IGNORE;IGNORE;<U0012>
+<U0013>	IGNORE;IGNORE;IGNORE;<U0013>
+<U0014>	IGNORE;IGNORE;IGNORE;<U0014>
+<U0015>	IGNORE;IGNORE;IGNORE;<U0015>
+<U0016>	IGNORE;IGNORE;IGNORE;<U0016>
+<U0017>	IGNORE;IGNORE;IGNORE;<U0017>
+<U0018>	IGNORE;IGNORE;IGNORE;<U0018>
+<U0019>	IGNORE;IGNORE;IGNORE;<U0019>
+<U001A>	IGNORE;IGNORE;IGNORE;<U001A>
+<U001B>	IGNORE;IGNORE;IGNORE;<U001B>
+<U001C>	IGNORE;IGNORE;IGNORE;<U001C>
+<U001D>	IGNORE;IGNORE;IGNORE;<U001D>
+<U001E>	IGNORE;IGNORE;IGNORE;<U001E>
+<U001F>	IGNORE;IGNORE;IGNORE;<U001F>
+<U007F>	IGNORE;IGNORE;IGNORE;<U007F>
+<U0080>	IGNORE;IGNORE;IGNORE;<U0080>
+<U0081>	IGNORE;IGNORE;IGNORE;<U0081>
+<U0082>	IGNORE;IGNORE;IGNORE;<U0082>
+<U0083>	IGNORE;IGNORE;IGNORE;<U0083>
+<U0084>	IGNORE;IGNORE;IGNORE;<U0084>
+<U0085>	IGNORE;IGNORE;IGNORE;<U0085>
+<U0086>	IGNORE;IGNORE;IGNORE;<U0086>
+<U0087>	IGNORE;IGNORE;IGNORE;<U0087>
+<U0088>	IGNORE;IGNORE;IGNORE;<U0088>
+<U0089>	IGNORE;IGNORE;IGNORE;<U0089>
+<U008A>	IGNORE;IGNORE;IGNORE;<U008A>
+<U008B>	IGNORE;IGNORE;IGNORE;<U008B>
+<U008C>	IGNORE;IGNORE;IGNORE;<U008C>
+<U008D>	IGNORE;IGNORE;IGNORE;<U008D>
+<U008E>	IGNORE;IGNORE;IGNORE;<U008E>
+<U008F>	IGNORE;IGNORE;IGNORE;<U008F>
+<U0090>	IGNORE;IGNORE;IGNORE;<U0090>
+<U0091>	IGNORE;IGNORE;IGNORE;<U0091>
+<U0092>	IGNORE;IGNORE;IGNORE;<U0092>
+<U0093>	IGNORE;IGNORE;IGNORE;<U0093>
+<U0094>	IGNORE;IGNORE;IGNORE;<U0094>
+<U0095>	IGNORE;IGNORE;IGNORE;<U0095>
+<U0096>	IGNORE;IGNORE;IGNORE;<U0096>
+<U0097>	IGNORE;IGNORE;IGNORE;<U0097>
+<U0098>	IGNORE;IGNORE;IGNORE;<U0098>
+<U0099>	IGNORE;IGNORE;IGNORE;<U0099>
+<U009A>	IGNORE;IGNORE;IGNORE;<U009A>
+<U009B>	IGNORE;IGNORE;IGNORE;<U009B>
+<U009C>	IGNORE;IGNORE;IGNORE;<U009C>
+<U009D>	IGNORE;IGNORE;IGNORE;<U009D>
+<U009E>	IGNORE;IGNORE;IGNORE;<U009E>
+<U009F>	IGNORE;IGNORE;IGNORE;<U009F>
+<UE000>	IGNORE;IGNORE;IGNORE;<UE000>
+<UE001>	IGNORE;IGNORE;IGNORE;<UE001>
+<UE002>	IGNORE;IGNORE;IGNORE;<UE002>
+<U0301>	IGNORE;IGNORE;IGNORE;<U0301>
+<UE004>	IGNORE;IGNORE;IGNORE;<UE004>
+<UE005>	IGNORE;IGNORE;IGNORE;<UE005>
+<UE006>	IGNORE;IGNORE;IGNORE;<UE006>
+<UE007>	IGNORE;IGNORE;IGNORE;<UE007>
+<UE008>	IGNORE;IGNORE;IGNORE;<UE008>
+<UE009>	IGNORE;IGNORE;IGNORE;<UE009>
+<UE00A>	IGNORE;IGNORE;IGNORE;<UE00A>
+<UE00B>	IGNORE;IGNORE;IGNORE;<UE00B>
+<UE00C>	IGNORE;IGNORE;IGNORE;<UE00C>
+<UE00D>	IGNORE;IGNORE;IGNORE;<UE00D>
+<UE00E>	IGNORE;IGNORE;IGNORE;<UE00E>
+<UE00F>	IGNORE;IGNORE;IGNORE;<UE00F>
+<"=>	IGNORE;IGNORE;IGNORE;<"=>
+<UE011>	IGNORE;IGNORE;IGNORE;<UE011>
+<UE012>	IGNORE;IGNORE;IGNORE;<UE012>
+<UE013>	IGNORE;IGNORE;IGNORE;<UE013>
+<UE014>	IGNORE;IGNORE;IGNORE;<UE014>
+<UE015>	IGNORE;IGNORE;IGNORE;<UE015>
+<UE017>	IGNORE;IGNORE;IGNORE;<UE017>
+<UE018>	IGNORE;IGNORE;IGNORE;<UE018>
+<UE019>	IGNORE;IGNORE;IGNORE;<UE019>
+UNDEFINED	IGNORE;IGNORE;IGNORE
+
+<U0030>	<U0030>;<U0030>;IGNORE;IGNORE
+<U2070>	<U0030>;<U2070>;IGNORE;IGNORE
+<U215B>	<U0030>;<U215B>;IGNORE;IGNORE
+<U00BC>	<U0030>;<U00BC>;IGNORE;IGNORE
+<U215C>	<U0030>;<U215C>;IGNORE;IGNORE
+<U00BD>	<U0030>;<U00BD>;IGNORE;IGNORE
+<U215D>	<U0030>;<U215D>;IGNORE;IGNORE
+<U00BE>	<U0030>;<U00BE>;IGNORE;IGNORE
+<U215E>	<U0030>;<U215E>;IGNORE;IGNORE
+<U0031>	<U0031>;<U0031>;IGNORE;IGNORE
+<U0032>	<U0032>;<U0032>;IGNORE;IGNORE
+<U0033>	<U0033>;<U0033>;IGNORE;IGNORE
+<U0034>	<U0034>;<U0034>;IGNORE;IGNORE
+<U0035>	<U0035>;<U0035>;IGNORE;IGNORE
+<U0036>	<U0036>;<U0036>;IGNORE;IGNORE
+<U0037>	<U0037>;<U0037>;IGNORE;IGNORE
+<U0038>	<U0038>;<U0038>;IGNORE;IGNORE
+<U0039>	<U0039>;<U0039>;IGNORE;IGNORE
+<U00B9>	<U0031>;<U00B9>;IGNORE;IGNORE
+<U00B2>	<U0032>;<U00B2>;IGNORE;IGNORE
+<U00B3>	<U0033>;<U00B3>;IGNORE;IGNORE
+<U2074>	<U0034>;<U2074>;IGNORE;IGNORE
+<U2075>	<U0035>;<U2075>;IGNORE;IGNORE
+<U2076>	<U0036>;<U2076>;IGNORE;IGNORE
+<U2077>	<U0037>;<U2077>;IGNORE;IGNORE
+<U2078>	<U0038>;<U2078>;IGNORE;IGNORE
+<U2079>	<U0039>;<U2079>;IGNORE;IGNORE
+<U0041>	<U0041>;<NONE>;<CAPITAL>;IGNORE
+<U0061>	<U0041>;<NONE>;<SMALL>;IGNORE
+<U00AA>	<U0041>;<NONE>;<U00AA>;IGNORE
+<U00C1>	<U0041>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E1>	<U0041>;<ACUTE>;<SMALL>;IGNORE
+<U00C0>	<U0041>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E0>	<U0041>;<GRAVE>;<SMALL>;IGNORE
+<U0200>	<U0041>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0201>	<U0041>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0102>	<U0041>;<BREVE>;<CAPITAL>;IGNORE
+<U0103>	<U0041>;<BREVE>;<SMALL>;IGNORE
+<U1EAE>	<U0041>;<BREVE+ACUTE>;<CAPITAL>;IGNORE
+<U1EAF>	<U0041>;<BREVE+ACUTE>;<SMALL>;IGNORE
+<U1EB0>	<U0041>;<BREVE+GRAVE>;<CAPITAL>;IGNORE
+<U1EB1>	<U0041>;<BREVE+GRAVE>;<SMALL>;IGNORE
+<U1EB2>	<U0041>;<BREVE+HOOK>;<CAPITAL>;IGNORE
+<U1EB3>	<U0041>;<BREVE+HOOK>;<SMALL>;IGNORE
+<U1EB4>	<U0041>;<BREVE+TILDE>;<CAPITAL>;IGNORE
+<U1EB5>	<U0041>;<BREVE+TILDE>;<SMALL>;IGNORE
+<U1EB6>	<U0041>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB7>	<U0041>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE
+<U0202>	<U0041>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0203>	<U0041>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00C2>	<U0041>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00E2>	<U0041>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EA4>	<U0041>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EA5>	<U0041>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EA6>	<U0041>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EA7>	<U0041>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EA8>	<U0041>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EA9>	<U0041>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EAA>	<U0041>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EAB>	<U0041>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EAC>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EAD>	<U0041>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01CD>	<U0041>;<CARON>;<CAPITAL>;IGNORE
+<U01CE>	<U0041>;<CARON>;<SMALL>;IGNORE
+<U00C5>	<U0041>;<RING>;<CAPITAL>;IGNORE
+<U00E5>	<U0041>;<RING>;<SMALL>;IGNORE
+<U01FA>	<U0041>;<RING+ACUTE>;<CAPITAL>;IGNORE
+<U01FB>	<U0041>;<RING+ACUTE>;<SMALL>;IGNORE
+<U1E00>	<U0041>;<RING-BELOW>;<CAPITAL>;IGNORE
+<U1E01>	<U0041>;<RING-BELOW>;<SMALL>;IGNORE
+<U00C4>	<U0041>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00E4>	<U0041>;<DIAERESIS>;<SMALL>;IGNORE
+<U01DE>	<U0041>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01DF>	<U0041>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U1EA2>	<U0041>;<HOOK>;<CAPITAL>;IGNORE
+<U1EA3>	<U0041>;<HOOK>;<SMALL>;IGNORE
+<U00C3>	<U0041>;<TILDE>;<CAPITAL>;IGNORE
+<U00E3>	<U0041>;<TILDE>;<SMALL>;IGNORE
+<U1EA0>	<U0041>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EA1>	<U0041>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0104>	<U0041>;<OGONEK>;<CAPITAL>;IGNORE
+<U0105>	<U0041>;<OGONEK>;<SMALL>;IGNORE
+<U0100>	<U0041>;<MACRON>;<CAPITAL>;IGNORE
+<U0101>	<U0041>;<MACRON>;<SMALL>;IGNORE
+<U01E0>	<U0041>;<MACRON+DOT>;<CAPITAL>;IGNORE
+<U01E1>	<U0041>;<MACRON+DOT>;<SMALL>;IGNORE
+<a8>
+<U00C6>	"<U0041><U0045>";"<U00C6><U00C6>";"<CAPITAL><CAPITAL>";IGNORE
+<U00E6>	"<U0041><U0045>";"<U00C6><U00C6>";"<SMALL><SMALL>";IGNORE
+<U01FC>	"<U0041><U0045>";"<U01FC><U01FC>";"<CAPITAL><CAPITAL>";IGNORE
+<U01FD>	"<U0041><U0045>";"<U01FC><U01FC>";"<SMALL><SMALL>";IGNORE
+<U01E2>	"<U0041><U0045>";"<U01E2><U01E2>";"<CAPITAL><CAPITAL>";IGNORE
+<U01E3>	"<U0041><U0045>";"<U01E2><U01E2>";"<SMALL><SMALL>";IGNORE
+<U0042>	<U0042>;<NONE>;<CAPITAL>;IGNORE
+<U0062>	<U0042>;<NONE>;<SMALL>;IGNORE
+<U1E02>	<U0042>;<DOT>;<CAPITAL>;IGNORE
+<U1E03>	<U0042>;<DOT>;<SMALL>;IGNORE
+<U1E04>	<U0042>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E05>	<U0042>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E06>	<U0042>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E07>	<U0042>;<LINE-BELOW>;<SMALL>;IGNORE
+<b8>
+<U0043>	<U0043>;<NONE>;<CAPITAL>;IGNORE
+<U0063>	<U0043>;<NONE>;<SMALL>;IGNORE
+<U0106>	<U0043>;<ACUTE>;<CAPITAL>;IGNORE
+<U0107>	<U0043>;<ACUTE>;<SMALL>;IGNORE
+<U0108>	<U0043>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0109>	<U0043>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U010C>	<U0043>;<CARON>;<CAPITAL>;IGNORE
+<U010D>	<U0043>;<CARON>;<SMALL>;IGNORE
+<U0187>	<U0043>;<HOOK>;<CAPITAL>;IGNORE
+<U0188>	<U0043>;<HOOK>;<SMALL>;IGNORE
+<U010A>	<U0043>;<DOT>;<CAPITAL>;IGNORE
+<U010B>	<U0043>;<DOT>;<SMALL>;IGNORE
+<U1E08>	<U0043>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE
+<U1E09>	<U0043>;<CEDILLA+ACUTE>;<SMALL>;IGNORE
+<c8>
+<U00C7>	<U00C7>;<NONE>;<CAPITAL>;IGNORE
+<U00E7>	<U00C7>;<NONE>;<SMALL>;IGNORE
+<U0044>	<U0044>;<NONE>;<CAPITAL>;IGNORE
+<U0064>	<U0044>;<NONE>;<SMALL>;IGNORE
+<U010E>	<U0044>;<CARON>;<CAPITAL>;IGNORE
+<U010F>	<U0044>;<CARON>;<SMALL>;IGNORE
+<U1E0A>	<U0044>;<DOT>;<CAPITAL>;IGNORE
+<U1E0B>	<U0044>;<DOT>;<SMALL>;IGNORE
+<U1E0C>	<U0044>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E0D>	<U0044>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0110>	<U0044>;<STROKE>;<CAPITAL>;IGNORE
+<U0111>	<U0044>;<STROKE>;<SMALL>;IGNORE
+<U1E10>	<U0044>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E11>	<U0044>;<CEDILLA>;<SMALL>;IGNORE
+<U1E12>	<U0044>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E13>	<U0044>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E0E>	<U0044>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E0F>	<U0044>;<LINE-BELOW>;<SMALL>;IGNORE
+<d8>
+<U0045>	<U0045>;<NONE>;<CAPITAL>;IGNORE
+<U0065>	<U0045>;<NONE>;<SMALL>;IGNORE
+<U00C9>	<U0045>;<ACUTE>;<CAPITAL>;IGNORE
+<U00E9>	<U0045>;<ACUTE>;<SMALL>;IGNORE
+<U00C8>	<U0045>;<GRAVE>;<CAPITAL>;IGNORE
+<U00E8>	<U0045>;<GRAVE>;<SMALL>;IGNORE
+<U0204>	<U0045>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0205>	<U0045>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0114>	<U0045>;<BREVE>;<CAPITAL>;IGNORE
+<U0115>	<U0045>;<BREVE>;<SMALL>;IGNORE
+<U0206>	<U0045>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0207>	<U0045>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CA>	<U0045>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EA>	<U0045>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1EBE>	<U0045>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1EBF>	<U0045>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1EC0>	<U0045>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1EC1>	<U0045>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1EC2>	<U0045>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1EC3>	<U0045>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1EC4>	<U0045>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1EC5>	<U0045>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1EC6>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EC7>	<U0045>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U011A>	<U0045>;<CARON>;<CAPITAL>;IGNORE
+<U011B>	<U0045>;<CARON>;<SMALL>;IGNORE
+<U00CB>	<U0045>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EB>	<U0045>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EBA>	<U0045>;<HOOK>;<CAPITAL>;IGNORE
+<U1EBB>	<U0045>;<HOOK>;<SMALL>;IGNORE
+<U1EBC>	<U0045>;<TILDE>;<CAPITAL>;IGNORE
+<U1EBD>	<U0045>;<TILDE>;<SMALL>;IGNORE
+<U1E1A>	<U0045>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E1B>	<U0045>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U0116>	<U0045>;<DOT>;<CAPITAL>;IGNORE
+<U0117>	<U0045>;<DOT>;<SMALL>;IGNORE
+<U1EB8>	<U0045>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EB9>	<U0045>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E1C>	<U0045>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE
+<U1E1D>	<U0045>;<CEDILLA+BREVE>;<SMALL>;IGNORE
+<U0118>	<U0045>;<OGONEK>;<CAPITAL>;IGNORE
+<U0119>	<U0045>;<OGONEK>;<SMALL>;IGNORE
+<U0112>	<U0045>;<MACRON>;<CAPITAL>;IGNORE
+<U0113>	<U0045>;<MACRON>;<SMALL>;IGNORE
+<U1E16>	<U0045>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E17>	<U0045>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E14>	<U0045>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E15>	<U0045>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U1E18>	<U0045>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E19>	<U0045>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<e8>
+<U0046>	<U0046>;<NONE>;<CAPITAL>;IGNORE
+<U0066>	<U0046>;<NONE>;<SMALL>;IGNORE
+<U0191>	<U0046>;<HOOK>;<CAPITAL>;IGNORE
+<U0192>	<U0046>;<HOOK>;<SMALL>;IGNORE
+<U1E1E>	<U0046>;<DOT>;<CAPITAL>;IGNORE
+<U1E1F>	<U0046>;<DOT>;<SMALL>;IGNORE
+<f8>
+<UFB00>	"<U0046><U0046>";"<NONE><NONE>";"<UFB00><UFB00>";IGNORE
+<UFB01>	"<U0046><U0049>";"<NONE><NONE>";"<UFB01><UFB01>";IGNORE
+<UFB02>	"<U0046><U004C>";"<NONE><NONE>";"<UFB02><UFB02>";IGNORE
+<UFB03>	"<U0046><U0046><U0049>";"<NONE><NONE><NONE>";"<UFB03><UFB03><UFB03>";IGNORE
+<UFB04>	"<U0046><U0046><U004C>";"<NONE><NONE><NONE>";"<UFB04><UFB04><UFB04>";IGNORE
+<U0047>	<U0047>;<NONE>;<CAPITAL>;IGNORE
+<U0067>	<U0047>;<NONE>;<SMALL>;IGNORE
+<U01F4>	<U0047>;<ACUTE>;<CAPITAL>;IGNORE
+<U01F5>	<U0047>;<ACUTE>;<SMALL>;IGNORE
+<U011C>	<U0047>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U011D>	<U0047>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01E6>	<U0047>;<CARON>;<CAPITAL>;IGNORE
+<U01E7>	<U0047>;<CARON>;<SMALL>;IGNORE
+<U0120>	<U0047>;<DOT>;<CAPITAL>;IGNORE
+<U0121>	<U0047>;<DOT>;<SMALL>;IGNORE
+<U01E4>	<U0047>;<STROKE>;<CAPITAL>;IGNORE
+<U01E5>	<U0047>;<STROKE>;<SMALL>;IGNORE
+<U0122>	<U0047>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0123>	<U0047>;<CEDILLA>;<SMALL>;IGNORE
+<U1E20>	<U0047>;<MACRON>;<CAPITAL>;IGNORE
+<U1E21>	<U0047>;<MACRON>;<SMALL>;IGNORE
+<g8>
+<U011E>	<U011E>;<NONE>;<CAPITAL>;IGNORE
+<U011F>	<U011E>;<NONE>;<SMALL>;IGNORE
+<U0048>	<U0048>;<NONE>;<CAPITAL>;IGNORE
+<U0068>	<U0048>;<NONE>;<SMALL>;IGNORE
+<U1E2A>	<U0048>;<BREVE-BELOW>;<CAPITAL>;IGNORE
+<U1E2B>	<U0048>;<BREVE-BELOW>;<SMALL>;IGNORE
+<U0124>	<U0048>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0125>	<U0048>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E26>	<U0048>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E27>	<U0048>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E22>	<U0048>;<DOT>;<CAPITAL>;IGNORE
+<U1E23>	<U0048>;<DOT>;<SMALL>;IGNORE
+<U1E24>	<U0048>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E25>	<U0048>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0126>	<U0048>;<STROKE>;<CAPITAL>;IGNORE
+<U0127>	<U0048>;<STROKE>;<SMALL>;IGNORE
+<U1E28>	<U0048>;<CEDILLA>;<CAPITAL>;IGNORE
+<U1E29>	<U0048>;<CEDILLA>;<SMALL>;IGNORE
+<h8>
+<U0049>	<U0131>;<NONE>;<CAPITAL>;IGNORE
+<U0131>	<U0131>;<NONE>;<SMALL>;IGNORE
+<U0130>	<U0049>;<NONE>;<CAPITAL>;IGNORE
+<U0069>	<U0049>;<NONE>;<SMALL>;IGNORE
+<U00CD>	<U0049>;<ACUTE>;<CAPITAL>;IGNORE
+<U00ED>	<U0049>;<ACUTE>;<SMALL>;IGNORE
+<U00CC>	<U0049>;<GRAVE>;<CAPITAL>;IGNORE
+<U00EC>	<U0049>;<GRAVE>;<SMALL>;IGNORE
+<U0208>	<U0049>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0209>	<U0049>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U012C>	<U0049>;<BREVE>;<CAPITAL>;IGNORE
+<U012D>	<U0049>;<BREVE>;<SMALL>;IGNORE
+<U020A>	<U0049>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020B>	<U0049>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00CE>	<U0049>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00EE>	<U0049>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01CF>	<U0049>;<CARON>;<CAPITAL>;IGNORE
+<U01D0>	<U0049>;<CARON>;<SMALL>;IGNORE
+<U00CF>	<U0049>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00EF>	<U0049>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E2E>	<U0049>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U1E2F>	<U0049>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U1EC8>	<U0049>;<HOOK>;<CAPITAL>;IGNORE
+<U1EC9>	<U0049>;<HOOK>;<SMALL>;IGNORE
+<U0128>	<U0049>;<TILDE>;<CAPITAL>;IGNORE
+<U0129>	<U0049>;<TILDE>;<SMALL>;IGNORE
+<U1E2C>	<U0049>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E2D>	<U0049>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1ECA>	<U0049>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECB>	<U0049>;<DOT-BELOW>;<SMALL>;IGNORE
+<U012E>	<U0049>;<OGONEK>;<CAPITAL>;IGNORE
+<U012F>	<U0049>;<OGONEK>;<SMALL>;IGNORE
+<U012A>	<U0049>;<MACRON>;<CAPITAL>;IGNORE
+<U012B>	<U0049>;<MACRON>;<SMALL>;IGNORE
+<i8>
+<U0132>	"<U0049><U004A>";"<U0132><U0132>";"<CAPITAL><CAPITAL>";IGNORE
+<U0133>	"<U0049><U004A>";"<U0132><U0132>";"<SMALL><SMALL>";IGNORE
+<U004A>	<U004A>;<NONE>;<CAPITAL>;IGNORE
+<U006A>	<U004A>;<NONE>;<SMALL>;IGNORE
+<U0134>	<U004A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0135>	<U004A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<j8>
+<U004B>	<U004B>;<NONE>;<CAPITAL>;IGNORE
+<U006B>	<U004B>;<NONE>;<SMALL>;IGNORE
+<U1E30>	<U004B>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E31>	<U004B>;<ACUTE>;<SMALL>;IGNORE
+<U01E8>	<U004B>;<CARON>;<CAPITAL>;IGNORE
+<U01E9>	<U004B>;<CARON>;<SMALL>;IGNORE
+<U0198>	<U004B>;<HOOK>;<CAPITAL>;IGNORE
+<U0199>	<U004B>;<HOOK>;<SMALL>;IGNORE
+<U1E32>	<U004B>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E33>	<U004B>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0136>	<U004B>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0137>	<U004B>;<CEDILLA>;<SMALL>;IGNORE
+<U1E34>	<U004B>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E35>	<U004B>;<LINE-BELOW>;<SMALL>;IGNORE
+<k8>
+<U0138>	<U004B>;<U0138>;<SMALL>;IGNORE
+<U004C>	<U004C>;<NONE>;<CAPITAL>;IGNORE
+<U006C>	<U004C>;<NONE>;<SMALL>;IGNORE
+<U0139>	<U004C>;<ACUTE>;<CAPITAL>;IGNORE
+<U013A>	<U004C>;<ACUTE>;<SMALL>;IGNORE
+<U013D>	<U004C>;<CARON>;<CAPITAL>;IGNORE
+<U013E>	<U004C>;<CARON>;<SMALL>;IGNORE
+<U013F>	<U004C>;<DOT>;<CAPITAL>;IGNORE
+<U0140>	<U004C>;<DOT>;<SMALL>;IGNORE
+<U1E36>	<U004C>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E37>	<U004C>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0141>	<U004C>;<STROKE>;<CAPITAL>;IGNORE
+<U0142>	<U004C>;<STROKE>;<SMALL>;IGNORE
+<U013B>	<U004C>;<CEDILLA>;<CAPITAL>;IGNORE
+<U013C>	<U004C>;<CEDILLA>;<SMALL>;IGNORE
+<U1E38>	<U004C>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E39>	<U004C>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E3C>	<U004C>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E3D>	<U004C>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E3A>	<U004C>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E3B>	<U004C>;<LINE-BELOW>;<SMALL>;IGNORE
+<l8>
+<U004D>	<U004D>;<NONE>;<CAPITAL>;IGNORE
+<U006D>	<U004D>;<NONE>;<SMALL>;IGNORE
+<U1E3E>	<U004D>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E3F>	<U004D>;<ACUTE>;<SMALL>;IGNORE
+<U1E40>	<U004D>;<DOT>;<CAPITAL>;IGNORE
+<U1E41>	<U004D>;<DOT>;<SMALL>;IGNORE
+<U1E42>	<U004D>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E43>	<U004D>;<DOT-BELOW>;<SMALL>;IGNORE
+<m8>
+<U004E>	<U004E>;<NONE>;<CAPITAL>;IGNORE
+<U006E>	<U004E>;<NONE>;<SMALL>;IGNORE
+<U0143>	<U004E>;<ACUTE>;<CAPITAL>;IGNORE
+<U0144>	<U004E>;<ACUTE>;<SMALL>;IGNORE
+<U0147>	<U004E>;<CARON>;<CAPITAL>;IGNORE
+<U0148>	<U004E>;<CARON>;<SMALL>;IGNORE
+<U00D1>	<U004E>;<TILDE>;<CAPITAL>;IGNORE
+<U00F1>	<U004E>;<TILDE>;<SMALL>;IGNORE
+<U1E44>	<U004E>;<DOT>;<CAPITAL>;IGNORE
+<U1E45>	<U004E>;<DOT>;<SMALL>;IGNORE
+<U1E46>	<U004E>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E47>	<U004E>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0145>	<U004E>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0146>	<U004E>;<CEDILLA>;<SMALL>;IGNORE
+<U1E4A>	<U004E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E4B>	<U004E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E48>	<U004E>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E49>	<U004E>;<LINE-BELOW>;<SMALL>;IGNORE
+<U0149>	<U004E>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE
+<n8>
+<U014A>	"<U004E><U0047>";"<U014A><U014A>";"<CAPITAL><CAPITAL>";IGNORE
+<U014B>	"<U004E><U0047>";"<U014A><U014A>";"<SMALL><SMALL>";IGNORE
+<U004F>	<U004F>;<NONE>;<CAPITAL>;IGNORE
+<U006F>	<U004F>;<NONE>;<SMALL>;IGNORE
+<U00BA>	<U004F>;<NONE>;<U00BA>;IGNORE
+<U00D3>	<U004F>;<ACUTE>;<CAPITAL>;IGNORE
+<U00F3>	<U004F>;<ACUTE>;<SMALL>;IGNORE
+<U00D2>	<U004F>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F2>	<U004F>;<GRAVE>;<SMALL>;IGNORE
+<U020C>	<U004F>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U020D>	<U004F>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U014E>	<U004F>;<BREVE>;<CAPITAL>;IGNORE
+<U014F>	<U004F>;<BREVE>;<SMALL>;IGNORE
+<U020E>	<U004F>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U020F>	<U004F>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00D4>	<U004F>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00F4>	<U004F>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1ED0>	<U004F>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE
+<U1ED1>	<U004F>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE
+<U1ED2>	<U004F>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE
+<U1ED3>	<U004F>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE
+<U1ED4>	<U004F>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE
+<U1ED5>	<U004F>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE
+<U1ED6>	<U004F>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE
+<U1ED7>	<U004F>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE
+<U1ED8>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ED9>	<U004F>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE
+<U01D1>	<U004F>;<CARON>;<CAPITAL>;IGNORE
+<U01D2>	<U004F>;<CARON>;<SMALL>;IGNORE
+<U0150>	<U004F>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0151>	<U004F>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1ECE>	<U004F>;<HOOK>;<CAPITAL>;IGNORE
+<U1ECF>	<U004F>;<HOOK>;<SMALL>;IGNORE
+<U00D5>	<U004F>;<TILDE>;<CAPITAL>;IGNORE
+<U00F5>	<U004F>;<TILDE>;<SMALL>;IGNORE
+<U1E4C>	<U004F>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E4D>	<U004F>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E4E>	<U004F>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E4F>	<U004F>;<TILDE+DIAERESIS>;<SMALL>;IGNORE
+<U1ECC>	<U004F>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1ECD>	<U004F>;<DOT-BELOW>;<SMALL>;IGNORE
+<U00D8>	<U004F>;<STROKE>;<CAPITAL>;IGNORE
+<U00F8>	<U004F>;<STROKE>;<SMALL>;IGNORE
+<U01FE>	<U004F>;<STROKE+ACUTE>;<CAPITAL>;IGNORE
+<U01FF>	<U004F>;<STROKE+ACUTE>;<SMALL>;IGNORE
+<U01EA>	<U004F>;<OGONEK>;<CAPITAL>;IGNORE
+<U01EB>	<U004F>;<OGONEK>;<SMALL>;IGNORE
+<U01EC>	<U004F>;<OGONEK+MACRON>;<CAPITAL>;IGNORE
+<U01ED>	<U004F>;<OGONEK+MACRON>;<SMALL>;IGNORE
+<U014C>	<U004F>;<MACRON>;<CAPITAL>;IGNORE
+<U014D>	<U004F>;<MACRON>;<SMALL>;IGNORE
+<U1E52>	<U004F>;<MACRON+ACUTE>;<CAPITAL>;IGNORE
+<U1E53>	<U004F>;<MACRON+ACUTE>;<SMALL>;IGNORE
+<U1E50>	<U004F>;<MACRON+GRAVE>;<CAPITAL>;IGNORE
+<U1E51>	<U004F>;<MACRON+GRAVE>;<SMALL>;IGNORE
+<U01A0>	<U004F>;<HORN>;<CAPITAL>;IGNORE
+<U01A1>	<U004F>;<HORN>;<SMALL>;IGNORE
+<U1EDA>	<U004F>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EDB>	<U004F>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EDC>	<U004F>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EDD>	<U004F>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EDE>	<U004F>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EDF>	<U004F>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EE0>	<U004F>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EE1>	<U004F>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EE2>	<U004F>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE3>	<U004F>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<o8>
+<U00D6>	<U00D6>;<NONE>;<CAPITAL>;IGNORE
+<U00F6>	<U00D6>;<NONE>;<SMALL>;IGNORE
+<U0152>	"<U004F><U0045>";"<U0152><U0152>";"<CAPITAL><CAPITAL>";IGNORE
+<U0153>	"<U004F><U0045>";"<U0152><U0152>";"<SMALL><SMALL>";IGNORE
+<U0050>	<U0050>;<NONE>;<CAPITAL>;IGNORE
+<U0070>	<U0050>;<NONE>;<SMALL>;IGNORE
+<U1E54>	<U0050>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E55>	<U0050>;<ACUTE>;<SMALL>;IGNORE
+<U1E56>	<U0050>;<DOT>;<CAPITAL>;IGNORE
+<U1E57>	<U0050>;<DOT>;<SMALL>;IGNORE
+<p8>
+<U0051>	<U0051>;<NONE>;<CAPITAL>;IGNORE
+<U0071>	<U0051>;<NONE>;<SMALL>;IGNORE
+<q8>
+<U0052>	<U0052>;<NONE>;<CAPITAL>;IGNORE
+<U0072>	<U0052>;<NONE>;<SMALL>;IGNORE
+<U0154>	<U0052>;<ACUTE>;<CAPITAL>;IGNORE
+<U0155>	<U0052>;<ACUTE>;<SMALL>;IGNORE
+<U0210>	<U0052>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0211>	<U0052>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U0212>	<U0052>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0213>	<U0052>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U0158>	<U0052>;<CARON>;<CAPITAL>;IGNORE
+<U0159>	<U0052>;<CARON>;<SMALL>;IGNORE
+<U1E58>	<U0052>;<DOT>;<CAPITAL>;IGNORE
+<U1E59>	<U0052>;<DOT>;<SMALL>;IGNORE
+<U1E5A>	<U0052>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5B>	<U0052>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0156>	<U0052>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0157>	<U0052>;<CEDILLA>;<SMALL>;IGNORE
+<U1E5C>	<U0052>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E5D>	<U0052>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE
+<U1E5E>	<U0052>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E5F>	<U0052>;<LINE-BELOW>;<SMALL>;IGNORE
+<r8>
+<U0053>	<U0053>;<NONE>;<CAPITAL>;IGNORE
+<U0073>	<U0053>;<NONE>;<SMALL>;IGNORE
+<UFB06>	"<U0053><U0054>";"<NONE><NONE>";"<UFB06><UFB06>";IGNORE
+<U015A>	<U0053>;<ACUTE>;<CAPITAL>;IGNORE
+<U015B>	<U0053>;<ACUTE>;<SMALL>;IGNORE
+<U1E64>	<U0053>;<ACUTE+DOT>;<CAPITAL>;IGNORE
+<U1E65>	<U0053>;<ACUTE+DOT>;<SMALL>;IGNORE
+<U015C>	<U0053>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U015D>	<U0053>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0160>	<U0053>;<CARON>;<CAPITAL>;IGNORE
+<U0161>	<U0053>;<CARON>;<SMALL>;IGNORE
+<U1E66>	<U0053>;<CARON+DOT>;<CAPITAL>;IGNORE
+<U1E67>	<U0053>;<CARON+DOT>;<SMALL>;IGNORE
+<U1E60>	<U0053>;<DOT>;<CAPITAL>;IGNORE
+<U1E61>	<U0053>;<DOT>;<SMALL>;IGNORE
+<U1E62>	<U0053>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E63>	<U0053>;<DOT-BELOW>;<SMALL>;IGNORE
+<U1E68>	<U0053>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E69>	<U0053>;<DOT+DOT-BELOW>;<SMALL>;IGNORE
+<s8>
+<U015E>	<U015E>;<NONE>;<CAPITAL>;IGNORE
+<U015F>	<U015E>;<NONE>;<SMALL>;IGNORE
+<U017F>	<U0053>;<U017F>;<SMALL>;IGNORE
+<U00DF>	"<U0053><U0053>";"<NONE><NONE>";"<SMALL><U00DF>";IGNORE
+<UFB05>	"<U0053><U0054>";"<NONE><NONE>";"<UFB05><UFB05>";IGNORE
+<U0054>	<U0054>;<NONE>;<CAPITAL>;IGNORE
+<U0074>	<U0054>;<NONE>;<SMALL>;IGNORE
+<U0164>	<U0054>;<CARON>;<CAPITAL>;IGNORE
+<U0165>	<U0054>;<CARON>;<SMALL>;IGNORE
+<U1E6A>	<U0054>;<DOT>;<CAPITAL>;IGNORE
+<U1E6B>	<U0054>;<DOT>;<SMALL>;IGNORE
+<U1E6C>	<U0054>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E6D>	<U0054>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0166>	<U0054>;<STROKE>;<CAPITAL>;IGNORE
+<U0167>	<U0054>;<STROKE>;<SMALL>;IGNORE
+<U0162>	<U0054>;<CEDILLA>;<CAPITAL>;IGNORE
+<U0163>	<U0054>;<CEDILLA>;<SMALL>;IGNORE
+<U1E70>	<U0054>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E71>	<U0054>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E6E>	<U0054>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E6F>	<U0054>;<LINE-BELOW>;<SMALL>;IGNORE
+<t8>
+<U00DE>	"<U0054><U0048>";"<U00DE><U00DE>";"<CAPITAL><CAPITAL>";IGNORE
+<U00FE>	"<U0054><U0048>";"<U00DE><U00DE>";"<SMALL><SMALL>";IGNORE
+<U0055>	<U0055>;<NONE>;<CAPITAL>;IGNORE
+<U0075>	<U0055>;<NONE>;<SMALL>;IGNORE
+<U00DA>	<U0055>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FA>	<U0055>;<ACUTE>;<SMALL>;IGNORE
+<U00D9>	<U0055>;<GRAVE>;<CAPITAL>;IGNORE
+<U00F9>	<U0055>;<GRAVE>;<SMALL>;IGNORE
+<U0214>	<U0055>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE
+<U0215>	<U0055>;<DOUBLE-GRAVE>;<SMALL>;IGNORE
+<U016C>	<U0055>;<BREVE>;<CAPITAL>;IGNORE
+<U016D>	<U0055>;<BREVE>;<SMALL>;IGNORE
+<U0216>	<U0055>;<INVERTED-BREVE>;<CAPITAL>;IGNORE
+<U0217>	<U0055>;<INVERTED-BREVE>;<SMALL>;IGNORE
+<U00DB>	<U0055>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U00FB>	<U0055>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U01D3>	<U0055>;<CARON>;<CAPITAL>;IGNORE
+<U01D4>	<U0055>;<CARON>;<SMALL>;IGNORE
+<U016E>	<U0055>;<RING>;<CAPITAL>;IGNORE
+<U016F>	<U0055>;<RING>;<SMALL>;IGNORE
+<U01D5>	<U0055>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE
+<U01D6>	<U0055>;<DIAERESIS+MACRON>;<SMALL>;IGNORE
+<U01D7>	<U0055>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE
+<U01D8>	<U0055>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE
+<U01DB>	<U0055>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE
+<U01DC>	<U0055>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE
+<U01D9>	<U0055>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE
+<U01DA>	<U0055>;<DIAERESIS+CARON>;<SMALL>;IGNORE
+<U0170>	<U0055>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE
+<U0171>	<U0055>;<DOUBLE-ACUTE>;<SMALL>;IGNORE
+<U1EE6>	<U0055>;<HOOK>;<CAPITAL>;IGNORE
+<U1EE7>	<U0055>;<HOOK>;<SMALL>;IGNORE
+<U0168>	<U0055>;<TILDE>;<CAPITAL>;IGNORE
+<U0169>	<U0055>;<TILDE>;<SMALL>;IGNORE
+<U1E78>	<U0055>;<TILDE+ACUTE>;<CAPITAL>;IGNORE
+<U1E79>	<U0055>;<TILDE+ACUTE>;<SMALL>;IGNORE
+<U1E74>	<U0055>;<TILDE-BELOW>;<CAPITAL>;IGNORE
+<U1E75>	<U0055>;<TILDE-BELOW>;<SMALL>;IGNORE
+<U1EE4>	<U0055>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EE5>	<U0055>;<DOT-BELOW>;<SMALL>;IGNORE
+<U0172>	<U0055>;<OGONEK>;<CAPITAL>;IGNORE
+<U0173>	<U0055>;<OGONEK>;<SMALL>;IGNORE
+<U016A>	<U0055>;<MACRON>;<CAPITAL>;IGNORE
+<U016B>	<U0055>;<MACRON>;<SMALL>;IGNORE
+<U1E7A>	<U0055>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE
+<U1E7B>	<U0055>;<MACRON+DIAERESIS>;<SMALL>;IGNORE
+<U1E72>	<U0055>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE
+<U1E73>	<U0055>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE
+<U1E76>	<U0055>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E77>	<U0055>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE
+<U01AF>	<U0055>;<HORN>;<CAPITAL>;IGNORE
+<U01B0>	<U0055>;<HORN>;<SMALL>;IGNORE
+<U1EE8>	<U0055>;<HORN+ACUTE>;<CAPITAL>;IGNORE
+<U1EE9>	<U0055>;<HORN+ACUTE>;<SMALL>;IGNORE
+<U1EEA>	<U0055>;<HORN+GRAVE>;<CAPITAL>;IGNORE
+<U1EEB>	<U0055>;<HORN+GRAVE>;<SMALL>;IGNORE
+<U1EEC>	<U0055>;<HORN+HOOK>;<CAPITAL>;IGNORE
+<U1EED>	<U0055>;<HORN+HOOK>;<SMALL>;IGNORE
+<U1EEE>	<U0055>;<HORN+TILDE>;<CAPITAL>;IGNORE
+<U1EEF>	<U0055>;<HORN+TILDE>;<SMALL>;IGNORE
+<U1EF0>	<U0055>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF1>	<U0055>;<HORN+DOT-BELOW>;<SMALL>;IGNORE
+<u8>
+<U00DC>	<U00DC>;<NONE>;<CAPITAL>;IGNORE
+<U00FC>	<U00DC>;<NONE>;<SMALL>;IGNORE
+<U0056>	<U0056>;<NONE>;<CAPITAL>;IGNORE
+<U0076>	<U0056>;<NONE>;<SMALL>;IGNORE
+<U1E7C>	<U0056>;<TILDE>;<CAPITAL>;IGNORE
+<U1E7D>	<U0056>;<TILDE>;<SMALL>;IGNORE
+<U1E7E>	<U0056>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E7F>	<U0056>;<DOT-BELOW>;<SMALL>;IGNORE
+<v8>
+<U0057>	<U0057>;<NONE>;<CAPITAL>;IGNORE
+<U0077>	<U0057>;<NONE>;<SMALL>;IGNORE
+<U1E82>	<U0057>;<ACUTE>;<CAPITAL>;IGNORE
+<U1E83>	<U0057>;<ACUTE>;<SMALL>;IGNORE
+<U1E80>	<U0057>;<GRAVE>;<CAPITAL>;IGNORE
+<U1E81>	<U0057>;<GRAVE>;<SMALL>;IGNORE
+<U0174>	<U0057>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0175>	<U0057>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U1E84>	<U0057>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E85>	<U0057>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E86>	<U0057>;<DOT>;<CAPITAL>;IGNORE
+<U1E87>	<U0057>;<DOT>;<SMALL>;IGNORE
+<U1E88>	<U0057>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E89>	<U0057>;<DOT-BELOW>;<SMALL>;IGNORE
+<w8>
+<U0058>	<U0058>;<NONE>;<CAPITAL>;IGNORE
+<U0078>	<U0058>;<NONE>;<SMALL>;IGNORE
+<U1E8C>	<U0058>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U1E8D>	<U0058>;<DIAERESIS>;<SMALL>;IGNORE
+<U1E8A>	<U0058>;<DOT>;<CAPITAL>;IGNORE
+<U1E8B>	<U0058>;<DOT>;<SMALL>;IGNORE
+<x8>
+<U0059>	<U0059>;<NONE>;<CAPITAL>;IGNORE
+<U0079>	<U0059>;<NONE>;<SMALL>;IGNORE
+<U00DD>	<U0059>;<ACUTE>;<CAPITAL>;IGNORE
+<U00FD>	<U0059>;<ACUTE>;<SMALL>;IGNORE
+<U1EF2>	<U0059>;<GRAVE>;<CAPITAL>;IGNORE
+<U1EF3>	<U0059>;<GRAVE>;<SMALL>;IGNORE
+<U0176>	<U0059>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U0177>	<U0059>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U0178>	<U0059>;<DIAERESIS>;<CAPITAL>;IGNORE
+<U00FF>	<U0059>;<DIAERESIS>;<SMALL>;IGNORE
+<U1EF6>	<U0059>;<HOOK>;<CAPITAL>;IGNORE
+<U1EF7>	<U0059>;<HOOK>;<SMALL>;IGNORE
+<U1EF8>	<U0059>;<TILDE>;<CAPITAL>;IGNORE
+<U1EF9>	<U0059>;<TILDE>;<SMALL>;IGNORE
+<U1E8E>	<U0059>;<DOT>;<CAPITAL>;IGNORE
+<U1E8F>	<U0059>;<DOT>;<SMALL>;IGNORE
+<U1EF4>	<U0059>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1EF5>	<U0059>;<DOT-BELOW>;<SMALL>;IGNORE
+<y8>
+<U005A>	<U005A>;<NONE>;<CAPITAL>;IGNORE
+<U007A>	<U005A>;<NONE>;<SMALL>;IGNORE
+<U0179>	<U005A>;<ACUTE>;<CAPITAL>;IGNORE
+<U017A>	<U005A>;<ACUTE>;<SMALL>;IGNORE
+<U1E90>	<U005A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE
+<U1E91>	<U005A>;<CIRCUMFLEX>;<SMALL>;IGNORE
+<U017D>	<U005A>;<CARON>;<CAPITAL>;IGNORE
+<U017E>	<U005A>;<CARON>;<SMALL>;IGNORE
+<U017B>	<U005A>;<DOT>;<CAPITAL>;IGNORE
+<U017C>	<U005A>;<DOT>;<SMALL>;IGNORE
+<U1E92>	<U005A>;<DOT-BELOW>;<CAPITAL>;IGNORE
+<U1E93>	<U005A>;<DOT-BELOW>;<SMALL>;IGNORE
+<U01B5>	<U005A>;<STROKE>;<CAPITAL>;IGNORE
+<U01B6>	<U005A>;<STROKE>;<SMALL>;IGNORE
+<U1E94>	<U005A>;<LINE-BELOW>;<CAPITAL>;IGNORE
+<U1E95>	<U005A>;<LINE-BELOW>;<SMALL>;IGNORE
+<z8>
+<U0391>	<U0391>;<CAPITAL>;<GREEK>;IGNORE
+<U0386>	<U0391>;<CAPITAL>;<TONOS>;IGNORE
+<U03B1>	<U0391>;<SMALL>;<GREEK>;IGNORE
+<U03AC>	<U0391>;<SMALL>;<TONOS>;IGNORE
+<U0392>	<U0392>;<CAPITAL>;<GREEK>;IGNORE
+<U03B2>	<U0392>;<SMALL>;<GREEK>;IGNORE
+<U0393>	<U0393>;<CAPITAL>;<GREEK>;IGNORE
+<U03B3>	<U0393>;<SMALL>;<GREEK>;IGNORE
+<U0394>	<U0394>;<CAPITAL>;<GREEK>;IGNORE
+<U03B4>	<U0394>;<SMALL>;<GREEK>;IGNORE
+<U0395>	<U0395>;<CAPITAL>;<GREEK>;IGNORE
+<U0388>	<U0395>;<CAPITAL>;<TONOS>;IGNORE
+<U03B5>	<U0395>;<SMALL>;<GREEK>;IGNORE
+<U03AD>	<U0395>;<SMALL>;<TONOS>;IGNORE
+<U0396>	<U0396>;<CAPITAL>;<GREEK>;IGNORE
+<U03B6>	<U0396>;<SMALL>;<GREEK>;IGNORE
+<U0397>	<U0397>;<CAPITAL>;<GREEK>;IGNORE
+<U0389>	<U0397>;<CAPITAL>;<TONOS>;IGNORE
+<U03B7>	<U0397>;<SMALL>;<GREEK>;IGNORE
+<U03AE>	<U0397>;<SMALL>;<TONOS>;IGNORE
+<U0398>	<U0398>;<CAPITAL>;<GREEK>;IGNORE
+<U03B8>	<U0398>;<SMALL>;<GREEK>;IGNORE
+<U0399>	<U0399>;<CAPITAL>;<GREEK>;IGNORE
+<U038A>	<U0399>;<CAPITAL>;<TONOS>;IGNORE
+<U03AA>	<U0399>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03B9>	<U0399>;<SMALL>;<GREEK>;IGNORE
+<U03AF>	<U0399>;<SMALL>;<TONOS>;IGNORE
+<U03CA>	<U0399>;<SMALL>;<DIALYTICA>;IGNORE
+<U0390>	<U0399>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U039A>	<U039A>;<CAPITAL>;<GREEK>;IGNORE
+<U03BA>	<U039A>;<SMALL>;<GREEK>;IGNORE
+<U039B>	<U039B>;<CAPITAL>;<GREEK>;IGNORE
+<U03BB>	<U039B>;<SMALL>;<GREEK>;IGNORE
+<U039C>	<U039C>;<CAPITAL>;<GREEK>;IGNORE
+<U03BC>	<U039C>;<SMALL>;<GREEK>;IGNORE
+<U039D>	<U039D>;<CAPITAL>;<GREEK>;IGNORE
+<U03BD>	<U039D>;<SMALL>;<GREEK>;IGNORE
+<U039E>	<U039E>;<CAPITAL>;<GREEK>;IGNORE
+<U03BE>	<U039E>;<SMALL>;<GREEK>;IGNORE
+<U039F>	<U039F>;<CAPITAL>;<GREEK>;IGNORE
+<U038C>	<U039F>;<CAPITAL>;<TONOS>;IGNORE
+<U03BF>	<U039F>;<SMALL>;<GREEK>;IGNORE
+<U03CC>	<U039F>;<SMALL>;<TONOS>;IGNORE
+<U03A0>	<U03A0>;<CAPITAL>;<GREEK>;IGNORE
+<U03C0>	<U03A0>;<SMALL>;<GREEK>;IGNORE
+<U03A1>	<U03A1>;<CAPITAL>;<GREEK>;IGNORE
+<U03C1>	<U03A1>;<SMALL>;<GREEK>;IGNORE
+<U03A3>	<U03A3>;<CAPITAL>;<GREEK>;IGNORE
+<U03C3>	<U03A3>;<SMALL>;<GREEK>;IGNORE
+<U03C2>	<U03A3>;<SMALL>;<U03C2>;IGNORE
+<U03A4>	<U03A4>;<CAPITAL>;<GREEK>;IGNORE
+<U03C4>	<U03A4>;<SMALL>;<GREEK>;IGNORE
+<U03A5>	<U03A5>;<CAPITAL>;<GREEK>;IGNORE
+<U038E>	<U03A5>;<CAPITAL>;<TONOS>;IGNORE
+<U03AB>	<U03A5>;<CAPITAL>;<DIALYTICA>;IGNORE
+<U03C5>	<U03A5>;<SMALL>;<GREEK>;IGNORE
+<U03CD>	<U03A5>;<SMALL>;<TONOS>;IGNORE
+<U03CB>	<U03A5>;<SMALL>;<DIALYTICA>;IGNORE
+<U03B0>	<U03A5>;<SMALL>;<DIALYTICA+TONOS>;IGNORE
+<U03A6>	<U03A6>;<CAPITAL>;<GREEK>;IGNORE
+<U03C6>	<U03A6>;<SMALL>;<GREEK>;IGNORE
+<U03A7>	<U03A7>;<CAPITAL>;<GREEK>;IGNORE
+<U03C7>	<U03A7>;<SMALL>;<GREEK>;IGNORE
+<U03A8>	<U03A8>;<CAPITAL>;<GREEK>;IGNORE
+<U03C8>	<U03A8>;<SMALL>;<GREEK>;IGNORE
+<U03A9>	<U03A9>;<CAPITAL>;<GREEK>;IGNORE
+<U038F>	<U03A9>;<CAPITAL>;<TONOS>;IGNORE
+<U03C9>	<U03A9>;<SMALL>;<GREEK>;IGNORE
+<U03CE>	<U03A9>;<SMALL>;<TONOS>;IGNORE
+<U0410>	<U0410>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0430>	<U0410>;<CYRILLIC>;<SMALL>;IGNORE
+<U0411>	<U0411>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0431>	<U0411>;<CYRILLIC>;<SMALL>;IGNORE
+<U0412>	<U0412>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0432>	<U0412>;<CYRILLIC>;<SMALL>;IGNORE
+<U0413>	<U0413>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0433>	<U0413>;<CYRILLIC>;<SMALL>;IGNORE
+<U0403>	<U0403>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0453>	<U0403>;<CYRILLIC>;<SMALL>;IGNORE
+<U0490>	<U0490>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0491>	<U0490>;<CYRILLIC>;<SMALL>;IGNORE
+<U0414>	<U0414>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0434>	<U0414>;<CYRILLIC>;<SMALL>;IGNORE
+<U0402>	<U0402>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0452>	<U0402>;<CYRILLIC>;<SMALL>;IGNORE
+<U0415>	<U0415>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0435>	<U0415>;<CYRILLIC>;<SMALL>;IGNORE
+<U0401>	<U0401>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0451>	<U0401>;<CYRILLIC>;<SMALL>;IGNORE
+<U0404>	<U0404>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0454>	<U0404>;<CYRILLIC>;<SMALL>;IGNORE
+<U0416>	<U0416>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0436>	<U0416>;<CYRILLIC>;<SMALL>;IGNORE
+<U0417>	<U0417>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0437>	<U0417>;<CYRILLIC>;<SMALL>;IGNORE
+<U0418>	<U0418>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0438>	<U0418>;<CYRILLIC>;<SMALL>;IGNORE
+<U0406>	<U0406>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0456>	<U0406>;<CYRILLIC>;<SMALL>;IGNORE
+<U0407>	<U0407>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0457>	<U0407>;<CYRILLIC>;<SMALL>;IGNORE
+<U0408>	<U0408>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0458>	<U0408>;<CYRILLIC>;<SMALL>;IGNORE
+<U0419>	<U0419>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0439>	<U0419>;<CYRILLIC>;<SMALL>;IGNORE
+<U041A>	<U041A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043A>	<U041A>;<CYRILLIC>;<SMALL>;IGNORE
+<U040C>	<U040C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045C>	<U040C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041B>	<U041B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043B>	<U041B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0409>	<U0409>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0459>	<U0409>;<CYRILLIC>;<SMALL>;IGNORE
+<U041C>	<U041C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043C>	<U041C>;<CYRILLIC>;<SMALL>;IGNORE
+<U041D>	<U041D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043D>	<U041D>;<CYRILLIC>;<SMALL>;IGNORE
+<U040A>	<U040A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045A>	<U040A>;<CYRILLIC>;<SMALL>;IGNORE
+<U041E>	<U041E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043E>	<U041E>;<CYRILLIC>;<SMALL>;IGNORE
+<U041F>	<U041F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U043F>	<U041F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0420>	<U0420>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0440>	<U0420>;<CYRILLIC>;<SMALL>;IGNORE
+<U0421>	<U0421>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0441>	<U0421>;<CYRILLIC>;<SMALL>;IGNORE
+<U0422>	<U0422>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0442>	<U0422>;<CYRILLIC>;<SMALL>;IGNORE
+<U040B>	<U040B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045B>	<U040B>;<CYRILLIC>;<SMALL>;IGNORE
+<U0423>	<U0423>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0443>	<U0423>;<CYRILLIC>;<SMALL>;IGNORE
+<U040E>	<U040E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045E>	<U040E>;<CYRILLIC>;<SMALL>;IGNORE
+<U0424>	<U0424>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0444>	<U0424>;<CYRILLIC>;<SMALL>;IGNORE
+<U0425>	<U0425>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0445>	<U0425>;<CYRILLIC>;<SMALL>;IGNORE
+<U0426>	<U0426>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0446>	<U0426>;<CYRILLIC>;<SMALL>;IGNORE
+<U0405>	<U0405>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0455>	<U0405>;<CYRILLIC>;<SMALL>;IGNORE
+<U0427>	<U0427>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0447>	<U0427>;<CYRILLIC>;<SMALL>;IGNORE
+<U040F>	<U040F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U045F>	<U040F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0428>	<U0428>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0448>	<U0428>;<CYRILLIC>;<SMALL>;IGNORE
+<U0429>	<U0429>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0449>	<U0429>;<CYRILLIC>;<SMALL>;IGNORE
+<U044A>	<U044A>;<CYRILLIC>;<SMALL>;IGNORE
+<U042A>	<U044A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042B>	<U042B>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044B>	<U042B>;<CYRILLIC>;<SMALL>;IGNORE
+<U044C>	<U044C>;<CYRILLIC>;<SMALL>;IGNORE
+<U042C>	<U044C>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U042D>	<U042D>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044D>	<U042D>;<CYRILLIC>;<SMALL>;IGNORE
+<U042E>	<U042E>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044E>	<U042E>;<CYRILLIC>;<SMALL>;IGNORE
+<U042F>	<U042F>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U044F>	<U042F>;<CYRILLIC>;<SMALL>;IGNORE
+<U0462>	<U0462>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0463>	<U0462>;<CYRILLIC>;<SMALL>;IGNORE
+<U046A>	<U046A>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U046B>	<U046A>;<CYRILLIC>;<SMALL>;IGNORE
+<U0472>	<U0472>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0473>	<U0472>;<CYRILLIC>;<SMALL>;IGNORE
+<U0474>	<U0474>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0475>	<U0474>;<CYRILLIC>;<SMALL>;IGNORE
+<U0480>	<U0480>;<CYRILLIC>;<CAPITAL>;IGNORE
+<U0481>	<U0480>;<CYRILLIC>;<SMALL>;IGNORE
+<U05D0>	<U05D0>;IGNORE;IGNORE;IGNORE
+<U05D1>	<U05D1>;IGNORE;IGNORE;IGNORE
+<U05D2>	<U05D2>;IGNORE;IGNORE;IGNORE
+<U05D3>	<U05D3>;IGNORE;IGNORE;IGNORE
+<U05D4>	<U05D4>;IGNORE;IGNORE;IGNORE
+<U05D5>	<U05D5>;IGNORE;IGNORE;IGNORE
+<U05D6>	<U05D6>;IGNORE;IGNORE;IGNORE
+<U05D7>	<U05D7>;IGNORE;IGNORE;IGNORE
+<U05D8>	<U05D8>;IGNORE;IGNORE;IGNORE
+<U05D9>	<U05D9>;IGNORE;IGNORE;IGNORE
+<U05DA>	<U05DA>;IGNORE;IGNORE;IGNORE
+<U05DB>	<U05DB>;IGNORE;IGNORE;IGNORE
+<U05DC>	<U05DC>;IGNORE;IGNORE;IGNORE
+<U05DD>	<U05DD>;IGNORE;IGNORE;IGNORE
+<U05DE>	<U05DE>;IGNORE;IGNORE;IGNORE
+<U05DF>	<U05DF>;IGNORE;IGNORE;IGNORE
+<U05E0>	<U05E0>;IGNORE;IGNORE;IGNORE
+<U05E1>	<U05E1>;IGNORE;IGNORE;IGNORE
+<U05E2>	<U05E2>;IGNORE;IGNORE;IGNORE
+<U05E3>	<U05E3>;IGNORE;IGNORE;IGNORE
+<U05E4>	<U05E4>;IGNORE;IGNORE;IGNORE
+<U05E5>	<U05E5>;IGNORE;IGNORE;IGNORE
+<U05E6>	<U05E6>;IGNORE;IGNORE;IGNORE
+<U05E7>	<U05E7>;IGNORE;IGNORE;IGNORE
+<U05E8>	<U05E8>;IGNORE;IGNORE;IGNORE
+<U05E9>	<U05E9>;IGNORE;IGNORE;IGNORE
+<U05EA>	<U05EA>;IGNORE;IGNORE;IGNORE
+
+% Arabic collating
+
+<U060C>	IGNORE;IGNORE;IGNORE;<U060C>
+<U061B>	IGNORE;IGNORE;IGNORE;<U061B>
+<U061F>	IGNORE;IGNORE;IGNORE;<U061F>
+<U0640>	IGNORE;IGNORE;IGNORE;<U0640>
+
+<U0621>	<U0621>;<U0621>;IGNORE;IGNORE
+<U0622>	<U0622>;<U0622>;IGNORE;IGNORE
+<UFE82>	<U0622>;<UFE82>;IGNORE;IGNORE
+<U0623>	<U0621>;<U0623>;IGNORE;IGNORE
+<UFE84>	<U0621>;<UFE84>;IGNORE;IGNORE
+<U0624>	<U0621>;<U0624>;IGNORE;IGNORE
+<U0625>	<U0621>;<U0625>;IGNORE;IGNORE
+<UFE88>	<U0621>;<UFE88>;IGNORE;IGNORE
+<U0626>	<U0621>;<U0626>;IGNORE;IGNORE
+<U0670>	<U0670>;<U0670>;IGNORE;IGNORE
+<U0627>	<U0627>;<U0627>;IGNORE;IGNORE
+<UFE8D>	<U0627>;<UFE8D>;IGNORE;IGNORE
+<UFE8E>	<U0627>;<UFE8E>;IGNORE;IGNORE
+<UE016>	<U0627>;<UE016>;IGNORE;IGNORE
+<U0628>	<U0628>;<U0628>;IGNORE;IGNORE
+<UFE8F>	<U0628>;<UFE8F>;IGNORE;IGNORE
+<UFE90>	<U0628>;<UFE90>;IGNORE;IGNORE
+<UFE91>	<U0628>;<UFE91>;IGNORE;IGNORE
+<UFE92>	<U0628>;<UFE92>;IGNORE;IGNORE
+<U067E>	<U067E>;<U067E>;IGNORE;IGNORE
+<U06A4>	<U06A4>;<U06A4>;IGNORE;IGNORE
+<U0629>	<U0629>;<U0629>;IGNORE;IGNORE
+<UFE93>	<U0629>;<UFE93>;IGNORE;IGNORE
+<UFE94>	<U0629>;<UFE94>;IGNORE;IGNORE
+<U062A>	<U0629>;<U062A>;IGNORE;IGNORE
+<UFE95>	<U0629>;<UFE95>;IGNORE;IGNORE
+<UFE96>	<U0629>;<UFE96>;IGNORE;IGNORE
+<UFE97>	<U0629>;<UFE97>;IGNORE;IGNORE
+<UFE98>	<U0629>;<UFE98>;IGNORE;IGNORE
+<U062B>	<U062B>;<U062B>;IGNORE;IGNORE
+<UFE99>	<U062B>;<UFE99>;IGNORE;IGNORE
+<UFE9A>	<U062B>;<UFE9A>;IGNORE;IGNORE
+<UFE9B>	<U062B>;<UFE9B>;IGNORE;IGNORE
+<UFE9C>	<U062B>;<UFE9C>;IGNORE;IGNORE
+<U062C>	<U062C>;<U062C>;IGNORE;IGNORE
+<UFE9D>	<U062C>;<UFE9D>;IGNORE;IGNORE
+<UFE9E>	<U062C>;<UFE9E>;IGNORE;IGNORE
+<UFE9F>	<U062C>;<UFE9F>;IGNORE;IGNORE
+<UFEA0>	<U062C>;<UFEA0>;IGNORE;IGNORE
+<U062D>	<U062D>;<U062D>;IGNORE;IGNORE
+<UFEA1>	<U062D>;<UFEA1>;IGNORE;IGNORE
+<UFEA2>	<U062D>;<UFEA2>;IGNORE;IGNORE
+<UFEA3>	<U062D>;<UFEA3>;IGNORE;IGNORE
+<UFEA4>	<U062D>;<UFEA4>;IGNORE;IGNORE
+<U062E>	<U062E>;<U062E>;IGNORE;IGNORE
+<UFEA5>	<U062E>;<UFEA5>;IGNORE;IGNORE
+<UFEA6>	<U062E>;<UFEA6>;IGNORE;IGNORE
+<UFEA7>	<U062E>;<UFEA7>;IGNORE;IGNORE
+<UFEA8>	<U062E>;<UFEA8>;IGNORE;IGNORE
+<U062F>	<U062F>;<U062F>;IGNORE;IGNORE
+<UFEA9>	<U062F>;<UFEA9>;IGNORE;IGNORE
+<UFEAA>	<U062F>;<UFEAA>;IGNORE;IGNORE
+<U0630>	<U0630>;<U0630>;IGNORE;IGNORE
+<UFEAB>	<U0630>;<UFEAB>;IGNORE;IGNORE
+<UFEAC>	<U0630>;<UFEAC>;IGNORE;IGNORE
+<U0631>	<U0631>;<U0631>;IGNORE;IGNORE
+<UFEAD>	<U0631>;<UFEAD>;IGNORE;IGNORE
+<UFEAE>	<U0631>;<UFEAE>;IGNORE;IGNORE
+<U0632>	<U0632>;<U0632>;IGNORE;IGNORE
+<UFEAF>	<U0632>;<UFEAF>;IGNORE;IGNORE
+<UFEB0>	<U0632>;<UFEB0>;IGNORE;IGNORE
+<U0633>	<U0633>;<U0633>;IGNORE;IGNORE
+<UFEB1>	<U0633>;<UFEB1>;IGNORE;IGNORE
+<UFEB2>	<U0633>;<UFEB2>;IGNORE;IGNORE
+<UFEB3>	<U0633>;<UFEB3>;IGNORE;IGNORE
+<UFEB4>	<U0633>;<UFEB4>;IGNORE;IGNORE
+<U0634>	<U0634>;<U0634>;IGNORE;IGNORE
+<UFEB5>	<U0634>;<UFEB5>;IGNORE;IGNORE
+<UFEB6>	<U0634>;<UFEB6>;IGNORE;IGNORE
+<UFEB7>	<U0634>;<UFEB7>;IGNORE;IGNORE
+<UFEB8>	<U0634>;<UFEB8>;IGNORE;IGNORE
+<U0635>	<U0635>;<U0635>;IGNORE;IGNORE
+<UFEB9>	<U0635>;<UFEB9>;IGNORE;IGNORE
+<UFEBA>	<U0635>;<UFEBA>;IGNORE;IGNORE
+<UFEBB>	<U0635>;<UFEBB>;IGNORE;IGNORE
+<UFEBC>	<U0635>;<UFEBC>;IGNORE;IGNORE
+<U0636>	<U0636>;<U0636>;IGNORE;IGNORE
+<UFEBD>	<U0636>;<UFEBD>;IGNORE;IGNORE
+<UFEBE>	<U0636>;<UFEBE>;IGNORE;IGNORE
+<UFEBF>	<U0636>;<UFEBF>;IGNORE;IGNORE
+<UFEC0>	<U0636>;<UFEC0>;IGNORE;IGNORE
+<U0637>	<U0637>;<U0637>;IGNORE;IGNORE
+<UFEC1>	<U0637>;<UFEC1>;IGNORE;IGNORE
+<UFEC2>	<U0637>;<UFEC2>;IGNORE;IGNORE
+<UFEC3>	<U0637>;<UFEC3>;IGNORE;IGNORE
+<UFEC4>	<U0637>;<UFEC4>;IGNORE;IGNORE
+<U0638>	<U0638>;<U0638>;IGNORE;IGNORE
+<UFEC5>	<U0638>;<UFEC5>;IGNORE;IGNORE
+<UFEC6>	<U0638>;<UFEC6>;IGNORE;IGNORE
+<UFEC7>	<U0638>;<UFEC7>;IGNORE;IGNORE
+<UFEC8>	<U0638>;<UFEC8>;IGNORE;IGNORE
+<U0639>	<U0639>;<U0639>;IGNORE;IGNORE
+<UFEC9>	<U0639>;<UFEC9>;IGNORE;IGNORE
+<UFECA>	<U0639>;<UFECA>;IGNORE;IGNORE
+<UFECB>	<U0639>;<UFECB>;IGNORE;IGNORE
+<UFECC>	<U0639>;<UFECC>;IGNORE;IGNORE
+<U063A>	<U063A>;<U063A>;IGNORE;IGNORE
+<UFECD>	<U063A>;<UFECD>;IGNORE;IGNORE
+<UFECE>	<U063A>;<UFECE>;IGNORE;IGNORE
+<UFECF>	<U063A>;<UFECF>;IGNORE;IGNORE
+<UFED0>	<U063A>;<UFED0>;IGNORE;IGNORE
+<U0641>	<U0641>;<U0641>;IGNORE;IGNORE
+<UFED1>	<U0641>;<UFED1>;IGNORE;IGNORE
+<UFED2>	<U0641>;<UFED2>;IGNORE;IGNORE
+<UFED3>	<U0641>;<UFED3>;IGNORE;IGNORE
+<UFED4>	<U0641>;<UFED4>;IGNORE;IGNORE
+<U0642>	<U0642>;<U0642>;IGNORE;IGNORE
+<UFED5>	<U0642>;<UFED5>;IGNORE;IGNORE
+<UFED6>	<U0642>;<UFED6>;IGNORE;IGNORE
+<UFED7>	<U0642>;<UFED7>;IGNORE;IGNORE
+<UFED8>	<U0642>;<UFED8>;IGNORE;IGNORE
+<U0643>	<U0643>;<U0643>;IGNORE;IGNORE
+<UFED9>	<U0643>;<UFED9>;IGNORE;IGNORE
+<UFEDA>	<U0643>;<UFEDA>;IGNORE;IGNORE
+<UFEDB>	<U0643>;<UFEDB>;IGNORE;IGNORE
+<UFEDC>	<U0643>;<UFEDC>;IGNORE;IGNORE
+<U0644>	<U0644>;<U0644>;IGNORE;IGNORE
+<UFEDD>	<U0644>;<UFEDD>;IGNORE;IGNORE
+<UFEDE>	<U0644>;<UFEDE>;IGNORE;IGNORE
+<UFEDF>	<U0644>;<UFEDF>;IGNORE;IGNORE
+<UFEE0>	<U0644>;<UFEE0>;IGNORE;IGNORE
+<U0645>	<U0645>;<U0645>;IGNORE;IGNORE
+<UFEE1>	<U0645>;<UFEE1>;IGNORE;IGNORE
+<UFEE2>	<U0645>;<UFEE2>;IGNORE;IGNORE
+<UFEE3>	<U0645>;<UFEE3>;IGNORE;IGNORE
+<UFEE4>	<U0645>;<UFEE4>;IGNORE;IGNORE
+<U0646>	<U0646>;<U0646>;IGNORE;IGNORE
+<UFEE5>	<U0646>;<UFEE5>;IGNORE;IGNORE
+<UFEE6>	<U0646>;<UFEE6>;IGNORE;IGNORE
+<UFEE7>	<U0646>;<UFEE7>;IGNORE;IGNORE
+<UFEE8>	<U0646>;<UFEE8>;IGNORE;IGNORE
+<U0647>	<U0647>;<U0647>;IGNORE;IGNORE
+<UFEE9>	<U0647>;<UFEE9>;IGNORE;IGNORE
+<UFEEA>	<U0647>;<UFEEA>;IGNORE;IGNORE
+<UFEEB>	<U0647>;<UFEEB>;IGNORE;IGNORE
+<UFEEC>	<U0647>;<UFEEC>;IGNORE;IGNORE
+<U0648>	<U0648>;<U0648>;IGNORE;IGNORE
+<UFEED>	<U0648>;<UFEED>;IGNORE;IGNORE
+<UFEEE>	<U0648>;<UFEEE>;IGNORE;IGNORE
+<U0649>	<U0649>;<U0649>;IGNORE;IGNORE
+<UFEEF>	<U0649>;<UFEEF>;IGNORE;IGNORE
+<UFEF0>	<U0649>;<UFEF0>;IGNORE;IGNORE
+<U064A>	<U064A>;<U064A>;IGNORE;IGNORE
+<UFEF1>	<U064A>;<UFEF1>;IGNORE;IGNORE
+<UFEF2>	<U064A>;<UFEF2>;IGNORE;IGNORE
+<UFEF3>	<U064A>;<UFEF3>;IGNORE;IGNORE
+<UFEF4>	<U064A>;<UFEF4>;IGNORE;IGNORE
+
+<U064B>	IGNORE;IGNORE;<U064B>;IGNORE
+<U064C>	IGNORE;IGNORE;<U064C>;IGNORE
+<U064D>	IGNORE;IGNORE;<U064D>;IGNORE
+<U064E>	IGNORE;IGNORE;<U064E>;IGNORE
+<U064F>	IGNORE;IGNORE;<U064F>;IGNORE
+<U0650>	IGNORE;IGNORE;<U0650>;IGNORE
+<U0651>	IGNORE;IGNORE;<U0651>;IGNORE
+<UFE7D>	IGNORE;IGNORE;<UFE7D>;IGNORE
+<U0652>	IGNORE;IGNORE;<U0652>;IGNORE
+
+<U0660>	<U0030>;<U0660>;IGNORE;IGNORE
+<U0661>	<U0031>;<U0661>;IGNORE;IGNORE
+<U0662>	<U0032>;<U0662>;IGNORE;IGNORE
+<U0663>	<U0033>;<U0663>;IGNORE;IGNORE
+<U0664>	<U0034>;<U0664>;IGNORE;IGNORE
+<U0665>	<U0035>;<U0665>;IGNORE;IGNORE
+<U0666>	<U0036>;<U0666>;IGNORE;IGNORE
+<U0667>	<U0037>;<U0667>;IGNORE;IGNORE
+<U0668>	<U0038>;<U0668>;IGNORE;IGNORE
+<U0669>	<U0039>;<U0669>;IGNORE;IGNORE
+
+<UFEF5>	"<U0644><U0622>";"<U0644><U0622>";"<UFEF5><UFEF5>";IGNORE
+<UFEF6>	"<U0644><U0622>";"<U0644><UFE82>";"<UFEF6><UFEF6>";IGNORE
+<UFEF7>	"<U0644><U0623>";"<U0644><U0623>";"<UFEF7><UFEF7>";IGNORE
+<UFEF8>	"<U0644><U0623>";"<U0644><UFE84>";"<UFEF8><UFEF8>";IGNORE
+<UFEF9>	"<U0644><U0625>";"<U0644><U0625>";"<UFEF9><UFEF9>";IGNORE
+<UFEFA>	"<U0644><U0625>";"<U0644><UFE88>";"<UFEFA><UFEFA>";IGNORE
+<UFEFB>	"<U0644><U0627>";"<U0644><UFE8D>";"<UFEFB><UFEFB>";IGNORE
+<UFEFC>	"<U0644><U0627>";"<U0644><UFE8E>";"<UFEFC><UFEFC>";IGNORE
+
+% katakana/hiragana sorting
+% base is katakana, as this is present in most charsets
+% normal before voiced before semi-voiced
+% small vocals before normal vocals
+% katakana before hiragana
+
+<U30A1>	<U30A1>;<U30A1>;IGNORE;IGNORE
+<U3041>	<U30A1>;<U3041>;IGNORE;IGNORE
+<U30A2>	<U30A1>;<U30A2>;IGNORE;IGNORE
+<U3042>	<U30A1>;<U3042>;IGNORE;IGNORE
+<U30A3>	<U30A3>;<U30A3>;IGNORE;IGNORE
+<U3043>	<U30A3>;<U3043>;IGNORE;IGNORE
+<U30A4>	<U30A3>;<U30A4>;IGNORE;IGNORE
+<U3044>	<U30A3>;<U3044>;IGNORE;IGNORE
+<U30A5>	<U30A5>;<U30A5>;IGNORE;IGNORE
+<U3045>	<U30A5>;<U3045>;IGNORE;IGNORE
+<U30A6>	<U30A5>;<U30A6>;IGNORE;IGNORE
+<U3046>	<U30A5>;<U3046>;IGNORE;IGNORE
+<U30F4>	<U30A5>;<U30F4>;IGNORE;IGNORE
+<U30A7>	<U30A7>;<U30A7>;IGNORE;IGNORE
+<U3047>	<U30A7>;<U3047>;IGNORE;IGNORE
+<U30A8>	<U30A7>;<U30A8>;IGNORE;IGNORE
+<U3048>	<U30A7>;<U3048>;IGNORE;IGNORE
+<U30A9>	<U30A9>;<U30A9>;IGNORE;IGNORE
+<U3049>	<U30A9>;<U3049>;IGNORE;IGNORE
+<U30AA>	<U30A9>;<U30AA>;IGNORE;IGNORE
+<U304A>	<U30A9>;<U304A>;IGNORE;IGNORE
+<U30F5>	<U30F5>;<U30F5>;IGNORE;IGNORE
+<U30AB>	<U30F5>;<U30AB>;IGNORE;IGNORE
+<U304B>	<U30F5>;<U304B>;IGNORE;IGNORE
+<U30AC>	<U30F5>;<U30AC>;IGNORE;IGNORE
+<U304C>	<U30F5>;<U304C>;IGNORE;IGNORE
+<U30AD>	<U30AD>;<U30AD>;IGNORE;IGNORE
+<U304D>	<U30AD>;<U304D>;IGNORE;IGNORE
+<U30AE>	<U30AD>;<U30AE>;IGNORE;IGNORE
+<U304E>	<U30AD>;<U304E>;IGNORE;IGNORE
+<U30AF>	<U30AF>;<U30AF>;IGNORE;IGNORE
+<U304F>	<U30AF>;<U304F>;IGNORE;IGNORE
+<U30B0>	<U30AF>;<U30B0>;IGNORE;IGNORE
+<U3050>	<U30AF>;<U3050>;IGNORE;IGNORE
+<U30F6>	<U30F6>;<U30F6>;IGNORE;IGNORE
+<U30B1>	<U30F6>;<U30B1>;IGNORE;IGNORE
+<U3051>	<U30F6>;<U3051>;IGNORE;IGNORE
+<U30B2>	<U30F6>;<U30B2>;IGNORE;IGNORE
+<U3052>	<U30F6>;<U3052>;IGNORE;IGNORE
+<U30B3>	<U30B3>;<U30B3>;IGNORE;IGNORE
+<U3053>	<U30B3>;<U3053>;IGNORE;IGNORE
+<U30B4>	<U30B3>;<U30B4>;IGNORE;IGNORE
+<U3054>	<U30B3>;<U3054>;IGNORE;IGNORE
+<U30B5>	<U30B5>;<U30B5>;IGNORE;IGNORE
+<U3055>	<U30B5>;<U3055>;IGNORE;IGNORE
+<U30B6>	<U30B5>;<U30B6>;IGNORE;IGNORE
+<U3056>	<U30B5>;<U3056>;IGNORE;IGNORE
+<U30B7>	<U30B7>;<U30B7>;IGNORE;IGNORE
+<U3057>	<U30B7>;<U3057>;IGNORE;IGNORE
+<U30B8>	<U30B7>;<U30B8>;IGNORE;IGNORE
+<U3058>	<U30B7>;<U3058>;IGNORE;IGNORE
+<U30B9>	<U30B9>;<U30B9>;IGNORE;IGNORE
+<U3059>	<U30B9>;<U3059>;IGNORE;IGNORE
+<U30BA>	<U30B9>;<U30BA>;IGNORE;IGNORE
+<U305A>	<U30B9>;<U305A>;IGNORE;IGNORE
+<U30BB>	<U30BB>;<U30BB>;IGNORE;IGNORE
+<U305B>	<U30BB>;<U305B>;IGNORE;IGNORE
+<U30BC>	<U30BB>;<U30BC>;IGNORE;IGNORE
+<U305C>	<U30BB>;<U305C>;IGNORE;IGNORE
+<U30BD>	<U30BD>;<U30BD>;IGNORE;IGNORE
+<U305D>	<U30BD>;<U305D>;IGNORE;IGNORE
+<U30BE>	<U30BD>;<U30BE>;IGNORE;IGNORE
+<U305E>	<U30BD>;<U305E>;IGNORE;IGNORE
+<U30BF>	<U30BF>;<U30BF>;IGNORE;IGNORE
+<U305F>	<U30BF>;<U305F>;IGNORE;IGNORE
+<U30C0>	<U30BF>;<U30C0>;IGNORE;IGNORE
+<U3060>	<U30BF>;<U3060>;IGNORE;IGNORE
+<U30C1>	<U30C1>;<U30C1>;IGNORE;IGNORE
+<U3061>	<U30C1>;<U3061>;IGNORE;IGNORE
+<U30C2>	<U30C1>;<U30C2>;IGNORE;IGNORE
+<U3062>	<U30C1>;<U3062>;IGNORE;IGNORE
+<U30C3>	<U30C3>;<U30C3>;IGNORE;IGNORE
+<U3063>	<U30C3>;<U3063>;IGNORE;IGNORE
+<U30C4>	<U30C3>;<U30C4>;IGNORE;IGNORE
+<U3064>	<U30C3>;<U3064>;IGNORE;IGNORE
+<U30C5>	<U30C3>;<U30C5>;IGNORE;IGNORE
+<U3065>	<U30C3>;<U3065>;IGNORE;IGNORE
+<U30C6>	<U30C6>;<U30C6>;IGNORE;IGNORE
+<U3066>	<U30C6>;<U3066>;IGNORE;IGNORE
+<U30C7>	<U30C6>;<U30C7>;IGNORE;IGNORE
+<U3067>	<U30C6>;<U3067>;IGNORE;IGNORE
+<U30C8>	<U30C8>;<U30C8>;IGNORE;IGNORE
+<U3068>	<U30C8>;<U3068>;IGNORE;IGNORE
+<U30C9>	<U30C8>;<U30C9>;IGNORE;IGNORE
+<U3069>	<U30C8>;<U3069>;IGNORE;IGNORE
+<U30CA>	<U30CA>;<U30CA>;IGNORE;IGNORE
+<U306A>	<U30CA>;<U306A>;IGNORE;IGNORE
+<U30CB>	<U30CB>;<U30CB>;IGNORE;IGNORE
+<U306B>	<U30CB>;<U306B>;IGNORE;IGNORE
+<U30CC>	<U30CC>;<U30CC>;IGNORE;IGNORE
+<U306C>	<U30CC>;<U306C>;IGNORE;IGNORE
+<U30CD>	<U30CD>;<U30CD>;IGNORE;IGNORE
+<U306D>	<U30CD>;<U306D>;IGNORE;IGNORE
+<U30CE>	<U30CE>;<U30CE>;IGNORE;IGNORE
+<U306E>	<U30CE>;<U306E>;IGNORE;IGNORE
+<U30CF>	<U30CF>;<U30CF>;IGNORE;IGNORE
+<U306F>	<U30CF>;<U306F>;IGNORE;IGNORE
+<U30D0>	<U30CF>;<U30D0>;IGNORE;IGNORE
+<U3070>	<U30CF>;<U3070>;IGNORE;IGNORE
+<U30D1>	<U30CF>;<U30D1>;IGNORE;IGNORE
+<U3071>	<U30CF>;<U3071>;IGNORE;IGNORE
+<U30D2>	<U30D2>;<U30D2>;IGNORE;IGNORE
+<U3072>	<U30D2>;<U3072>;IGNORE;IGNORE
+<U30D3>	<U30D2>;<U30D3>;IGNORE;IGNORE
+<U3073>	<U30D2>;<U3073>;IGNORE;IGNORE
+<U30D4>	<U30D2>;<U30D4>;IGNORE;IGNORE
+<U3074>	<U30D2>;<U3074>;IGNORE;IGNORE
+<U30D5>	<U30D5>;<U30D5>;IGNORE;IGNORE
+<U3075>	<U30D5>;<U3075>;IGNORE;IGNORE
+<U30D6>	<U30D5>;<U30D6>;IGNORE;IGNORE
+<U3076>	<U30D5>;<U3076>;IGNORE;IGNORE
+<U30D7>	<U30D5>;<U30D7>;IGNORE;IGNORE
+<U3077>	<U30D5>;<U3077>;IGNORE;IGNORE
+<U30D8>	<U30D8>;<U30D8>;IGNORE;IGNORE
+<U3078>	<U30D8>;<U3078>;IGNORE;IGNORE
+<U30D9>	<U30D8>;<U30D9>;IGNORE;IGNORE
+<U3079>	<U30D8>;<U3079>;IGNORE;IGNORE
+<U30DA>	<U30D8>;<U30DA>;IGNORE;IGNORE
+<U307A>	<U30D8>;<U307A>;IGNORE;IGNORE
+<U30DB>	<U30DB>;<U30DB>;IGNORE;IGNORE
+<U307B>	<U30DB>;<U307B>;IGNORE;IGNORE
+<U30DC>	<U30DB>;<U30DC>;IGNORE;IGNORE
+<U307C>	<U30DB>;<U307C>;IGNORE;IGNORE
+<U30DD>	<U30DB>;<U30DD>;IGNORE;IGNORE
+<U307D>	<U30DB>;<U307D>;IGNORE;IGNORE
+<U30DE>	<U30DE>;<U30DE>;IGNORE;IGNORE
+<U307E>	<U30DE>;<U307E>;IGNORE;IGNORE
+<U30DF>	<U30DF>;<U30DF>;IGNORE;IGNORE
+<U307F>	<U30DF>;<U307F>;IGNORE;IGNORE
+<U30E0>	<U30E0>;<U30E0>;IGNORE;IGNORE
+<U3080>	<U30E0>;<U3080>;IGNORE;IGNORE
+<U30E1>	<U30E1>;<U30E1>;IGNORE;IGNORE
+<U3081>	<U30E1>;<U3081>;IGNORE;IGNORE
+<U30E2>	<U30E2>;<U30E2>;IGNORE;IGNORE
+<U3082>	<U30E2>;<U3082>;IGNORE;IGNORE
+<U30E3>	<U30E3>;<U30E3>;IGNORE;IGNORE
+<U3083>	<U30E3>;<U3083>;IGNORE;IGNORE
+<U30E4>	<U30E3>;<U30E4>;IGNORE;IGNORE
+<U3084>	<U30E3>;<U3084>;IGNORE;IGNORE
+<U30E5>	<U30E5>;<U30E5>;IGNORE;IGNORE
+<U3085>	<U30E5>;<U3085>;IGNORE;IGNORE
+<U30E6>	<U30E5>;<U30E6>;IGNORE;IGNORE
+<U3086>	<U30E5>;<U3086>;IGNORE;IGNORE
+<U30E7>	<U30E7>;<U30E7>;IGNORE;IGNORE
+<U3087>	<U30E7>;<U3087>;IGNORE;IGNORE
+<U30E8>	<U30E7>;<U30E8>;IGNORE;IGNORE
+<U3088>	<U30E7>;<U3088>;IGNORE;IGNORE
+<U30E9>	<U30E9>;<U30E9>;IGNORE;IGNORE
+<U3089>	<U30E9>;<U3089>;IGNORE;IGNORE
+<U30EA>	<U30EA>;<U30EA>;IGNORE;IGNORE
+<U308A>	<U30EA>;<U308A>;IGNORE;IGNORE
+<U30EB>	<U30EB>;<U30EB>;IGNORE;IGNORE
+<U308B>	<U30EB>;<U308B>;IGNORE;IGNORE
+<U30EC>	<U30EC>;<U30EC>;IGNORE;IGNORE
+<U308C>	<U30EC>;<U308C>;IGNORE;IGNORE
+<U30ED>	<U30ED>;<U30ED>;IGNORE;IGNORE
+<U308D>	<U30ED>;<U308D>;IGNORE;IGNORE
+<U30EE>	<U30EE>;<U30EE>;IGNORE;IGNORE
+<U308E>	<U30EE>;<U308E>;IGNORE;IGNORE
+<U30EF>	<U30EE>;<U30EF>;IGNORE;IGNORE
+<U308F>	<U30EE>;<U308F>;IGNORE;IGNORE
+<U30F0>	<U30F0>;<U30F0>;IGNORE;IGNORE
+<U3090>	<U30F0>;<U3090>;IGNORE;IGNORE
+<U30F1>	<U30F1>;<U30F1>;IGNORE;IGNORE
+<U3091>	<U30F1>;<U3091>;IGNORE;IGNORE
+<U30F2>	<U30F2>;<U30F2>;IGNORE;IGNORE
+<U3092>	<U30F2>;<U3092>;IGNORE;IGNORE
+<U30F3>	<U30F3>;<U30F3>;IGNORE;IGNORE
+<U3093>	<U30F3>;<U3093>;IGNORE;IGNORE
+
+order_end
+
diff --git a/ap/build/uClibc/extra/locale/collation/tt_RU b/ap/build/uClibc/extra/locale/collation/tt_RU
new file mode 100644
index 0000000..1ca9685
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/tt_RU
@@ -0,0 +1,162 @@
+
+% The new (2000) latin tatar alphabet is:
+% a, sw, b, c, c,, d, e, f, g, g(, h, i (dotless i),
+% i. (i with dot), j, k, q, l, m, n, ng, o, o--, p, r, s, s,,
+% t, u, u:, v, w, x, y, z
+% <U0430>,<U04D9>,<U0431>,<U04B9>,<U0447>,<U0434>,<U0435>,<U0444>,<U049D>,<U0493>,<U04BB>,
+% <U044B>,             <U0438>,             <U0436>,<U043A>,<U0433>,<U043B>,<U043C>,<U043D>,<U04A3>,
+% <U043E>,<U04E9>,<U043F>,<U0440>,<U0441>,<U0448>,<U0442>,<U0443>,<U04AF>,<U0432>,???, <U0445>,<U0458>,<U0437>
+%
+% However, a commonly used alphabet in internet uses <U00E4>, <U00F6> and <U00F1>
+% for respectively <U0259>, <U0275> and <U014B>
+
+copy "iso14651_t1"
+
+collating-symbol <sw>
+collating-symbol <c,>
+collating-symbol <g(>
+collating-symbol <i.>
+collating-symbol <ng>
+collating-symbol <o-->
+collating-symbol <s,>
+collating-symbol <u:>
+
+collating-symbol <g-=>
+collating-symbol <sw=>
+collating-symbol <k//=>
+collating-symbol <o-=>
+collating-symbol <u'=>
+collating-symbol <h'=>
+collating-symbol <c%//=>
+collating-symbol <n,=>
+
+reorder-after <a>
+<sw>
+reorder-after <c>
+<c,>
+reorder-after <g>
+<g(>
+reorder-after <h>
+<i>
+<i.>
+<j>
+<k>
+<q>
+reorder-after <n>
+<ng>
+reorder-after <o>
+<o-->
+reorder-after <s>
+<s,>
+reorder-after <u>
+<u:>
+
+% FIXME: check order of cyrillic letters (I copied from cyr Azeri)
+reorder-after <CYR-GHE>
+<g-=>
+reorder-after <CYR-IE>
+<sw=>
+reorder-after <CYR-KA>
+<k//=>
+reorder-after <CYR-EN>
+<n,=>
+reorder-after <CYR-O>
+<o-=>
+reorder-after <CYR-OUBRE>
+<u'=>
+reorder-after <CYR-HA>
+<h'=>
+reorder-after <CYR-CHE>
+<c%//=>
+
+reorder-after <U0061>
+<U0259> <sw>;<PCL>;<MIN>;IGNORE
+<U00E4> <sw>;<REU>;<MIN>;IGNORE
+reorder-after <U0041>
+<U018F> <sw>;<PCL>;<CAP>;IGNORE
+<U00C4> <sw>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0063>
+<U00E7> <c,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0043>
+<U00C7> <c,>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0067>
+<U011F> <g(>;<BRE>;<MIN>;IGNORE
+reorder-after <U0047>
+<U011E> <g(>;<BRE>;<CAP>;IGNORE
+
+reorder-after <U0068>
+<U0131> <i>;<BAS>;<MIN>;IGNORE
+<U0069> <i.>;<PCT>;<MIN>;IGNORE
+reorder-after <U0048>
+<U0049> <i>;<BAS>;<CAP>;IGNORE
+<U0130> <i.>;<PCT>;<CAP>;IGNORE
+
+reorder-after <U006E>
+<U014B> <ng>;<PCL>;<MIN>;IGNORE
+<U00F1> <ng>;<TIL>;<MIN>;IGNORE
+reorder-after <U004E>
+<U014A> <ng>;<PCL>;<CAP>;IGNORE
+<U00D1> <ng>;<TIL>;<CAP>;IGNORE
+
+reorder-after <U006F>
+<U0275> <o-->;<REU>;<MIN>;IGNORE
+<U00F6> <o-->;<REU>;<MIN>;IGNORE
+reorder-after <U004F>
+<U019F> <o-->;<REU>;<CAP>;IGNORE
+<U00D6> <o-->;<REU>;<CAP>;IGNORE
+
+reorder-after <U0073>
+<U015F> <s,>;<CDI>;<MIN>;IGNORE
+reorder-after <U0053>
+<U015E> <s,>;<CDI>;<CAP>;IGNORE
+
+reorder-after <U0075>
+<U00FC> <u:>;<REU>;<MIN>;IGNORE
+reorder-after <U0055>
+<U00DC> <u:>;<REU>;<CAP>;IGNORE
+
+reorder-after <U0433>
+<U0493> <g-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0413>
+<U0492> <g-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0435>
+<U04D9> <sw=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0415>
+<U04D8> <sw=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043A>
+<U049D> <k//=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041A>
+<U049C> <k//=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043D>
+<U04A3> <n,=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041D>
+<U04A2> <n,=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U043E>
+<U04E9> <o-=>;<PCL>;<MIN>;IGNORE
+reorder-after <U041E>
+<U04E8> <o-=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0443>
+<U04AF> <u'=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0423>
+<U04AE> <u'=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0445>
+<U04BB> <h'=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0425>
+<U04BA> <h'=>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U0447>
+<U04B9> <c%//=>;<PCL>;<MIN>;IGNORE
+reorder-after <U0427>
+<U04B8> <c%//=>;<PCL>;<CAP>;IGNORE
+
+reorder-end
+
+
diff --git a/ap/build/uClibc/extra/locale/collation/uk_UA b/ap/build/uClibc/extra/locale/collation/uk_UA
new file mode 100644
index 0000000..342a761
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/uk_UA
@@ -0,0 +1,15 @@
+copy "iso14651_t1"
+
+% iso14651_t1 is missing Ukrainian ghe
+collating-symbol <UKR-GHE>
+
+reorder-after <CYR-GZHE>
+<UKR-GHE>
+
+reorder-after <U0453>
+<U0491> <UKR-GHE>;<BAS>;<MIN>;IGNORE
+
+reorder-after <U0403>
+<U0490> <UKR-GHE>;<BAS>;<CAP>;IGNORE
+
+reorder-end
diff --git a/ap/build/uClibc/extra/locale/collation/ur_PK b/ap/build/uClibc/extra/locale/collation/ur_PK
new file mode 100644
index 0000000..d66184e
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/ur_PK
@@ -0,0 +1 @@
+copy "en_DK"
diff --git a/ap/build/uClibc/extra/locale/collation/uz_UZ b/ap/build/uClibc/extra/locale/collation/uz_UZ
new file mode 100644
index 0000000..afdc7d4
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/uz_UZ
@@ -0,0 +1,28 @@
+copy "iso14651_t1"
+
+%% a b c d e f g g' h i j k l m n o o' p q r s t u v x y z
+collating-symbol  <g-'-uz>
+collating-element <g-'> from "<U0067><U0027>"
+collating-element <G-'> from "<U0047><U0027>"
+collating-symbol  <o-'-uz>
+collating-element <o-'> from "<U006F><U0027>"
+collating-element <O-'> from "<U004F><U0027>"
+
+reorder-after <g>
+<g-'-uz>
+
+reorder-after <o>
+<o-'-uz>
+
+reorder-after <U0067>
+<g-'>	<g-'-uz>;<PCL>;<MIN>;IGNORE
+reorder-after <U0047>
+<G-'>	<g-'-uz>;<PCL>;<CAP>;IGNORE
+
+reorder-after <U006F>
+<o-'>	<o-'-uz>;<PCL>;<MIN>;IGNORE
+reorder-after <U004F>
+<O-'>	<o-'-uz>;<PCL>;<CAP>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/vi_VN b/ap/build/uClibc/extra/locale/collation/vi_VN
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/vi_VN
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/wa_BE b/ap/build/uClibc/extra/locale/collation/wa_BE
new file mode 100644
index 0000000..be8221c
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/wa_BE
@@ -0,0 +1 @@
+copy "fr_BE"
diff --git a/ap/build/uClibc/extra/locale/collation/yi_US b/ap/build/uClibc/extra/locale/collation/yi_US
new file mode 100644
index 0000000..91de1b9
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/yi_US
@@ -0,0 +1,43 @@
+copy "iso14651_t1"
+
+collating-symbol  <b-h-yi>
+collating-element <B+'H-> from "<U05D1><U05BF>"
+collating-symbol  <k-m-yi>
+collating-element <K+.MH> from "<U05DB><U05BC>"
+collating-symbol  <p-m-yi>
+collating-element <P+.MH> from "<U05E4><U05BC>"
+collating-symbol  <p-h-yi>
+collating-element <P+'H-> from "<U05E4><U05BF>"
+collating-symbol  <s-h-yi>
+collating-element <Sh'H.L> from "<U05E9><U05C2>"
+collating-symbol  <t-m-yi>
+collating-element <T+.MH> from "<U05EA><U05BC>"
+
+reorder-after <bet>
+<b-h-yi>
+reorder-after <yod>
+<k-m-yi>
+reorder-after <ayin>
+<p-m-yi>
+<p-h-yi>
+reorder-after <shin>
+<s-h-yi>
+<t-m-yi>
+
+reorder-after <U05D1>
+<B+'H->	<b-h-yi>;<PCT>;<MIN>;IGNORE
+reorder-after <U05D5>
+<U05F0>	"<vav><vav>";"<LIG><LIG>";IGNORE;IGNORE
+<U05F1>	"<vav><yod>";"<LIG><LIG>";IGNORE;IGNORE
+reorder-after <U05D9>
+<U05F2>	"<yod><yod>";"<LIG><LIG>";IGNORE;IGNORE
+<K+.MH>	<k-m-yi>;<PCT>;<MIN>;IGNORE
+reorder-after <U05E2>
+<P+.MH>	<p-m-yi>;<PCT>;<MIN>;IGNORE
+<P+'H->	<p-h-yi>;<PCT>;<MIN>;IGNORE
+reorder-after <U05E9>
+<Sh'H.L>	<s-h-yi>;<PCT>;<MIN>;IGNORE
+<T+.MH>	<t-m-yi>;<PCT>;<MIN>;IGNORE
+
+reorder-end
+
diff --git a/ap/build/uClibc/extra/locale/collation/zh_CN b/ap/build/uClibc/extra/locale/collation/zh_CN
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/zh_CN
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/collation/zh_HK b/ap/build/uClibc/extra/locale/collation/zh_HK
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/zh_HK
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/zh_SG b/ap/build/uClibc/extra/locale/collation/zh_SG
new file mode 100644
index 0000000..35ae3c6
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/zh_SG
@@ -0,0 +1,4 @@
+
+% Copy the template from ISO/IEC 14651
+copy "iso14651_t1"
+
diff --git a/ap/build/uClibc/extra/locale/collation/zh_TW b/ap/build/uClibc/extra/locale/collation/zh_TW
new file mode 100644
index 0000000..3738ee3
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/collation/zh_TW
@@ -0,0 +1 @@
+copy "iso14651_t1"
diff --git a/ap/build/uClibc/extra/locale/gen_collate.c b/ap/build/uClibc/extra/locale/gen_collate.c
new file mode 100644
index 0000000..15582c1
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/gen_collate.c
@@ -0,0 +1,3997 @@
+/*
+ * Usage:
+ * gen_collate <INPUTDIR> [-o OUTPUTFILE] LOCALE ...
+ *
+ * Generate collation data from locales LOCALE.
+ * Reads all LOCALE from INPUTDIR and writes collation data to OUTPUTFILE.
+ *
+ * The output file defaults to "locales_collate.h".
+ */
+/* TODO:
+ *
+ * add UNDEFINED at end if not specified
+ * convert POSITION -> FORWARD,POSITION
+ *
+ *
+ * deal with lowercase in <Uhhhh>
+ *
+ * what about reorders that keep the same rule?
+ *
+ * remove "unused" collation elements? (probably doesn't save much)
+ *
+ * add_rule function ... returns index into rule table after possibly adding custom-indexed rule
+ * but don't forget about multichar weights... replace with strings of indexes
+ *
+ */
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <stdarg.h>
+#include <limits.h>
+#include <ctype.h>
+#include <assert.h>
+#include <errno.h>
+#include <search.h>
+
+typedef struct {
+	char *name;					/*  */
+
+	int num_weights;			/*  */
+
+	int ii_shift;				/*  */
+	int ti_shift;				/*  */
+	int ii_len;					/*  */
+	int ti_len;					/*  */
+	int max_weight;				/*  */
+	int num_col_base;			/*  */
+	int max_col_index;			/*  */
+	int undefined_idx;			/*  */
+	int range_low;				/*  */
+	int range_count;			/* high - low */
+	int range_base_weight;		/*  */
+	int num_starters;			/*  */
+
+	int range_rule_offset;		/*  */
+	int wcs2colidt_offset;		/*  */
+	int index2weight_offset;	/*  */
+	int index2ruleidx_offset;	/*  */
+	int multistart_offset;		/*  */
+
+} base_locale_t;
+
+#define BASE_LOCALE_LEN 20
+static base_locale_t base_locale_array[BASE_LOCALE_LEN];
+static size_t base_locale_len;
+
+typedef struct {
+	char *name;					/*  */
+
+	int base_idx;				/*  */
+
+	int undefined_idx;			/*  */
+
+	int overrides_offset;		/*  */
+	int multistart_offset;		/*  */
+} der_locale_t;
+
+#define DER_LOCALE_LEN 300
+static der_locale_t der_locale_array[DER_LOCALE_LEN];
+static size_t der_locale_len;
+
+
+#define OVERRIDE_LEN  50000
+static uint16_t override_buffer[OVERRIDE_LEN];
+static size_t override_len;
+
+#define MULTISTART_LEN 10000
+static uint16_t multistart_buffer[MULTISTART_LEN];
+static size_t multistart_len;
+
+#define WCS2COLIDT_LEN 200000
+static uint16_t wcs2colidt_buffer[WCS2COLIDT_LEN];
+static size_t wcs2colidt_len;
+
+#define INDEX2WEIGHT_LEN 200000
+static uint16_t index2weight_buffer[INDEX2WEIGHT_LEN];
+static size_t index2weight_len;
+
+static uint16_t index2ruleidx_buffer[INDEX2WEIGHT_LEN];
+static size_t index2ruleidx_len;
+
+#define WEIGHTSTR_LEN 10000
+static uint16_t weightstr_buffer[WEIGHTSTR_LEN];
+static size_t weightstr_len;
+
+#define RULETABLE_LEN (1L<<16)
+static uint16_t ruletable_buffer[RULETABLE_LEN];
+static size_t ruletable_len;
+
+
+#define RANGE (0x10000UL)
+
+typedef uint16_t tbl_item;
+
+static uint16_t u16_buf[10000];
+static int u16_buf_len;
+static int u16_starter;
+
+typedef struct {
+	uint16_t ii_len;
+	uint16_t ti_len;
+	uint16_t ut_len;
+
+	unsigned char ii_shift;
+	unsigned char ti_shift;
+
+	tbl_item *ii;
+	tbl_item *ti;
+	tbl_item *ut;
+} table_data;
+
+
+static size_t newopt(tbl_item *ut, size_t usize, int shift, table_data *tbl);
+
+
+#define MAX_COLLATION_WEIGHTS 4
+
+#define MAX_FNO 1
+#define MAX_FILES  (MAX_FNO + 1)
+
+static FILE *fstack[MAX_FILES];
+static char *fname[MAX_FILES];
+static int lineno[MAX_FILES];
+static int fno = -1;
+
+static tbl_item wcs2index[RANGE];
+
+static char linebuf[1024];
+static char *pos;
+static char *pos_e = NULL;
+static char end_of_token = 0;		/* slot to save */
+
+#define IN_ORDER			0x01
+#define IN_REORDER			0x02
+#define IN_REORDER_SECTIONS	0x04
+static int order_state;
+static int cur_num_weights;		/* number of weights in current use */
+static char cur_rule[MAX_COLLATION_WEIGHTS];
+
+static int anonsection = 0;
+
+typedef struct ll_item_struct ll_item_t;
+
+struct ll_item_struct {
+	ll_item_t *next;
+	ll_item_t *prev;
+	void *data;
+	int data_type;
+	int idx;
+};
+
+static ll_item_t *reorder_section_ptr = NULL;
+static int superset;
+static int superset_order_start_cnt; /* only support one order for now */
+static int superset_in_sync;
+static ll_item_t *comm_cur_ptr;
+static ll_item_t *comm_prev_ptr;
+
+enum {
+	R_FORWARD =		0x01,
+	R_POSITION =	0x02,
+	R_BACKWARD =	0x04		/* must be largest in value */
+};
+
+typedef struct {
+	size_t num_weights;
+	char rule[MAX_COLLATION_WEIGHTS];
+	const char *colitem[MAX_COLLATION_WEIGHTS];
+} weight_t;
+
+static void *root_weight = NULL;
+size_t unique_weights = 0;
+
+typedef struct {
+	const char *symbol;
+	weight_t *weight;
+} weighted_item_t;
+
+typedef struct {
+	const char *symbol1;
+	const char *symbol2;
+	int length;
+	weight_t *weight;
+} range_item_t;
+
+typedef struct {
+	const char *name;
+	ll_item_t *itm_list;		/* weighted_item_t list .. circular!!! */
+	size_t num_items;
+	size_t num_rules;
+	char rules[MAX_COLLATION_WEIGHTS];
+} section_t;
+
+static section_t *cur_section = NULL;
+
+typedef struct {
+	const char *symbol;
+	ll_item_t *node;
+} wi_index_t;
+
+typedef struct col_locale_struct col_locale_t;
+
+struct  col_locale_struct {
+	char *name;
+	void *root_colitem;			/* all base and derived, or just derived */
+	void *root_element;
+	void *root_scripts;
+	void *root_wi_index;
+	void *root_wi_index_reordered;
+	ll_item_t *section_list;
+	col_locale_t *base_locale;	/* null if this is a base */
+	void *root_derived_wi;
+	ll_item_t *derived_list;
+	void *root_starter_char;
+	void *root_starter_all;
+	ll_item_t *undefined_idx;
+};
+
+typedef struct {
+	const char *symbol;
+	int idx;
+} col_index_t;
+
+static void *root_col_locale = NULL;
+
+typedef struct {
+    const char *keyword;
+    void (*handler)(void);
+} keyword_table_t;
+
+typedef struct {
+    const char *string;
+    const char *element;	/* NULL if collating symbol */
+} colitem_t;
+
+static col_locale_t *cur_base = NULL;
+static col_locale_t *cur_derived = NULL;
+static col_locale_t *cur_col = NULL;
+
+static void *root_sym = NULL;
+static size_t num_sym = 0;
+static size_t mem_sym = 0;
+
+static const char *inputdir;
+static size_t inputdir_len;
+static unsigned verbose = 0;
+enum {
+	VINFO = (1<<0),
+	VDETAIL = (1<<1),
+};
+
+static void error_msg(const char *fmt, ...) __attribute__ ((noreturn, format (printf, 1, 2)));
+static void *xmalloc(size_t n);
+static char *xsymdup(const char *s); /* only allocate once... store in a tree */
+static void pushfile(char *filename);
+static void popfile(void);
+static void processfile(void);
+static int iscommentchar(int);
+static void eatwhitespace(void);
+static int next_line(void);
+static char *next_token(void);
+static void do_unrecognized(void);
+static col_locale_t *new_col_locale(char *name);
+static ll_item_t *new_ll_item(int data_type, void *data);
+static weight_t *register_weight(weight_t *w);
+static size_t ll_len(ll_item_t *l);
+static size_t ll_count(ll_item_t *l, int mask);
+static void add_wi_index(ll_item_t *l);
+static size_t tnumnodes(const void *root);
+static ll_item_t *find_wi_index(const char *sym, col_locale_t *cl);
+static void mark_reordered(const char *sym);
+static ll_item_t *find_wi_index_reordered(const char *sym);
+static ll_item_t *next_comm_ptr(void);
+static ll_item_t *init_comm_ptr(void);
+static ll_item_t *find_ll_last(ll_item_t *p);
+static void dump_weights(const char *name);
+static void finalize_base(void);
+static int is_ucode(const char *s);
+static int sym_cmp(const void *n1, const void *n2);
+static void do_starter_lists(col_locale_t *cl);
+static void dump_base_locale(int n);
+static void dump_der_locale(int n);
+static void dump_collate(FILE *fp);
+
+enum {
+	DT_SECTION = 0x01,
+	DT_WEIGHTED = 0x02,
+	DT_REORDER = 0x04,		  /* a section to support reorder_after */
+	DT_COL_LOCALE = 0x08,
+	DT_RANGE = 0x10,
+};
+
+static int verbose_msg(const unsigned lvl, const char *fmt, ...)
+{
+	va_list arg;
+	int ret = 0;
+
+	if (verbose & lvl) {
+		va_start(arg, fmt);
+		ret = vfprintf(stderr, fmt, arg);
+		va_end(arg);
+	}
+	return ret;
+}
+static section_t *new_section(const char *name)
+{
+	section_t *p;
+	char buf[128];
+
+	p = xmalloc(sizeof(section_t));
+	if (!name) {				/* anonymous section */
+		name = buf;
+		snprintf(buf, sizeof(buf), "anon%05d", anonsection);
+		++anonsection;
+	} else if (*name != '<') {	/* reorder */
+		name = buf;
+		snprintf(buf, sizeof(buf), "%s %05d", cur_col->name, anonsection);
+		++anonsection;
+	}
+#warning devel code
+/* 	verbose_msg(VDETAIL, "section %s\n", name); */
+	p->name = xsymdup(name);
+	p->itm_list = NULL;
+	p->num_items = 0;
+	p->num_rules = 0;
+	memset(p->rules, 0, MAX_COLLATION_WEIGHTS);
+/* 	cur_num_weights = p->num_rules = 0; */
+/* 	memset(p->rules, 0, MAX_COLLATION_WEIGHTS); */
+/* 	memset(cur_rule, R_FORWARD, 4); */
+
+#warning devel code
+	if (*p->name == 'a') {
+		cur_num_weights = p->num_rules = 4;
+		memset(p->rules, R_FORWARD, 4);
+		memset(cur_rule, R_FORWARD, 4);
+		p->rules[3] |= R_POSITION;
+		cur_rule[3] |= R_POSITION;
+	}
+/* 	verbose_msg(VDETAIL, "new section %s -- cur_num_weights = %d\n", p->name, cur_num_weights); */
+
+	return p;
+}
+
+
+
+static void do_order_start(void);
+static void do_order_end(void);
+static void do_reorder_after(void);
+static void do_reorder_end(void);
+static void do_reorder_sections_after(void);
+static void do_reorder_sections_end(void);
+static void do_copy(void);
+static void do_colsym(void);
+static void do_colele(void);
+static void do_script(void);
+static void do_range(void);
+
+static col_locale_t *new_col_locale(char *name);
+static int colitem_cmp(const void *n1, const void *n2);
+static int colelement_cmp(const void *n1, const void *n2);
+static void del_colitem(colitem_t *p);
+static colitem_t *new_colitem(char *item, char *def);
+static void add_colitem(char *item, char *def);
+static void add_script(const char *s);
+static unsigned int add_rule(weighted_item_t *wi);
+static unsigned int add_range_rule(range_item_t *ri);
+
+static const keyword_table_t keyword_table[] = {
+    { "collating-symbol", do_colsym },
+    { "collating-element", do_colele },
+	{ "script", do_script },
+    { "copy", do_copy },
+    { "order_start", do_order_start },
+    { "order_end", do_order_end },
+    { "order-end", do_order_end },
+    { "reorder-after", do_reorder_after },
+    { "reorder-end", do_reorder_end },
+    { "reorder-sections-after", do_reorder_sections_after },
+    { "reorder-sections-end", do_reorder_sections_end },
+	{ "UCLIBC_RANGE", do_range },
+    { NULL, do_unrecognized }
+};
+
+
+static void do_unrecognized(void)
+{
+#if 1
+    error_msg("warning: unrecognized: %s", pos);
+#else
+/*     verbose_msg(VDETAIL, "warning: unrecognized initial keyword \"%s\"\n", pos); */
+	fprintf(stderr, "warning: unrecognized: %s", pos);
+	if (end_of_token) {
+		fprintf(stderr, "%c%s", end_of_token, pos_e+1);
+	}
+	fprintf(stderr, "\n");
+#endif
+}
+
+/* typedef struct { */
+/* 	const char *symbol1; */
+/* 	const char *symbol2; */
+/* 	int length; */
+/* 	weight_t *weight; */
+/* } range_item_t; */
+
+static void do_range(void)
+{
+	range_item_t *ri;
+	weight_t w;
+	int i;
+	char *s;
+	char *s1;
+	char *s2;
+	const char **ci;
+	ll_item_t *lli;
+
+	assert(!superset);
+	assert(order_state == IN_ORDER);
+
+	s1 = next_token();
+	if (!s1) {
+		error_msg("missing start of range");
+	}
+	if (!is_ucode(s1)) {
+		error_msg("start of range is not a ucode: %s", s1);
+	}
+	s1 = xsymdup(s1);
+
+	s2 = next_token();
+	if (!s2) {
+		error_msg("missing end of range");
+	}
+	if (!is_ucode(s2)) {
+		error_msg("end of range is not a ucode: %s", s2);
+	}
+	s2 = xsymdup(s2);
+
+	ri = (range_item_t *) xmalloc(sizeof(range_item_t));
+	ri->symbol1 = s1;
+	ri->symbol2 = s2;
+	ri->length = strtoul(s2+2, NULL, 16) - strtoul(s1+2, NULL, 16);
+	if (ri->length <= 0) {
+		error_msg("illegal range length %d", ri->length);
+	}
+
+	s = next_token();
+	w.num_weights = cur_num_weights;
+
+	for (i=0 ; i < cur_num_weights ; i++) {
+		w.rule[i] = cur_rule[i];
+	}
+	ci = w.colitem + (i-1);
+	/* now i == cur_num_weights */
+
+#define STR_DITTO "."
+
+	while (s && *s && i) {
+		--i;
+		if (*s == ';') {
+			ci[-i] = xsymdup(STR_DITTO);
+			if (*++s) {
+				continue;
+			}
+		}
+		if (*s) {
+			ci[-i] = xsymdup(s);
+		}
+		s = next_token();
+		if (s) {
+			if (*s == ';') {
+				++s;
+			} else if (i) {
+				error_msg("missing seperator");
+			}
+		}
+	}
+	if (s) {
+		error_msg("too many weights: %d %d |%s| %d", cur_num_weights, i, s, (int)*s);
+	}
+
+	while (i) {					/* missing weights are not an error */
+		--i;
+		ci[-i] = xsymdup(STR_DITTO);
+	}
+
+	ri->weight = register_weight(&w);
+
+/* 	if ((i = is_ucode(t)) != 0) { */
+/* 		assert(!t[i]); */
+/* 		add_colitem(t, NULL); */
+/* 	} */
+
+	lli = new_ll_item(DT_RANGE, ri);
+	if (!cur_section->itm_list) {
+/* 		printf("creating new item list: %s\n", wi->symbol); */
+		cur_section->itm_list = lli;
+		lli->prev = lli->next = lli;
+		++cur_section->num_items;
+	} else {
+		insque(lli, cur_section->itm_list->prev);
+/* 		printf("adding item to list: %d - %s\n", ll_len(cur_section->itm_list), wi->symbol); */
+		++cur_section->num_items;
+	}
+/* 	add_wi_index(lli); */
+
+
+}
+
+static weighted_item_t *add_weight(char *t)
+{
+	weighted_item_t *wi;
+	weight_t w;
+	int i;
+	char *s;
+	const char **ci;
+
+	t = xsymdup(t);
+
+	s = next_token();
+	w.num_weights = cur_num_weights;
+
+	for (i=0 ; i < cur_num_weights ; i++) {
+		w.rule[i] = cur_rule[i];
+	}
+	ci = w.colitem + (i-1);
+	/* now i == cur_num_weights */
+
+	while (s && *s && i) {
+		--i;
+		if (*s == ';') {
+			ci[-i] = xsymdup(STR_DITTO);
+			if (*++s) {
+				continue;
+			}
+		}
+		if (*s) {
+			if (!strcmp(s,t)) {
+				s = STR_DITTO;
+			}
+			ci[-i] = xsymdup(s);
+		}
+		s = next_token();
+		if (s) {
+			if (*s == ';') {
+				++s;
+			} else if (i) {
+				error_msg("missing seperator");
+			}
+		}
+	}
+	if (s) {
+		error_msg("too many weights: %d %d |%s| %d", cur_num_weights, i, s, (int)*s);
+	}
+
+	while (i) {					/* missing weights are not an error */
+		--i;
+		ci[-i] = xsymdup(STR_DITTO);
+	}
+
+	wi = xmalloc(sizeof(weighted_item_t));
+	wi->symbol = t;
+	wi->weight = register_weight(&w);
+
+	if ((i = is_ucode(t)) != 0) {
+		assert(!t[i]);
+		add_colitem(t, NULL);
+	}
+
+	return wi;
+}
+
+static void add_superset_weight(char *t)
+{
+	ll_item_t *lli;
+	weighted_item_t *wi;
+
+	if (!comm_cur_ptr
+		|| (strcmp(t, ((weighted_item_t *)(comm_cur_ptr->data))->symbol) != 0)
+		) {						/* now out of sync */
+		if (superset_in_sync) {	/* need a new section */
+			superset_in_sync = 0;
+
+			cur_section = new_section("R");
+			cur_num_weights = cur_section->num_rules
+				= ((section_t *)(cur_base->section_list->data))->num_rules;
+			memcpy(cur_rule,
+				   ((section_t *)(cur_base->section_list->data))->rules,
+				   MAX_COLLATION_WEIGHTS);
+			memcpy(cur_section->rules,
+				   ((section_t *)(cur_base->section_list->data))->rules,
+				   MAX_COLLATION_WEIGHTS);
+
+			insque(new_ll_item(DT_REORDER, cur_section), find_ll_last(cur_col->section_list));
+			assert(comm_prev_ptr);
+			lli = new_ll_item(DT_REORDER, cur_section);
+			lli->prev = lli->next = lli;
+			insque(lli, comm_prev_ptr);
+/* 			verbose_msg(VDETAIL, "  subsection -----------------------\n"); */
+		}
+
+/* 		verbose_msg(VDETAIL, "     %s   %s\n", t, ((weighted_item_t *)(comm_cur_ptr->data))->symbol); */
+		wi = add_weight(t);
+		lli = new_ll_item(DT_WEIGHTED, wi);
+		mark_reordered(wi->symbol);
+		/* 			printf("reorder: %s\n", t); */
+		if (!cur_section->itm_list) {
+			cur_section->itm_list = lli;
+			lli->prev = lli->next = lli;
+			++cur_section->num_items;
+		} else {
+			insque(lli, cur_section->itm_list->prev);
+			++cur_section->num_items;
+		}
+		add_wi_index(lli);
+
+	} else {					/* in sync */
+		superset_in_sync = 1;
+		next_comm_ptr();
+	}
+}
+
+static void do_weight(char *t)
+{
+	weighted_item_t *wi;
+	ll_item_t *lli;
+
+	if (superset) {
+		add_superset_weight(t);
+		return;
+	}
+
+	switch(order_state) {
+		case 0:
+/* 			fprintf(stdout, "no-order weight: %s\n", t); */
+/* 			break; */
+		case IN_ORDER:
+			/* in a section */
+/* 			fprintf(stdout, "weight: %s\n", t); */
+			wi = add_weight(t);
+			lli = new_ll_item(DT_WEIGHTED, wi);
+			if (!cur_section->itm_list) {
+/* 				fprintf(stdout, "creating new item list: %s  %s  %p\n", wi->symbol, cur_section->name, lli); */
+				cur_section->itm_list = lli;
+				lli->prev = lli->next = lli;
+				++cur_section->num_items;
+			} else {
+				insque(lli, cur_section->itm_list->prev);
+/* 				fprintf(stdout, "adding item to list: %d - %s  %p\n", ll_len(cur_section->itm_list), wi->symbol, lli); */
+				++cur_section->num_items;
+			}
+			add_wi_index(lli);
+			break;
+		case IN_REORDER:
+			/* std rule - but in a block with an insert-after pt */
+			wi = add_weight(t);
+			lli = new_ll_item(DT_WEIGHTED, wi);
+			mark_reordered(wi->symbol);
+/* 			fprintf(stdout, "reorder: %s  %s  %p\n", t, cur_section->name, lli); */
+			if (!cur_section->itm_list) {
+				cur_section->itm_list = lli;
+				lli->prev = lli->next = lli;
+				++cur_section->num_items;
+			} else {
+				insque(lli, cur_section->itm_list->prev);
+				++cur_section->num_items;
+			}
+			add_wi_index(lli);
+			break;
+		case IN_REORDER_SECTIONS:
+			t = xsymdup(t);
+			if (next_token() != NULL) {
+				error_msg("trailing text in reorder section item: %s", pos);
+			}
+			lli = cur_col->section_list;
+			do {
+				if (lli->data_type & DT_SECTION) {
+					if (!strcmp(((section_t *)(lli->data))->name, t)) {
+						lli->data_type = DT_REORDER;
+						lli = new_ll_item(DT_REORDER, (section_t *)(lli->data));
+						insque(lli, reorder_section_ptr);
+						reorder_section_ptr = lli;
+						return;
+					}
+				}
+				lli = lli->next;
+			} while (lli);
+			error_msg("reorder_sections_after for non-base item currently not supported: %s", t);
+/* 			fprintf(stdout, "reorder_secitons: %s\n", t); */
+			break;
+		default:
+			error_msg("invalid order_state %d", order_state);
+	}
+}
+
+static int col_locale_cmp(const void *n1, const void *n2)
+{
+    return strcmp(((const col_locale_t *) n1)->name, ((const col_locale_t *) n2)->name);
+}
+
+static void processfile(void)
+{
+	char *t;
+	const keyword_table_t *k;
+
+	order_state = 0;
+#warning devel code
+/* 	cur_num_weights = 0; */
+/* 	cur_num_weights = 4; */
+/* 	memset(cur_rule, R_FORWARD, 4); */
+
+	if (cur_col != cur_base) {
+		cur_col->base_locale = cur_base;
+		cur_col->undefined_idx = cur_base->undefined_idx;
+		if (!cur_base->derived_list) {
+			cur_base->derived_list = new_ll_item(DT_COL_LOCALE, cur_col);
+		} else {
+			insque(new_ll_item(DT_COL_LOCALE, cur_col), find_ll_last(cur_base->derived_list));
+		}
+	}
+
+	if (tfind(cur_col, &root_col_locale, col_locale_cmp)) {
+		error_msg("attempt to read locale: %s", cur_col->name);
+	}
+	if (!tsearch(cur_col, &root_col_locale, col_locale_cmp)) {
+		error_msg("OUT OF MEMORY!");
+	}
+
+	if (superset) {
+		superset_order_start_cnt = 0;
+		superset_in_sync = 0;
+		init_comm_ptr();
+	}
+
+	while (next_line()) {
+/* 		printf("%5d:", lineno[fno]); */
+/* 		while ((t = next_token()) != NULL) { */
+/* 			printf(" |%s|", t); */
+/* 		printf("\n"); */
+/* 		} */
+		t = next_token();
+		assert(t);
+		assert(t == pos);
+		if ((*t == '<') || (!strcmp(t, "UNDEFINED"))) {
+			do_weight(t);
+		} else {
+			for (k = keyword_table ; k->keyword ; k++) {
+				if (!strcmp(k->keyword, t)) {
+					break;
+				}
+			}
+			k->handler();
+		}
+	}
+
+	if (cur_base == cur_col) {
+		verbose_msg(VDETAIL, "Base: %15s", cur_col->name);
+	} else {
+#if 1
+		if (!cur_col->undefined_idx) {
+#if 0
+			if (superset) {
+				if (superset_order_start_cnt == 1) {
+					--superset_order_start_cnt;	/* ugh.. hack this */
+				}
+			}
+#endif
+			/* This is an awful hack to get around the problem of unspecified UNDEFINED
+			 * definitions in the supported locales derived from iso14651_t1. */
+			if (!strcmp(cur_base->name, "iso14651_t1")) {
+				fprintf(stderr, "Warning: adding UNDEFINED entry for %s\n", cur_col->name);
+				strcpy(linebuf, "script <UNDEFINED_SECTION>\n");
+				pos_e = NULL;
+				pos = linebuf;
+				t = next_token();
+				assert(t);
+				assert(t == pos);
+				do_script();
+				strcpy(linebuf, "order_start <UNDEFINED_SECTION>;forward;backward;forward;forward,position\n");
+				pos_e = NULL;
+				pos = linebuf;
+				t = next_token();
+				assert(t);
+				assert(t == pos);
+				do_order_start();
+				strcpy(linebuf, "UNDEFINED IGNORE;IGNORE;IGNORE\n");
+				pos_e = NULL;
+				pos = linebuf;
+				t = next_token();
+				assert(t);
+				assert(t == pos);
+				do_weight(t);
+				strcpy(linebuf, "order_end\n");
+				pos_e = NULL;
+				pos = linebuf;
+				t = next_token();
+				assert(t);
+				assert(t == pos);
+				do_order_end();
+			} else {
+				error_msg("no definition of UNDEFINED for %s", cur_col->name);
+			}
+		}
+#endif
+
+		verbose_msg(VDETAIL, " Der: %15s", cur_col->name);
+	}
+	{
+#if 0
+		ll_item_t *p = cur_col->section_list;
+#endif
+		verbose_msg(VDETAIL, "%6u weights", tnumnodes(cur_col->root_wi_index));
+		if (cur_base) {
+			verbose_msg(VDETAIL, "  %6u der %6u reor %6u starter - %u new stubs",
+					tnumnodes(cur_base->root_derived_wi),
+					tnumnodes(cur_base->root_wi_index_reordered),
+					tnumnodes(cur_base->root_starter_char),
+					ll_count(cur_col->section_list, DT_REORDER));
+		}
+		verbose_msg(VDETAIL, "\n");
+
+#if 0
+		while (p) {
+			assert(((section_t *)(p->data))->num_items ==
+				   ll_len(((section_t *)(p->data))->itm_list));
+
+
+			if (!p->next &&
+				((*((section_t *)(p->data))->name == 'a')
+				 && (((section_t *)(p->data))->num_items == 0))
+				) {
+				break;
+			}
+
+			if (!(p->data_type & DT_REORDER)) {
+				if ((*((section_t *)(p->data))->name != 'a')
+					|| (((section_t *)(p->data))->num_items > 0)
+					) {
+					verbose_msg(VDETAIL,
+/* 							"\t%-15s %zu\n", */
+							"\t%-15s %6u\n",
+							((section_t *)(p->data))->name,
+							((section_t *)(p->data))->num_items);
+				}
+			}
+			p = p->next;
+		}
+#endif
+	}
+
+
+}
+
+static void print_colnode(const void *ptr, VISIT order, int level)
+{
+    const colitem_t *p = *(const colitem_t **) ptr;
+
+    if (order == postorder || order == leaf)  {
+        printf("collating item = \"%s\"", p->string);
+		if (p->element) {
+			printf(" is %s", p->element);
+		}
+        printf("\n");
+    }
+}
+
+static void print_weight_node(const void *ptr, VISIT order, int level)
+{
+    const weight_t *p = *(const weight_t **) ptr;
+	int i;
+
+    if (order == postorder || order == leaf)  {
+        printf("weight: (%d)  ", p->num_weights);
+		for (i = 0 ; i < p->num_weights ; i++) {
+			if (p->rule[i] & R_FORWARD) {
+				printf("F");
+			}
+			if (p->rule[i] & R_BACKWARD) {
+				printf("B");
+			}
+			if (p->rule[i] & R_POSITION) {
+				printf("P");
+			}
+			printf(",");
+		}
+		for (i = 0 ; i < p->num_weights ; i++) {
+			printf("   %s", p->colitem[i]);
+		}
+        printf("\n");
+    }
+}
+
+
+typedef struct {
+	const char *der_name;
+	int base_locale;
+} deps_t;
+
+enum {
+	BASE_iso14651_t1,
+	BASE_comm,
+	BASE_cs_CZ,
+	BASE_ar_SA,
+	BASE_th_TH,
+	BASE_ja_JP,
+	BASE_ko_KR,
+	BASE_MAX
+};
+
+static const char *base_name[] = {
+	"iso14651_t1",
+	"comm",
+	"cs_CZ",
+	"ar_SA",
+	"th_TH",
+	"ja_JP",
+	"ko_KR"
+};
+
+
+
+static ll_item_t *locale_list[BASE_MAX];
+
+static void init_locale_list(void)
+{
+	int i;
+
+	for (i=0 ; i < BASE_MAX ; i++) {
+		locale_list[i] = (ll_item_t *) xmalloc(sizeof(ll_item_t));
+		locale_list[i]->prev = locale_list[i]->next = locale_list[i];
+		locale_list[i]->data = (void *) base_name[i];
+	}
+}
+
+
+deps_t deps[] = {
+	{ "af_ZA", BASE_iso14651_t1 },
+	{ "am_ET", BASE_iso14651_t1 },
+	{ "ar_AE", BASE_iso14651_t1 },
+	{ "ar_BH", BASE_iso14651_t1 },
+	{ "ar_DZ", BASE_iso14651_t1 },
+	{ "ar_EG", BASE_iso14651_t1 },
+	{ "ar_IN", BASE_iso14651_t1 },
+	{ "ar_IQ", BASE_iso14651_t1 },
+	{ "ar_JO", BASE_iso14651_t1 },
+	{ "ar_KW", BASE_iso14651_t1 },
+	{ "ar_LB", BASE_iso14651_t1 },
+	{ "ar_LY", BASE_iso14651_t1 },
+	{ "ar_MA", BASE_iso14651_t1 },
+	{ "ar_OM", BASE_iso14651_t1 },
+	{ "ar_QA", BASE_iso14651_t1 },
+	{ "ar_SA", BASE_ar_SA },
+	{ "ar_SD", BASE_iso14651_t1 },
+	{ "ar_SY", BASE_iso14651_t1 },
+	{ "ar_TN", BASE_iso14651_t1 },
+	{ "ar_YE", BASE_iso14651_t1 },
+	{ "az_AZ", BASE_iso14651_t1 },
+	{ "be_BY", BASE_iso14651_t1 },
+	{ "bg_BG", BASE_iso14651_t1 },
+	{ "bn_BD", BASE_iso14651_t1 },
+	{ "bn_IN", BASE_iso14651_t1 },
+	{ "br_FR", BASE_iso14651_t1 },
+	{ "bs_BA", BASE_iso14651_t1 },
+	{ "ca_ES", BASE_comm },
+	{ "cs_CZ", BASE_cs_CZ },
+	{ "cy_GB", BASE_iso14651_t1 },
+	{ "da_DK", BASE_comm },
+	{ "de_AT", BASE_iso14651_t1 },
+	{ "de_BE", BASE_iso14651_t1 },
+	{ "de_CH", BASE_iso14651_t1 },
+	{ "de_DE", BASE_iso14651_t1 },
+	{ "de_LU", BASE_iso14651_t1 },
+	{ "el_GR", BASE_iso14651_t1 },
+	{ "en_AU", BASE_iso14651_t1 },
+	{ "en_BW", BASE_iso14651_t1 },
+	{ "en_CA", BASE_comm },
+	{ "en_DK", BASE_iso14651_t1 },
+	{ "en_GB", BASE_iso14651_t1 },
+	{ "en_HK", BASE_iso14651_t1 },
+	{ "en_IE", BASE_iso14651_t1 },
+	{ "en_IN", BASE_iso14651_t1 },
+	{ "en_NZ", BASE_iso14651_t1 },
+	{ "en_PH", BASE_iso14651_t1 },
+	{ "en_SG", BASE_iso14651_t1 },
+	{ "en_US", BASE_iso14651_t1 },
+	{ "en_ZA", BASE_iso14651_t1 },
+	{ "en_ZW", BASE_iso14651_t1 },
+	{ "eo_EO", BASE_iso14651_t1 },
+	{ "es_AR", BASE_comm },
+	{ "es_BO", BASE_comm },
+	{ "es_CL", BASE_comm },
+	{ "es_CO", BASE_comm },
+	{ "es_CR", BASE_comm },
+	{ "es_DO", BASE_comm },
+	{ "es_EC", BASE_comm },
+	{ "es_ES", BASE_comm },
+	{ "es_GT", BASE_comm },
+	{ "es_HN", BASE_comm },
+	{ "es_MX", BASE_comm },
+	{ "es_NI", BASE_comm },
+	{ "es_PA", BASE_comm },
+	{ "es_PE", BASE_comm },
+	{ "es_PR", BASE_comm },
+	{ "es_PY", BASE_comm },
+	{ "es_SV", BASE_comm },
+	{ "es_US", BASE_comm },
+	{ "es_UY", BASE_comm },
+	{ "es_VE", BASE_comm },
+	{ "et_EE", BASE_comm },
+	{ "eu_ES", BASE_iso14651_t1 },
+	{ "fa_IR", BASE_iso14651_t1 },
+	{ "fi_FI", BASE_comm },
+	{ "fo_FO", BASE_comm },
+	{ "fr_BE", BASE_iso14651_t1 },
+	{ "fr_CA", BASE_comm },
+	{ "fr_CH", BASE_iso14651_t1 },
+	{ "fr_FR", BASE_iso14651_t1 },
+	{ "fr_LU", BASE_iso14651_t1 },
+	{ "ga_IE", BASE_iso14651_t1 },
+	{ "gd_GB", BASE_iso14651_t1 },
+	{ "gl_ES", BASE_comm },
+	{ "gv_GB", BASE_iso14651_t1 },
+	{ "he_IL", BASE_iso14651_t1 },
+	{ "hi_IN", BASE_iso14651_t1 },
+	{ "hr_HR", BASE_comm },
+	{ "hu_HU", BASE_iso14651_t1 },
+	{ "hy_AM", BASE_iso14651_t1 },
+	{ "id_ID", BASE_iso14651_t1 },
+	{ "is_IS", BASE_comm },
+	{ "it_CH", BASE_iso14651_t1 },
+	{ "it_IT", BASE_iso14651_t1 },
+	{ "iw_IL", BASE_iso14651_t1 },
+	{ "ja_JP", BASE_ja_JP },
+	{ "ka_GE", BASE_iso14651_t1 },
+	{ "kl_GL", BASE_comm },
+	{ "ko_KR", BASE_ko_KR },
+	{ "kw_GB", BASE_iso14651_t1 },
+	{ "lt_LT", BASE_comm },
+	{ "lv_LV", BASE_comm },
+	{ "mi_NZ", BASE_iso14651_t1 },
+	{ "mk_MK", BASE_iso14651_t1 },
+	{ "mr_IN", BASE_iso14651_t1 },
+	{ "ms_MY", BASE_iso14651_t1 },
+	{ "mt_MT", BASE_iso14651_t1 },
+	{ "nl_BE", BASE_iso14651_t1 },
+	{ "nl_NL", BASE_iso14651_t1 },
+	{ "nn_NO", BASE_iso14651_t1 },
+	{ "no_NO", BASE_comm },
+	{ "oc_FR", BASE_iso14651_t1 },
+	{ "pl_PL", BASE_comm },
+	{ "pt_BR", BASE_iso14651_t1 },
+	{ "pt_PT", BASE_iso14651_t1 },
+	{ "ro_RO", BASE_iso14651_t1 },
+	{ "ru_RU", BASE_iso14651_t1 },
+	{ "ru_UA", BASE_iso14651_t1 },
+	{ "se_NO", BASE_iso14651_t1 },
+	{ "sk_SK", BASE_cs_CZ },
+	{ "sl_SI", BASE_comm },
+	{ "sq_AL", BASE_iso14651_t1 },
+	{ "sr_YU", BASE_iso14651_t1 },
+	{ "sv_FI", BASE_comm },
+	{ "sv_SE", BASE_iso14651_t1 },
+	{ "ta_IN", BASE_iso14651_t1 },
+	{ "te_IN", BASE_iso14651_t1 },
+	{ "tg_TJ", BASE_iso14651_t1 },
+	{ "th_TH", BASE_th_TH },
+	{ "ti_ER", BASE_iso14651_t1 },
+	{ "ti_ET", BASE_iso14651_t1 },
+	{ "tl_PH", BASE_iso14651_t1 },
+	{ "tr_TR", BASE_comm },
+	{ "tt_RU", BASE_iso14651_t1 },
+	{ "uk_UA", BASE_iso14651_t1 },
+	{ "ur_PK", BASE_iso14651_t1 },
+	{ "uz_UZ", BASE_iso14651_t1 },
+	{ "vi_VN", BASE_iso14651_t1 },
+	{ "wa_BE", BASE_iso14651_t1 },
+	{ "yi_US", BASE_iso14651_t1 },
+	{ "zh_CN", BASE_iso14651_t1 },
+	{ "zh_HK", BASE_iso14651_t1 },
+	{ "zh_SG", BASE_iso14651_t1 },
+	{ "zh_TW", BASE_iso14651_t1 },
+};
+
+
+static int der_count[BASE_MAX];
+static const char *new_args[500];
+static int new_arg_count;
+
+static int dep_cmp(const void *s1, const void *s2)
+{
+	return strcmp( (const char *) s1, ((const deps_t *) s2)->der_name);
+}
+
+static int old_main(int argc, char **argv);
+
+int main(int argc, char **argv)
+{
+	const deps_t *p;
+	ll_item_t *lli;
+	int i;
+	int total;
+	char *output_file = "locale_collate.h";
+	unsigned verbosity = 0;
+
+	if (argc < 3) {
+		return EXIT_FAILURE;
+	}
+	--argc;
+	inputdir = strdup(*++argv);
+	inputdir_len = strlen(inputdir);
+	init_locale_list();
+
+	while (--argc) {
+		++argv;
+		if (!strcmp(*argv, "-o")) {
+			--argc;
+			if (*++argv == NULL) {
+				printf("-o <outfile> requires an argument\n");
+				return EXIT_FAILURE;
+			}
+			output_file = strdup(*argv);
+			continue;
+		} else if (!strcmp(*argv, "-v")) {
+			verbosity++;
+			continue;
+		}
+		p = (const deps_t *) bsearch(*argv, deps, sizeof(deps)/sizeof(deps[0]), sizeof(deps[0]), dep_cmp);
+		if (!p) {
+			if (!strcmp("C", *argv)) {
+				printf("ignoring %s locale\n", *argv);
+				continue;
+			} else {
+				printf("%s not found\n", *argv);
+				return EXIT_FAILURE;
+			}
+		}
+
+		i = p->base_locale;
+		++der_count[i];
+
+		if (!strcmp(base_name[i], *argv)) {
+			/* same name as base, so skip after count incremented */
+			continue;
+		}
+
+		/* add it to the list.  the main body will catch duplicates */
+		lli = (ll_item_t *) xmalloc(sizeof(ll_item_t));
+		lli->prev = lli->next = NULL;
+		lli->data = (void *) *argv;
+		insque(lli, locale_list[i]);
+	}
+
+	total = 0;
+	for (i=0 ; i < BASE_MAX ; i++) {
+/*		printf("der_count[%2d] = %3d\n", i, der_count[i]); */
+		total += der_count[i];
+	}
+/*	printf("total = %d\n", total); */
+
+	new_args[new_arg_count++] = "dummyprogramname";
+	for (i=0 ; i < BASE_MAX ; i++) {
+		if (!der_count[i]) {
+			continue;
+		}
+		new_args[new_arg_count++] = (i == BASE_comm) ? "-c" : "-b";
+		lli = locale_list[i];
+		do {
+			new_args[new_arg_count++] = (const char *) (lli->data);
+			lli = lli->next;
+		} while (lli != locale_list[i]);
+		new_args[new_arg_count++] = "-f";
+	}
+	for (i=0; i < verbosity; i++)
+		new_args[new_arg_count++] = "-v";
+
+	new_args[new_arg_count++] = "-o";
+	new_args[new_arg_count++] = output_file;
+/*
+	for (i=0 ; i < new_arg_count ; i++) {
+		printf("%3d: %s\n", i, new_args[i]);
+	}
+*/
+	return old_main(new_arg_count, (char **) new_args);
+}
+
+
+/* usage...  prog -b basefile derived {derived} -s single {single} */
+
+static int old_main(int argc, char **argv)
+{
+	int next_is_base = 0;
+	int next_is_subset = 0;
+	char *output_file = NULL;
+
+	superset = 0;
+
+	while (--argc) {
+		++argv;
+		if (**argv == '-') {
+			if ((*argv)[1] == 'd') {
+				dump_weights((*argv) + 2);
+			} else if ((*argv)[1] == 'f') {	/* dump all weight rules */
+				finalize_base();
+			} else if ((*argv)[1] == 'R') {	/* dump all weight rules */
+				twalk(root_weight, print_weight_node);
+			} else if (((*argv)[1] == 'c') && !(*argv)[2]) { /* new common subset */
+				cur_base = cur_derived = NULL;
+				next_is_subset = 1;
+				next_is_base = 1;
+				superset = 0;
+			} else if (((*argv)[1] == 'b') && !(*argv)[2]) { /* new base locale */
+				cur_base = cur_derived = NULL;
+				next_is_subset = 0;
+				next_is_base = 1;
+				superset = 0;
+			} else if (((*argv)[1] == 's') && !(*argv)[2]) { /* single locales follow */
+				cur_base = cur_derived = NULL;
+				next_is_subset = 0;
+				next_is_base = 2;
+				superset = 0;
+			} else if (((*argv)[1] == 'o') && !(*argv)[2]) { /* output file */
+				--argc;
+				output_file = *++argv;
+			} else if (((*argv)[1] == 'v') && !(*argv)[2]) { /* verbose */
+				++verbose;
+			} else {
+				error_msg("unrecognized option %s", *argv);
+			}
+			continue;
+		}
+		/* new file */
+		new_col_locale(*argv);	/* automaticly sets cur_col */
+		if (next_is_base) {
+			cur_base = cur_col;
+		} else {
+			cur_derived = cur_col;
+		}
+		pushfile(*argv);
+/* 		verbose_msg(VDETAIL, "processing file %s\n", *argv); */
+		processfile();			/* this does a popfile */
+
+/* 		twalk(cur_col->root_colitem, print_colnode); */
+
+		if (next_is_base == 1) {
+			next_is_base = 0;
+		}
+		if (next_is_subset) {
+			next_is_subset = 0;
+			superset = 1;
+		}
+	}
+
+	verbose_msg(VINFO, "success!\n");
+	verbose_msg(VINFO,
+/* 			"num_sym=%zu mem_sym=%zu  unique_weights=%zu\n", */
+			"num_sym=%u mem_sym=%u  unique_weights=%u\n",
+			num_sym, mem_sym, unique_weights);
+/* 	twalk(root_weight, print_weight_node); */
+
+	verbose_msg(VINFO, "num base locales = %d    num derived locales = %d\n",
+			base_locale_len, der_locale_len);
+
+	verbose_msg(VINFO,
+			"override_len = %d      multistart_len = %d    weightstr_len = %d\n"
+			"wcs2colidt_len = %d    index2weight_len = %d  index2ruleidx_len = %d\n"
+			"ruletable_len = %d\n"
+			"total size is %d bytes or %d kB\n",
+			override_len, multistart_len, weightstr_len,
+			wcs2colidt_len, index2weight_len, index2ruleidx_len,
+			ruletable_len,
+#warning mult by 2 for rule indecies
+			(override_len + multistart_len + weightstr_len
+			 + wcs2colidt_len + index2weight_len + index2ruleidx_len + ruletable_len) * 2,
+			(override_len + multistart_len + weightstr_len
+			 + wcs2colidt_len + index2weight_len + index2ruleidx_len + ruletable_len + 511) / 512);
+
+#if 0
+	{
+		int i;
+
+		for (i=0 ; i < base_locale_len ; i++) {
+			dump_base_locale(i);
+		}
+		for (i=0 ; i < der_locale_len ; i++) {
+			dump_der_locale(i);
+		}
+	}
+#endif
+
+	{
+		FILE *fp = fopen(output_file, "w");
+
+		if (!fp) {
+			error_msg("cannot open output file '%s'!", output_file);
+		}
+		dump_collate(fp);
+		if (ferror(fp) || fclose(fp)) {
+			error_msg("write error or close error for output file!\n");
+		}
+	}
+
+    return EXIT_SUCCESS;
+}
+
+static void error_msg(const char *fmt, ...)
+{
+	va_list arg;
+
+	fprintf(stderr, "Error: ");
+	if (fno >= 0) {
+	    fprintf(stderr, "file %s (%d): ", fname[fno], lineno[fno]);
+	}
+	va_start(arg, fmt);
+	vfprintf(stderr, fmt, arg);
+	va_end(arg);
+	fprintf(stderr, "\n");
+
+	exit(EXIT_FAILURE);
+}
+
+static void pushfile(char *filename)
+{
+	char *inputfile;
+	size_t inputfile_len;
+
+	if (fno >= MAX_FNO) {
+		error_msg("file stack size exceeded");
+	}
+
+	inputfile_len = inputdir_len + strlen(filename) + 2;
+	inputfile = xmalloc(inputfile_len);
+	memset(inputfile, 0, inputfile_len);
+	sprintf(inputfile, "%s/%s", inputdir, filename);
+	if (!(fstack[++fno] = fopen(inputfile, "r"))) {
+		--fno;					/* oops */
+		error_msg("cannot open file %s: %s", inputfile, strerror(errno));
+	}
+
+	fname[fno] = xsymdup(inputfile);
+	lineno[fno] = 0;
+}
+
+static void popfile(void)
+{
+	if (fno < 0) {
+		error_msg("pop on empty file stack");
+	}
+
+/* 	free(fname[fno]); */
+	fclose(fstack[fno]);
+	--fno;
+}
+
+static void eatwhitespace(void)
+{
+	while (isspace(*pos)) {
+		++pos;
+	}
+}
+
+static int iscommentchar(int c)
+{
+	return ((c == '#') || (c == '%'));
+}
+
+static int next_line(void)
+{
+	size_t n;
+	char *s = linebuf;
+
+	assert(fno >= 0);
+
+	pos_e = NULL;
+	do {
+		if (fgets(s, sizeof(linebuf), fstack[fno]) != NULL) {
+			++lineno[fno];
+			n = strlen(linebuf);
+			if ((n == sizeof(linebuf) - 1) && (linebuf[n-1] != '\n')) {
+				/* Either line is too long or last line is very long with
+				 * no trailing newline.  But we'll always treat it as an
+				 * errro. */
+				error_msg("line too long?");
+			}
+
+			--n;
+			/* Be careful... last line doesn't need a newline. */
+			if (linebuf[n] == '\n') {
+				linebuf[n--] = 0;	/* trim trailing newline */
+			}
+
+			pos = linebuf;
+			eatwhitespace();
+			if (*pos && !iscommentchar(*pos)) { /* not empty or comment line */
+				return 1;		/* got a line */
+			}
+		} else {				/* eof */
+			popfile();
+		}
+	} while (fno >= 0);
+
+	return 0;
+}
+
+static char *next_token(void)
+{
+	char *p;
+
+#if 0
+	if (pos_e == NULL) {
+		return NULL
+		pos = pos_e;
+		*pos = end_of_token;
+		end_of_token = 0;
+	}
+#else
+	if (pos_e != NULL) {
+		pos = pos_e;
+		*pos = end_of_token;
+		end_of_token = 0;
+	}
+#endif
+	eatwhitespace();
+	p = pos;
+
+	if (!*p || iscommentchar(*p)) {	/* end of line or start of comment */
+		pos = pos_e = NULL;
+		*p = 0;					/* treat comment as end of line */
+/* 		fprintf(stdout, "returning NUL token |%s|\n", pos); */
+		return NULL;
+#if 1
+	} else if (*p == '<') {	 /* collating symbol, element, or value */
+		while (*++p) {
+			if ((*p == '/') && p[1]) {
+				++p;
+				continue;
+			}
+			if (*p == '>') {
+				pos_e = ++p;
+				end_of_token = *p;
+				*p = 0;
+/* 				fprintf(stdout, "returning col token |%s|\n", pos); */
+				return pos;
+			}
+		}
+	} else if (*p == '"') {		/* collating element value? */
+		while (*++p) {
+			if (*p == '"') {	/* found the end of the quoted string */
+				pos_e = ++p;
+				end_of_token = *p;
+				*p = 0;
+/* 				fprintf(stdout, "returning quote token |%s|\n", pos); */
+				return pos;
+			}
+		}
+#endif
+	} else {					/* some kind of keyword */
+		while (*++p) {
+			if (isspace(*p) || (*p == ';')) {
+				break;
+			}
+		}
+		pos_e = p;
+		end_of_token = *p;
+		*p = 0;
+/* 		fprintf(stdout, "returning key token |%s|\n", pos); */
+		return pos;
+	}
+
+	error_msg("illegal token |%s|", pos);
+}
+
+static void *xmalloc(size_t n)
+{
+	void *p;
+
+	if (!(p = malloc(n))) {
+		error_msg("OUT OF MEMORY");
+	}
+	return p;
+}
+
+static void do_copy(void)
+{
+	char *s;
+	char *e;
+
+	if ((s = next_token()) != NULL) {
+		e = strchr(s + 1, '"');
+		if ((*s == '"') && e && (*e == '"') && !e[1]) {
+			if (next_token() != NULL) {
+				error_msg("illegal trailing text: %s", pos);
+			}
+			*e = 0;
+			++s;
+			if (cur_base && !strcmp(cur_base->name,s)) {
+/* 				verbose_msg(VDETAIL, "skipping copy of base file %s\n", s); */
+#warning need to update last in order and position or check
+				return;
+			}
+/* 			verbose_msg(VDETAIL, "full copy of %s\n", s); */
+			pushfile(s);
+			return;
+		}
+	}
+	error_msg("illegal or missing arg for copy: %s", s);
+}
+
+static void do_colsym(void)
+{
+	char *s;
+	char *e;
+
+	if ((s = next_token()) != NULL) {
+		e = strrchr(s,'>');
+		if ((*s == '<') && e && (*e == '>') && !e[1]) {
+			if (next_token() != NULL) {
+				error_msg("illegal trailing text: %s", pos);
+			}
+			e[1] = 0; /* cleanup in case next_token stored something */
+			add_colitem(s,NULL);
+			return;
+		}
+	}
+	error_msg("illegal or missing arg for collating-symbol: %s", s);
+}
+
+static void do_colele(void)
+{
+	char *s;
+	char *e;
+	char *s1;
+	char *e1;
+	int n;
+
+	if ((s = next_token()) != NULL) {
+		e = strrchr(s,'>');
+		if ((*s == '<') && e && (*e == '>') && !e[1]) {
+			if (((s1 = next_token()) == NULL)
+				|| (strcmp(s1,"from") != 0)
+				|| ((s1 = next_token()) == NULL)
+				|| (*s1 != '\"')
+				) {
+				error_msg("illegal format for collating-element spec");
+			}
+			e1 = strchr(s1 + 1, '"');
+			if ((*s1 != '"') || !e1 || (*e1 != '"') || (e1[1] != 0)) {
+				error_msg("illegal definition for collating-element: %s", s1);
+			}
+			if (next_token() != NULL) {
+				error_msg("illegal trailing text: %s", pos);
+			}
+			e[1] = 0; /* cleanup in case next_token stored something */
+			e1[1] = 0;
+			add_colitem(s,s1);
+			++s1;
+			if (!(n = is_ucode(s1))) {
+				error_msg("starting char must be a <U####> code: %s", s1);
+			}
+			assert(s1[n] == '<');
+			s1[n] = 0;
+			s = xsymdup(s1);
+			if (!(tsearch(s, &cur_base->root_starter_char, sym_cmp))) {
+				error_msg("OUT OF MEMORY");
+			}
+
+			return;
+		}
+	}
+	error_msg("illegal or missing arg for collating-element: %s", s);
+}
+
+static ll_item_t *find_section_list_item(const char *name, col_locale_t *loc)
+{
+	ll_item_t *p;
+
+	if (!loc) {
+		return NULL;
+	}
+
+	p = loc->section_list;
+
+	while (p) {
+#warning devel code
+/* 		if (!((p->data_type == DT_SECTION) || (p->data_type == DT_REORDER))) { */
+/* 			verbose_msg(VDETAIL, "fsli = %d\n", p->data_type); */
+/* 		} */
+		assert((p->data_type == DT_SECTION) || (p->data_type == DT_REORDER));
+		if (!strcmp(name, ((section_t *)(p->data))->name)) {
+			break;
+		}
+		p = p->next;
+	}
+	return p;
+}
+
+static ll_item_t *find_ll_last(ll_item_t *p)
+{
+	assert(p);
+
+	while (p->next) {
+		p = p->next;
+	}
+	return p;
+}
+
+static void do_script(void)
+{
+	char *s;
+	char *e;
+
+	if ((s = next_token()) != NULL) {
+		e = strrchr(s,'>');
+		if ((*s == '<') && e && (*e == '>') && !e[1]) {
+			if (next_token() != NULL) {
+				error_msg("illegal trailing text: %s", pos);
+			}
+			e[1] = 0; /* cleanup in case next_token stored something */
+			add_script(s);
+			return;
+		}
+	}
+	error_msg("illegal or missing arg for script: %s", s);
+}
+
+static col_locale_t *new_col_locale(char *name)
+{
+	ll_item_t *lli;
+	ll_item_t *lli2;
+
+	cur_col = (col_locale_t *) xmalloc(sizeof(col_locale_t));
+	cur_col->name = name;
+	cur_col->root_colitem = NULL;
+	cur_col->root_element = NULL;
+	cur_col->root_scripts = NULL;
+	cur_col->base_locale = NULL;
+	if (!superset) {
+		/* start with an anonymous section */
+		cur_section = new_section(NULL);
+		cur_col->section_list = new_ll_item(DT_SECTION, cur_section);
+	} else {
+		/* start with a reorder section */
+		cur_section = new_section("R");
+		cur_num_weights = cur_section->num_rules
+			= ((section_t *)(cur_base->section_list->data))->num_rules;
+		memcpy(cur_rule,
+			   ((section_t *)(cur_base->section_list->data))->rules,
+			   MAX_COLLATION_WEIGHTS);
+		memcpy(cur_section->rules,
+			   ((section_t *)(cur_base->section_list->data))->rules,
+			   MAX_COLLATION_WEIGHTS);
+		cur_col->section_list = new_ll_item(DT_REORDER, cur_section);
+		assert(cur_base->section_list->next == NULL); /* currently only one section allowed */
+		lli = ((section_t *)(cur_base->section_list->data))->itm_list;
+		assert(lli);
+		lli2 = new_ll_item(DT_REORDER, cur_section);
+		lli2->prev = lli2->next = lli2;
+		insque(lli2, lli->prev);
+		((section_t *)(cur_base->section_list->data))->itm_list = lli2;
+	}
+/* 	cur_col->section_list = NULL; */
+/* 	add_script(((section_t *)(cur_col->section_list->data))->name); */
+	cur_col->root_wi_index = NULL;
+	cur_col->root_wi_index_reordered = NULL;
+	cur_col->root_derived_wi = NULL;
+	cur_col->derived_list = NULL;
+	cur_col->root_starter_char = NULL;
+	cur_col->root_starter_all = NULL;
+	cur_col->undefined_idx = NULL;
+	return cur_col;
+}
+
+static int colitem_cmp(const void *n1, const void *n2)
+{
+    return strcmp(((colitem_t *)n1)->string, ((colitem_t *)n2)->string);
+}
+
+static int colelement_cmp(const void *n1, const void *n2)
+{
+    int r;
+
+    r = strcmp(((colitem_t *)n1)->string, ((colitem_t *)n2)->string);
+    if (!r) {
+		if (((colitem_t *)n1)->element && ((colitem_t *)n2)->element) {
+			r = strcmp(((colitem_t *)n1)->element, ((colitem_t *)n2)->element);
+		} else if (((colitem_t *)n1)->element == ((colitem_t *)n2)->element) {
+			r = 0;				/* both null */
+		} else {
+			r = (((colitem_t *)n1)->element == NULL) ? -1 : 1;
+		}
+    }
+    return r;
+}
+
+static void del_colitem(colitem_t *p)
+{
+/*     free((void *) p->element); */
+/*     free((void *) p->string); */
+    free(p);
+}
+
+static colitem_t *new_colitem(char *item, char *def)
+{
+	colitem_t *p;
+
+	p = xmalloc(sizeof(colitem_t));
+	p->string = xsymdup(item);
+	p->element = (!def) ? def : xsymdup(def);
+
+	return p;
+}
+
+static void add_colitem(char *item, char *def)
+{
+	colitem_t *p;
+
+#if 0
+	printf("adding collation item %s", item);
+	if (def) {
+		printf(" with definition %s", def);
+	}
+	printf("\n");
+#endif
+
+	p = new_colitem(item, def);
+
+#warning devel code
+	if (superset) {
+		if (tfind(p, &cur_base->root_colitem, colitem_cmp)) {
+/* 			verbose_msg(VDETAIL, "skipping superset duplicate collating item \"%s\"\n", p->string); */
+			del_colitem(p);
+			return;
+/* 		} else { */
+/* 			verbose_msg(VDETAIL, "superset: new collating item \"%s\" = %s\n", p->string, p->element); */
+		}
+	}
+
+	if (cur_col == cur_derived) {
+		if (!tfind(p, &cur_base->root_colitem, colitem_cmp)) {
+			/* not in current but could be in base */
+			if (!tsearch(p, &cur_base->root_colitem, colitem_cmp)) {
+				error_msg("OUT OF MEMORY!");
+			}
+		} else if (!tfind(p,  &cur_base->root_colitem, colelement_cmp)) {
+			error_msg("collating element/symbol mismatch: item=%s def=%s", item, def);
+		}
+	}
+
+
+	if (!tfind(p, &cur_col->root_colitem, colitem_cmp)) {
+		/* not in current but could be in base */
+		if (!tsearch(p, &cur_col->root_colitem, colitem_cmp)) {
+			error_msg("OUT OF MEMORY!");
+		}
+	} else if (!tfind(p,  &cur_col->root_colitem, colelement_cmp)) {
+		error_msg("collating element/symbol mismatch");
+	} else {					/* already there */
+		fprintf(stderr, "duplicate collating item \"%s\"\n", p->string);
+		del_colitem(p);
+	}
+}
+
+/* add a script (section) to the current locale */
+static void add_script(const char *s)
+{
+	ll_item_t *l;
+
+	/* make sure it isn't in base if working with derived */
+	if (cur_base != cur_col) {
+		if (find_section_list_item(s, cur_base)) {
+			error_msg("attempt to add script %s for derived when already in base", s);
+		}
+	}
+
+	if (find_section_list_item(s, cur_col)) {
+		error_msg("attempt to readd script %s", s);
+	}
+
+	l = find_ll_last(cur_col->section_list);
+	insque(new_ll_item(DT_SECTION, new_section(s)), l);
+}
+
+static const char str_forward[] =  "forward";
+static const char str_backward[] = "backward";
+static const char str_position[] = "position";
+
+static void do_order_start(void)
+{
+	const char *s;
+	char *e;
+	ll_item_t *l;
+	section_t *sect;
+	int rule;
+
+	if (order_state & ~IN_ORDER) {
+		error_msg("order_start following reorder{_sections}_after");
+	}
+	order_state |= IN_ORDER;
+
+	if (superset) {
+		if (++superset_order_start_cnt > 1) {
+			error_msg("currently only a common order_start is supported in superset");
+		}
+		return;
+	}
+
+	if (!(s = next_token())) {
+		s = str_forward;		/* if no args */
+	}
+
+	if (*s == '<') {		/* section (script) */
+		e = strrchr(s,'>');
+		if ((*s == '<') && e && (*e == '>') && !e[1]) {
+			e[1] = 0; /* cleanup in case next_token stored something */
+
+			if (!(l = find_section_list_item(s, cur_col))) {
+				error_msg("ref of undefined sections: %s", s);
+			}
+			sect = (section_t *)(l->data);
+			if (sect->num_rules) {
+				error_msg("sections already defined: %s", s);
+			}
+		} else {
+			error_msg("illegal section ref: %s", s);
+		}
+
+		if (!(s = next_token())) {
+			s = str_forward;		/* if no args */
+		} else if (*s != ';') {
+			error_msg("missing seperator!");
+		}
+	} else {					/* need an anonymous section */
+		if ((*cur_section->name != '<') && (cur_section->num_items == 0)) { /* already in an empty anonymous section */
+			sect = cur_section;
+/* 			fprintf(stdout, "using empty anon section %s\n", sect->name); */
+		} else {
+			sect = new_section(NULL);
+			l = find_ll_last(cur_col->section_list);
+			insque(new_ll_item(DT_SECTION, sect), l);
+/* 			fprintf(stdout, "adding order section after section %s\n", ((section_t *)(l->data))->name); */
+/* 			fprintf(stdout, "    last section is %s\n", ((section_t *)(l->next->data))->name); */
+		}
+		sect->num_rules = 0;	/* setting this below so nix default */
+	}
+	cur_section = sect;
+/* 	fprintf(stdout, "cur_section now %s\n", cur_section->name); */
+
+#warning need to add section to weight list?
+
+	/* now do rules */
+	do {
+		rule = 0;
+		if (*s == ';') {
+			++s;
+		}
+		while (*s) {
+			if (!strncmp(str_forward, s, 7)) {
+				rule |= R_FORWARD;
+				s += 7;
+			} else if (!strncmp(str_backward, s, 8)) {
+				rule |= R_BACKWARD;
+				s += 8;
+			} else if (!strncmp(str_position, s, 8)) {
+				rule |= R_POSITION;
+				s += 8;
+			}
+
+			if (*s == ',') {
+				++s;
+				continue;
+			}
+
+			if (!*s || (*s == ';')) {
+				if (sect->num_rules >= MAX_COLLATION_WEIGHTS) {
+					error_msg("more than %d weight rules!", MAX_COLLATION_WEIGHTS);
+				}
+				if (!rule) {
+					error_msg("missing weight rule!");
+				}
+				if ((rule & (R_FORWARD|R_BACKWARD|R_POSITION)) > R_BACKWARD) {
+					error_msg("backward paired with  forward and/or position!");
+				}
+
+				sect->rules[sect->num_rules++] = rule;
+				rule = 0;
+				continue;
+			}
+
+			error_msg("illegal weight rule: %s", s);
+		}
+	} while ((s = next_token()) != NULL);
+
+	cur_section = sect;
+
+/* 	verbose_msg(VDETAIL, "setting cur_num_weights to %d for %s\n", sect->num_rules, sect->name); */
+	cur_num_weights = sect->num_rules;
+	memcpy(cur_rule, sect->rules, MAX_COLLATION_WEIGHTS);
+}
+
+static void do_order_end(void)
+{
+	if (!(order_state & IN_ORDER)) {
+		error_msg("order_end with no matching order_start");
+	}
+	order_state &= ~IN_ORDER;
+
+	cur_section = new_section(NULL);
+}
+
+static void do_reorder_after(void)
+{
+	char *t;
+	ll_item_t *lli;
+	const weight_t *w;
+	int save_cur_num_weights;
+	char save_cur_rule[MAX_COLLATION_WEIGHTS];
+
+
+	if (order_state & ~IN_REORDER) {
+		error_msg("reorder_after following order_start or reorder_sections_after");
+	}
+	order_state |= IN_REORDER;
+
+	if (superset) {
+		error_msg("currently reorder_after is not supported in supersets");
+	}
+
+#warning have to use rule for current section!!!
+
+	if (!(t = next_token())) {
+		error_msg("missing arg for reorder_after");
+	}
+
+	t = xsymdup(t);
+
+	if (next_token() != NULL) {
+		error_msg("trailing text reorder_after: %s", pos);
+	}
+
+	if (cur_col == cur_base) {
+		error_msg("sorry.. reorder_after in base locale is not currently supported");
+	}
+
+	if (!(lli = find_wi_index(t, cur_base))) {
+		error_msg("reorder_after for non-base item currently not supported: %s", t);
+	}
+
+	w = ((weighted_item_t *)(lli->data))->weight;
+
+
+	save_cur_num_weights = cur_num_weights;
+	memcpy(save_cur_rule, cur_rule, MAX_COLLATION_WEIGHTS);
+
+	cur_section = new_section("R");
+	insque(new_ll_item(DT_REORDER, cur_section), lli);
+
+#if 0
+
+	{
+		ll_item_t *l1;
+		ll_item_t *l2;
+		ll_item_t *l3;
+		l1 = new_ll_item(DT_REORDER, cur_section);
+		l2 = find_ll_last(cur_col->section_list);
+		insque(l1, l2);
+		l3 = find_ll_last(cur_col->section_list);
+
+		verbose_msg(VDETAIL, "reorder_after %p %p %p %s\n", l1, l2, l3, cur_section->name);
+	}
+#else
+	insque(new_ll_item(DT_REORDER, cur_section), find_ll_last(cur_col->section_list));
+#endif
+
+	cur_num_weights = cur_section->num_rules = save_cur_num_weights;
+	memcpy(cur_rule, save_cur_rule, MAX_COLLATION_WEIGHTS);
+	memcpy(cur_section->rules, save_cur_rule, MAX_COLLATION_WEIGHTS);
+
+
+#warning devel code
+/* 	verbose_msg(VDETAIL, "reorder -- %s %d\n", ((weighted_item_t *)(lli->data))->symbol, w->num_weights); */
+
+#warning hack to get around hu_HU reorder-after problem
+/* 	if (!w->num_weights) { */
+
+/* 	} else { */
+/* 		cur_num_weights = w->num_weights; */
+/* 		memcpy(cur_rule, w->rule, MAX_COLLATION_WEIGHTS); */
+/* 	}	 */
+
+/* 	verbose_msg(VDETAIL, "reorder_after succeeded for %s\n", t); */
+}
+
+static void do_reorder_end(void)
+{
+	if (!(order_state & IN_REORDER)) {
+		error_msg("reorder_end with no matching reorder_after");
+	}
+	order_state &= ~IN_REORDER;
+}
+
+static void do_reorder_sections_after(void)
+{
+	const char *t;
+	ll_item_t *lli;
+
+	if (order_state & ~IN_REORDER_SECTIONS) {
+		error_msg("reorder_sections_after following order_start or reorder_after");
+	}
+	order_state |= IN_REORDER_SECTIONS;
+
+	if (superset) {
+		error_msg("currently reorder_sections_after is not supported in supersets");
+	}
+
+	if (!(t = next_token())) {
+		error_msg("missing arg for reorder_sections_after");
+	}
+
+	t = xsymdup(t);
+
+	if (next_token() != NULL) {
+		error_msg("trailing text reorder_sections_after: %s", pos);
+	}
+
+	if (cur_col == cur_base) {
+		error_msg("sorry.. reorder_sections_after in base locale is not currently supported");
+	}
+
+	lli = cur_base->section_list;
+	do {
+/* 		verbose_msg(VDETAIL, "hmm -- |%s|%d|\n", ((section_t *)(lli->data))->name, lli->data_type); */
+		if (lli->data_type & DT_SECTION) {
+/* 			verbose_msg(VDETAIL, "checking |%s|%s|\n", ((section_t *)(lli->data))->name, t); */
+			if (!strcmp(((section_t *)(lli->data))->name, t)) {
+				reorder_section_ptr = lli;
+				return;
+			}
+		}
+		lli = lli->next;
+	} while (lli);
+
+	error_msg("reorder_sections_after for non-base item currently not supported: %s", t);
+}
+
+static void do_reorder_sections_end(void)
+{
+	if (!(order_state & IN_REORDER_SECTIONS)) {
+		error_msg("reorder_sections_end with no matching reorder_sections_after");
+	}
+	order_state &= ~IN_REORDER_SECTIONS;
+
+	reorder_section_ptr = NULL;
+}
+
+static ll_item_t *new_ll_item(int data_type, void *data)
+{
+	ll_item_t *p;
+
+	p = xmalloc(sizeof(ll_item_t));
+	p->next = p->prev = NULL;
+	p->data_type = data_type;
+	p->data = data;
+	p->idx = INT_MIN;
+
+	return p;
+}
+
+static int sym_cmp(const void *n1, const void *n2)
+{
+/* 	verbose_msg(VDETAIL, "sym_cmp: |%s| |%s|\n", (const char *)n1, (const char *)n2); */
+    return strcmp((const char *) n1, (const char *) n2);
+}
+
+static char *xsymdup(const char *s)
+{
+	void *p;
+
+	if (!(p = tfind(s, &root_sym, sym_cmp))) { /* not a currently known symbol */
+		if (!(s = strdup(s)) || !(p = tsearch(s, &root_sym, sym_cmp))) {
+			error_msg("OUT OF MEMORY!");
+		}
+		++num_sym;
+		mem_sym += strlen(s) + 1;
+/* 		verbose_msg(VDETAIL, "xsymdup: alloc |%s| %p |%s| %p\n", *(char **)p, p, s, s); */
+/* 	} else { */
+/* 		verbose_msg(VDETAIL, "xsymdup: found |%s| %p\n", *(char **)p, p); */
+	}
+	return *(char **) p;
+}
+
+static int weight_cmp(const void *n1, const void *n2)
+{
+	const weight_t *w1 = (const weight_t *) n1;
+	const weight_t *w2 = (const weight_t *) n2;
+	int i, r;
+
+	if (w1->num_weights != w2->num_weights) {
+		return w1->num_weights - w2->num_weights;
+	}
+
+	for (i=0 ; i < w1->num_weights ; i++) {
+		if (w1->rule[i] != w2->rule[i]) {
+			return w1->rule[i] - w2->rule[i];
+		}
+		if ((r = strcmp(w1->colitem[i], w2->colitem[i])) != 0) {
+			return r;
+		}
+	}
+	return 0;
+}
+
+static weight_t *register_weight(weight_t *w)
+{
+	void *p;
+
+	if (!(p = tfind(w, &root_weight, weight_cmp))) { /* new weight */
+		p = xmalloc(sizeof(weight_t));
+		memcpy(p, w, sizeof(weight_t));
+		if (!(p = tsearch(p, &root_weight, weight_cmp))) {
+			error_msg("OUT OF MEMORY!");
+		}
+		++unique_weights;
+/* 	} else { */
+/* 		verbose_msg(VDETAIL, "rw: found\n"); */
+	}
+	return *(weight_t **)p;
+}
+
+static size_t ll_len(ll_item_t *l)
+{
+	size_t n = 0;
+	ll_item_t *p = l;
+
+	while (p) {
+		++n;
+		p = p->next;
+		if (p == l) {			/* work for circular too */
+			break;
+		}
+	}
+	return n;
+}
+
+static size_t ll_count(ll_item_t *l, int mask)
+{
+	size_t n = 0;
+	ll_item_t *p = l;
+
+	while (p) {
+		if (p->data_type & mask) {
+			++n;
+		}
+		p = p->next;
+		if (p == l) {			/* work for circular too */
+			break;
+		}
+	}
+	return n;
+}
+
+
+static int wi_index_cmp(const void *n1, const void *n2)
+{
+	const char *s1 = ((weighted_item_t *)(((ll_item_t *) n1)->data))->symbol;
+	const char *s2 = ((weighted_item_t *)(((ll_item_t *) n2)->data))->symbol;
+
+    return strcmp(s1, s2);
+}
+
+static void add_wi_index(ll_item_t *l)
+{
+	assert(l->data_type == DT_WEIGHTED);
+
+	if (!strcmp(((weighted_item_t *)(l->data))->symbol, "UNDEFINED")) {
+		cur_col->undefined_idx = l;
+	}
+
+	if (!tfind(l, &cur_col->root_wi_index, wi_index_cmp)) { /* new wi_index */
+		if (!tsearch(l, &cur_col->root_wi_index, wi_index_cmp)) {
+			error_msg("OUT OF MEMORY!");
+		}
+	}
+
+	if (cur_base != cur_col) {
+		if (!tfind(l, &cur_base->root_wi_index, wi_index_cmp)) {/* not a base val */
+/* 			printf("derived: %s\n", ((weighted_item_t *)(l->data))->symbol); */
+			if (!tfind(l, &cur_base->root_derived_wi, wi_index_cmp)) { /* new derived */
+				if (!tsearch(l, &cur_base->root_derived_wi, wi_index_cmp)) {
+					error_msg("OUT OF MEMORY!");
+				}
+			}
+		}
+	}
+}
+
+static int final_index;
+
+
+static int is_ucode(const char *s)
+{
+	if ((s[0] == '<')
+		&& (s[1] == 'U')
+		&& isxdigit(s[2])
+		&& isxdigit(s[3])
+		&& isxdigit(s[4])
+		&& isxdigit(s[5])
+		&& (s[6] == '>')
+		) {
+		return 7;
+	} else {
+		return 0;
+	}
+}
+
+static void add_final_col_index(const char *s)
+{
+	ENTRY e;
+
+	e.key = (char *) s;
+	e.data = (void *)(final_index);
+	if (!hsearch(e, FIND)) {	/* not in the table */
+		if (!hsearch(e, ENTER)) {
+			error_msg("OUT OF MEMORY! (hsearch)");
+		}
+#if 0
+		{
+			int n;
+			void *v;
+			colitem_t ci;
+			colitem_t *p;
+			const char *t;
+
+			if (!strcmp(s, "UNDEFINED")) {
+				printf("%6d: %s\n", final_index, s);
+			} else {
+				assert(*s == '<');
+				if ((n = is_ucode(s)) != 0) {
+					assert(!s[n]);
+					printf("%6d: %s\n", final_index, s);
+				} else {
+					ci.string = (char *) s;
+					ci.element = NULL; /* don't care */
+					v = tfind(&ci, &cur_base->root_colitem, colitem_cmp);
+					if (!v) {
+						verbose_msg(VDETAIL, "%s  NOT DEFINED!!!\n", s);
+					} else {
+						p = *((colitem_t **) v);
+						if (p->element != NULL) {
+							t = p->element;
+							assert(*t == '"');
+							++t;
+							n = is_ucode(t);
+							assert(n);
+							printf("%6d: %.*s | ", final_index, n, t);
+							do {
+								t += n;
+								assert(*t);
+								if (*t == '"') {
+									assert(!t[1]);
+									break;
+								}
+								n = is_ucode(t);
+								assert(n);
+								printf("%.*s", n, t);
+							} while (1);
+							printf("   collating-element %s\n", s);
+						} else {
+							printf("%6d: %s  (collating-symbol)\n", final_index, s);
+						}
+					}
+				}
+			}
+		}
+#endif
+		++final_index;
+	}
+
+}
+
+static int final_index_val0(const char *s)
+{
+	ENTRY *p;
+	ENTRY e;
+	e.key = (char *) s;
+
+	if (!(p = hsearch(e, FIND))) {	/* not in the table */
+		return 0;
+	}
+
+	return (int)(p->data);
+}
+
+static int final_index_val(const char *s)
+{
+	ENTRY *p;
+	ENTRY e;
+	e.key = (char *) s;
+
+	if (!(p = hsearch(e, FIND))) {	/* not in the table */
+		error_msg("can't find final index: %s", s);
+	}
+
+	return (int)(p->data);
+}
+
+static size_t num_tree_nodes;
+
+static void count_nodes(const void *ptr, VISIT order, int level)
+{
+    if ((order == postorder) || (order == leaf))  {
+		++num_tree_nodes;
+    }
+}
+
+static size_t tnumnodes(const void *root)
+{
+	num_tree_nodes = 0;
+
+	twalk(root, count_nodes);
+
+	return num_tree_nodes;
+
+}
+
+static ll_item_t *find_wi_index(const char *sym, col_locale_t *cl)
+{
+	weighted_item_t w;
+	ll_item_t l;
+	void *p;
+
+	w.symbol = sym;
+	l.data = &w;
+	l.data_type = DT_WEIGHTED;
+
+	p = tfind(&l, &cl->root_wi_index, wi_index_cmp);
+
+	if (p) {
+		p = *(ll_item_t **)p;
+	}
+
+	return (ll_item_t *) p;
+}
+
+static void mark_reordered(const char *sym)
+{
+	ll_item_t *lli;
+
+	lli = find_wi_index(sym, cur_base);
+
+	if (lli) {
+		if (!tsearch(lli, &cur_base->root_wi_index_reordered, wi_index_cmp)) {
+			error_msg("OUT OF MEMORY!");
+		}
+	}
+}
+
+static ll_item_t *find_wi_index_reordered(const char *sym)
+{
+	weighted_item_t w;
+	ll_item_t l;
+	void *p;
+
+	w.symbol = sym;
+	l.data = &w;
+	l.data_type = DT_WEIGHTED;
+
+	p = tfind(&l, &cur_base->root_wi_index_reordered, wi_index_cmp);
+
+	if (p) {
+		p = *(ll_item_t **)p;
+	}
+
+	return (ll_item_t *) p;
+}
+
+static ll_item_t *init_comm_ptr(void)
+{
+	assert(cur_base);
+	assert(cur_base->section_list);
+	/* at the moment, only support one section in comm */
+	assert(cur_base->section_list->next == NULL);
+
+	comm_cur_ptr = ((section_t *)(cur_base->section_list->data))->itm_list;
+
+	while (comm_cur_ptr && (comm_cur_ptr->data_type & DT_REORDER)) {
+		comm_cur_ptr = comm_cur_ptr->next;
+	}
+
+#warning devel code
+/* 	{ */
+/* 		ll_item_t *p = comm_cur_ptr; */
+/* 		verbose_msg(VDETAIL, "init_comm_ptr\n"); */
+
+/* 		while (p != comm_cur_ptr) { */
+/* 			if (p->data_type & DT_WEIGHTED) { */
+/* 				verbose_msg(VDETAIL, "%s", ((weighted_item_t *)p)->symbol); */
+/* 			} */
+/* 			p = p->next; */
+/* 		} */
+/* 	} */
+
+	assert(comm_cur_ptr);
+
+/* 	verbose_msg(VDETAIL, "init_comm_ptr -- %s %p %p %p %d\n", */
+/* 			((weighted_item_t *)(comm_cur_ptr->data))->symbol, */
+/* 			comm_cur_ptr, comm_cur_ptr->prev, comm_cur_ptr->next, */
+/* 			ll_len(comm_cur_ptr)); */
+
+	comm_prev_ptr = NULL;
+	return comm_cur_ptr;
+}
+
+static ll_item_t *next_comm_ptr(void)
+{
+	/* at the moment, only support one section in comm */
+	assert(cur_base->section_list->next == NULL);
+
+	comm_prev_ptr = comm_cur_ptr;
+
+    while (comm_cur_ptr && ((comm_cur_ptr = comm_cur_ptr->next) != NULL)) {
+		if (!(comm_cur_ptr->data_type & DT_REORDER)) {
+			break;
+		}
+	}
+
+	return comm_cur_ptr;
+}
+
+static int dump_count;
+
+#if 0
+static void dump_section(section_t *s, int mask, col_locale_t *der)
+{
+	ll_item_t *lli;
+	ll_item_t *lli0;
+	weighted_item_t *w;
+	weight_t *p;
+	int i;
+
+	lli0 = lli = s->itm_list;
+
+	if (!lli0) {
+		return;
+	}
+
+	do {
+		if (!(lli->data_type & mask)) {
+			lli = lli->next;
+			continue;
+		}
+		if (lli->data_type & DT_WEIGHTED) {
+			++dump_count;
+			w = (weighted_item_t *)(lli->data);
+			p = w->weight;
+			printf("%6d: %s (%d) ", dump_count, w->symbol, p->num_weights);
+			for (i = 0 ; i < p->num_weights ; i++) {
+				if (p->rule[i] & R_FORWARD) {
+					printf("F");
+				}
+				if (p->rule[i] & R_BACKWARD) {
+					printf("B");
+				}
+				if (p->rule[i] & R_POSITION) {
+					printf("P");
+				}
+				printf(",");
+			}
+			for (i = 0 ; i < p->num_weights ; i++) {
+				printf("   %s", p->colitem[i]);
+			}
+			printf("\n");
+		} else if (lli->data_type & (DT_SECTION|DT_REORDER)) {
+
+			if (lli->data_type == DT_REORDER) {
+				assert(der);
+				if (strncmp(((section_t *)(lli->data))->name, der->name, strlen(der->name))) {
+					lli = lli->next;
+					continue;
+				}
+			}
+
+			if (lli->data_type & DT_SECTION) {
+				printf("SECTION -----------------\n");
+			} else {
+				printf("REORDER -----------------\n");
+			}
+
+			dump_section((section_t *)(lli->data), mask, der);
+			printf("DONE --------------------\n");
+		}
+		lli = lli->next;
+	} while (lli != lli0);
+}
+#else
+static int in_reorder_section = 0;
+
+static void dump_section(section_t *s, int mask, col_locale_t *der)
+{
+	ll_item_t *lli;
+	ll_item_t *lli0;
+	weighted_item_t *w;
+	weight_t *p;
+	int i;
+
+	lli0 = lli = s->itm_list;
+
+	if (!lli0) {
+		return;
+	}
+
+	do {
+		if (!(lli->data_type & mask)) {
+			lli = lli->next;
+			continue;
+		}
+		if (lli->data_type & DT_WEIGHTED) {
+			++dump_count;
+			w = (weighted_item_t *)(lli->data);
+			p = w->weight;
+#if 1
+			if (in_reorder_section) {
+				printf(" %p", w);
+			}
+#else
+			printf("%6d: %s (%d) ", dump_count, w->symbol, p->num_weights);
+			for (i = 0 ; i < p->num_weights ; i++) {
+				if (p->rule[i] & R_FORWARD) {
+					printf("F");
+				}
+				if (p->rule[i] & R_BACKWARD) {
+					printf("B");
+				}
+				if (p->rule[i] & R_POSITION) {
+					printf("P");
+				}
+				printf(",");
+			}
+			for (i = 0 ; i < p->num_weights ; i++) {
+				printf("   %s", p->colitem[i]);
+			}
+			printf("\n");
+#endif
+		} else if (lli->data_type & (DT_SECTION|DT_REORDER)) {
+
+			if (lli->data_type == DT_REORDER) {
+				assert(der);
+				if (strncmp(((section_t *)(lli->data))->name, der->name, strlen(der->name))) {
+					lli = lli->next;
+					continue;
+				}
+			}
+
+			if (lli->data_type & DT_SECTION) {
+/* 				printf("SECTION -----------------\n"); */
+				assert(0);
+			} else {
+/* 				printf("REORDER -----------------\n"); */
+				in_reorder_section = 1;
+			}
+
+			dump_section((section_t *)(lli->data), mask, der);
+/* 			printf("DONE --------------------\n"); */
+			printf("\n");
+			in_reorder_section = 0;
+		}
+		lli = lli->next;
+	} while (lli != lli0);
+}
+#endif
+
+static void dump_weights(const char *name)
+{
+	ll_item_t *lli;
+	col_locale_t *base;
+	col_locale_t *der;
+	col_locale_t cl;
+	void *p;
+
+	assert(name);
+
+	if (!*name) {				/* use last */
+		base = cur_base;
+		der = cur_derived;
+	} else {
+		cl.name = (char *) name;
+		if (!(p = tfind(&cl, &root_col_locale, col_locale_cmp))) {
+			error_msg("unknown locale: %s", name);
+		}
+		base = *((col_locale_t **) p);
+		der = NULL;
+		if (base->base_locale) { /* oops... really derived */
+			der = base;
+			base = der->base_locale;
+		}
+	}
+
+	dump_count = 0;
+
+	if (base) {
+/* 		printf("BASE - %s\n", base->name); */
+		for (lli = base->section_list ; lli ; lli = lli->next) {
+/* 			printf("SECTION %s\n", ((section_t *)(lli->data))->name); */
+			dump_section((section_t *)(lli->data), ~0, der);
+		}
+	}
+
+	assert(der != base);
+
+	if (der) {
+/* 		printf("DERIVED - %s\n", der->name); */
+		for (lli = der->section_list ; lli ; lli = lli->next) {
+			if (lli->data_type == DT_SECTION) {
+				dump_section((section_t *)(lli->data), DT_WEIGHTED, der);
+			}
+		}
+	}
+/* 	printf("DONE\n"); */
+}
+
+static void print_starter_node(const void *ptr, VISIT order, int level)
+{
+    if (order == postorder || order == leaf)  {
+		fprintf(stderr, "   %s\n", *(const char **) ptr);
+    }
+}
+
+static void finalize_base(void)
+{
+	ll_item_t *s;
+	ll_item_t *h;
+	ll_item_t *lli;
+	ll_item_t *h2;
+	ll_item_t *l2;
+	ll_item_t *cli;
+	ll_item_t *rli = NULL;
+	weighted_item_t *w;
+	weight_t *p;
+	int i, n, mr, r, mi;
+	col_locale_t *cl;
+	void *mm;
+
+	int num_invariant = 0;
+	int num_varying = 0;
+	int max_weight;
+	int index2weight_len_inc = 1;
+
+	assert(cur_base);
+	assert(base_locale_len+1 < BASE_LOCALE_LEN);
+
+	base_locale_array[base_locale_len].name = cur_base->name;
+	base_locale_array[base_locale_len].num_weights = 1;
+	base_locale_array[base_locale_len].index2weight_offset = index2weight_len;
+	base_locale_array[base_locale_len].index2ruleidx_offset = index2ruleidx_len;
+	if (!strcmp(cur_base->name,"ja_JP") || !strcmp(cur_base->name,"ko_KR")) {
+#warning fix the index2weight check!!
+		index2weight_len_inc = 0;
+	}
+/* 	printf("%s -- index2weight_len = %d\n", cur_base->name, index2weight_len); */
+
+	if (!hcreate(30000)) {
+		error_msg("OUT OF MEMORY!");
+	}
+
+	/* first pass ... set the fixed indexes */
+	final_index = i = 1;
+	mr = 0;
+	for (s = cur_base->section_list ; s ; s = s->next) {
+#if 1
+		if (s->data_type & DT_REORDER) { /* a reordered section */
+			verbose_msg(VDETAIL, "pass1: reordered section %s - xxx\n", ((section_t *)(s->data))->name);
+			lli = ((section_t *)(s->data))->itm_list;
+			r = 0;
+			if (lli) {
+/* 				r = ll_len( ((section_t *)(lli->data))->itm_list ); */
+				r = ll_len(lli) + 1;
+			}
+			if (r > mr) {
+				mr = r;
+			}
+			verbose_msg(VDETAIL, "pass1: reordered section %s - %d\n", ((section_t *)(s->data))->name, r);
+			continue;
+		}
+#endif
+		h = lli = ((section_t *)(s->data))->itm_list;
+		if (!lli) {
+			continue;
+		}
+		do {
+			if (lli->data_type & DT_RANGE) {
+				i += mr;
+				mr = 0;
+#warning check ko_kR and 9
+/* 				++i; */
+				lli->idx = i;
+				assert(!rli);
+				rli = lli;
+				verbose_msg(VDETAIL, "range pre = %d  after = ", i);
+				i += ((range_item_t *)(lli->data))->length + 1;
+#warning check ko_kR and 9
+/* 				++i; */
+				verbose_msg(VDETAIL, "%d\n", i);
+				if (!index2weight_len_inc) { /* ko_KR hack */
+					final_index += ((range_item_t *)(lli->data))->length + 1;
+				}
+/* 				add_final_col_index("RANGE"); */
+			} else if (lli->data_type & DT_WEIGHTED) {
+				i += mr;
+				mr = 0;
+				w = (weighted_item_t *)(lli->data);
+				if (find_wi_index_reordered(w->symbol)) { /* reordered symbol so skip on first pass */
+					++num_varying;
+					++i;
+					continue;
+				}
+				++num_invariant;
+				index2weight_buffer[index2weight_len] = lli->idx = i++;
+				index2weight_len += index2weight_len_inc;
+				add_final_col_index(w->symbol);
+
+			} else {
+				assert(lli->data_type & DT_REORDER);
+				r = ll_len( ((section_t *)(lli->data))->itm_list );
+#warning check ko_kR and 9
+				if (r > mr) {
+					mr = r;
+				}
+/* 				r = 0; */
+			}
+		} while ((lli = lli->next) != h);
+	}
+
+	/* second pass ... set the reordered indexes */
+	mi = i + mr;
+	mr = i = 0;
+	for (s = cur_base->section_list ; s ; s = s->next) {
+		h = lli = ((section_t *)(s->data))->itm_list;
+		if (!lli) {
+			continue;
+		}
+		do {
+			if (lli->data_type & DT_RANGE) {
+				i += mr;
+				mr = 0;
+				i = lli->idx + ((range_item_t *)(lli->data))->length + 1;
+#warning check
+			} else if ((lli->data_type & DT_WEIGHTED) && !(s->data_type & DT_REORDER)) {
+				i += mr;
+				mr = 0;
+				w = (weighted_item_t *)(lli->data);
+				if (find_wi_index_reordered(w->symbol) /* reordered symbol skipped on first pass */
+#if 0
+					|| (s->data_type & DT_REORDER) /* or in a reordered section */
+#endif
+					) {
+					assert(!(s->data_type & DT_REORDER));
+					index2weight_buffer[index2weight_len] = lli->idx = ++i;
+					index2weight_len += index2weight_len_inc;
+					add_final_col_index(w->symbol);
+
+/* 					fprintf(stdout, "%11s: r %6d %6d %s\n", */
+/* 							cur_base->name, lli->idx, final_index_val(w->symbol), w->symbol); */
+
+					continue;
+				}
+				i = lli->idx;
+
+/* 				fprintf(stdout, "%11s: w %6d %6d %s\n", */
+/* 						cur_base->name, lli->idx, final_index_val(w->symbol), w->symbol); */
+
+			} else {
+/* 				verbose_msg(VDETAIL, "section: %s  %d  %d\n", ((section_t *)(s->data))->name, */
+/* 						s->data_type, lli->data_type); */
+/* 					assert(!(s->data_type & DT_REORDER)); */
+/* 				assert(lli->data_type & DT_REORDER); */
+#if 1
+				if (s->data_type & DT_REORDER) {
+					h2 = l2 = lli;
+					if (!h2) {
+						continue;
+					}
+				} else {
+					assert(s->data_type & DT_SECTION);
+					h2 = l2 = ((section_t *)(lli->data))->itm_list;
+					if (!h2) {
+						continue;
+					}
+				}
+
+
+#else
+				h2 = l2 = ((section_t *)(lli->data))->itm_list;
+				if (!h2) {
+					continue;
+				}
+#endif
+				r = 0;
+				do {
+					assert(l2->data_type & DT_WEIGHTED);
+					++r;
+					l2->idx = i + r;
+
+/* 					fprintf(stdout, "%s: R %6d        %s\n", */
+/* 							((section_t *)(lli->data))->name, l2->idx, ((weighted_item_t *)(l2->data))->symbol); */
+
+				} while ((l2 = l2->next) != h2);
+				if (r > mr) {
+					mr = r;
+				}
+			}
+		} while ((lli = lli->next) != h);
+	}
+
+	/* finally, walk through all derived locales and set non-reordered section items */
+	mr = mi;
+	for (cli = cur_base->derived_list ; cli ; cli = cli->next) {
+		cl = (col_locale_t *)(cli->data);
+/* 		verbose_msg(VDETAIL, "pass3: %d  %s\n", cli->data_type, cl->name); */
+
+/* 		fprintf(stdout, "pass3: %d  %s\n", cli->data_type, cl->name); */
+
+		assert(cli->data_type == DT_COL_LOCALE);
+
+		i = mi;
+		for (s = cl->section_list ; s ; s = s->next) {
+/* 			if (s->data_type & DT_REORDER) { */
+/* 				continue; */
+/* 			} */
+			h = lli = ((section_t *)(s->data))->itm_list;
+			if (!lli) {
+				continue;
+			}
+			do {
+				assert(!(lli->data_type & DT_RANGE));
+				if (lli->data_type & DT_WEIGHTED) {
+/* 					verbose_msg(VDETAIL, "     %d %d %s\n", lli->data_type, lli->idx, ((weighted_item_t *)(lli->data))->symbol); */
+					add_final_col_index(((weighted_item_t *)(lli->data))->symbol);
+					if (s->data_type & DT_REORDER) {
+						continue;
+					}
+					assert(lli->idx == INT_MIN);
+					lli->idx = ++i;
+
+/* 					fprintf(stdout, "%11s: S %6d %6d %s\n", */
+/* 							cl->name, lli->idx, */
+/* 							final_index_val(((weighted_item_t *)(lli->data))->symbol), */
+/* 							((weighted_item_t *)(lli->data))->symbol); */
+
+				} else {
+					assert(0);
+					assert(lli->data_type & DT_SECTION);
+
+					h2 = l2 = ((section_t *)(lli->data))->itm_list;
+					if (!h2) {
+						continue;
+					}
+					do {
+						assert(l2->data_type & DT_WEIGHTED);
+						assert(l2->idx == INT_MIN);
+						l2->idx = ++i;
+						add_final_col_index(((weighted_item_t *)(l2->data))->symbol);
+					} while ((l2 = l2->next) != h2);
+				}
+			} while ((lli = lli->next) != h);
+		}
+		if (i > mr) {
+			mr = i;
+		}
+	}
+	max_weight = mr;
+
+	assert(num_varying == tnumnodes(cur_base->root_wi_index_reordered));
+
+	/* we can now initialize the wcs2index array */
+	{
+		ENTRY *p;
+		ENTRY e;
+		char buf[8];
+		static const char xd[] = "0123456789ABCDEF";
+		int starter_index = final_index;
+		int wcs2index_count = 0;
+
+		strcpy(buf, "<U....>");
+		memset(wcs2index, 0, sizeof(wcs2index));
+		e.key = (char *) buf;
+		for (i=1 ; i <= 0xffff ; i++) {
+			buf[5] = xd[ i & 0xf ];
+			buf[4] = xd[ (i >> 4) & 0xf ];
+			buf[3] = xd[ (i >> 8) & 0xf ];
+			buf[2] = xd[ (i >> 12) & 0xf ];
+
+			if ((p = hsearch(e, FIND)) != NULL) {
+				++wcs2index_count;
+				if ((tfind(buf, &cur_base->root_starter_char, sym_cmp)) != NULL) {
+					wcs2index[i] = ++starter_index;
+/* 					verbose_msg(VDETAIL, "wcs2index[ %#06x ] = %d  (starter)\n", i, wcs2index[i]); */
+				} else {
+					wcs2index[i] = (int)(p->data);
+/* 					verbose_msg(VDETAIL, "wcs2index[ %#06x ] = %d\n", i, wcs2index[i]); */
+				}
+			} else {
+				if ((tfind(buf, &cur_base->root_starter_char, sym_cmp)) != NULL) {
+					error_msg("marked starter but not in hash: %s", buf);
+				}
+			}
+		}
+
+
+	/* ---------------------------------------------------------------------- */
+		{
+			int i, n;
+			table_data table;
+			size_t t, smallest;
+
+			n = 0;
+			smallest = SIZE_MAX;
+			table.ii = NULL;
+			for (i=0 ; i < 14 ; i++) {
+				if ((RANGE >> i) < 4) {
+					break;
+				}
+				t = newopt(wcs2index, RANGE, i, &table);
+				if (smallest >= t) {
+					n = i;
+					smallest = t;
+					/*  			} else { */
+					/*  				break; */
+				}
+			}
+
+
+/* 			printf("smallest = %u  for range %#x (%u)\n", smallest, RANGE, RANGE); */
+			assert(smallest != SIZE_MAX);
+			if (smallest + wcs2colidt_len >= WCS2COLIDT_LEN) {
+				error_msg("WCS2COLIDT_LEN too small");
+			}
+			base_locale_array[base_locale_len].wcs2colidt_offset = wcs2colidt_len;
+			table.ii = wcs2colidt_buffer + wcs2colidt_len;
+			t = smallest;
+			smallest = SIZE_MAX;
+			smallest = newopt(wcs2index, RANGE, n, &table);
+			assert(t == smallest);
+			wcs2colidt_len += smallest;
+/* 			verbose_msg(VDETAIL, "smallest = %d   wcs2colidt_len = %d\n", smallest, wcs2colidt_len); */
+
+#if 0
+			{
+				unsigned int sc, n, i0, i1;
+				unsigned int u = 0xe40;
+				table_data *tbl = &table;
+
+#define __LOCALE_DATA_WCctype_TI_MASK ((1 << tbl->ti_shift)-1)
+#define __LOCALE_DATA_WCctype_TI_SHIFT (tbl->ti_shift)
+#define __LOCALE_DATA_WCctype_TI_LEN (tbl->ti_len)
+#define __LOCALE_DATA_WCctype_II_MASK ((1 << tbl->ii_shift)-1)
+#define __LOCALE_DATA_WCctype_II_SHIFT (tbl->ii_shift)
+#define __LOCALE_DATA_WCctype_II_LEN (tbl->ii_len)
+
+				sc = u & __LOCALE_DATA_WCctype_TI_MASK;
+				u >>= __LOCALE_DATA_WCctype_TI_SHIFT;
+				n = u & __LOCALE_DATA_WCctype_II_MASK;
+				u >>= __LOCALE_DATA_WCctype_II_SHIFT;
+
+				i0 = tbl->ii[u];
+				verbose_msg(VDETAIL, "i0 = %d\n", i0);
+				i0 <<= __LOCALE_DATA_WCctype_II_SHIFT;
+				i1 = tbl->ii[__LOCALE_DATA_WCctype_II_LEN + i0 + n];
+				/* 	i1 = tbl->ti[i0 + n]; */
+				verbose_msg(VDETAIL, "i1 = %d\n", i1);
+				i1 <<= __LOCALE_DATA_WCctype_TI_SHIFT;
+				/* 	return *(uint16_t *)(&(tbl->ii[__LOCALE_DATA_WCctype_II_LEN + __LOCALE_DATA_WCctype_TI_LEN + i1 + sc])); */
+				verbose_msg(VDETAIL, "i2 = %d\n", __LOCALE_DATA_WCctype_II_LEN + __LOCALE_DATA_WCctype_TI_LEN + i1 + sc);
+				verbose_msg(VDETAIL, "val = %d\n",  tbl->ii[__LOCALE_DATA_WCctype_II_LEN + __LOCALE_DATA_WCctype_TI_LEN + i1 + sc]);
+				/* 	return tbl->ut[i1 + sc]; */
+
+
+			}
+#endif
+			base_locale_array[base_locale_len].ii_shift = table.ii_shift;
+			base_locale_array[base_locale_len].ti_shift = table.ti_shift;
+			base_locale_array[base_locale_len].ii_len = table.ii_len;
+			base_locale_array[base_locale_len].ti_len = table.ti_len;
+		}
+	/* ---------------------------------------------------------------------- */
+
+		base_locale_array[base_locale_len].num_col_base = num_invariant + num_varying;
+		base_locale_array[base_locale_len].max_col_index = final_index;
+		base_locale_array[base_locale_len].max_weight = max_weight;
+
+		verbose_msg(VDETAIL, "%s: %6u invariant  %6u varying  %6u derived  %6u total  %6u max weight  %6u wcs2\n",
+				cur_base->name, num_invariant, num_varying,
+				tnumnodes(cur_base->root_derived_wi), final_index, max_weight,
+				wcs2index_count);
+
+	}
+
+#if 1
+	/* ok, now we need to dump out the base and derived tables... */
+	/* don't forget to break up collating elements!!! */
+
+/* 	fprintf(stdout, "**************************************************\n"); */
+	/* first pass ... set the invariants */
+	for (s = cur_base->section_list ; s ; s = s->next) {
+#if 1
+		if (s->data_type & DT_REORDER) {
+			verbose_msg(VDETAIL, "1: skipping reordered section %s\n", ((section_t *)(s->data))->name);
+			continue;
+		}
+#endif
+		h = lli = ((section_t *)(s->data))->itm_list;
+		if (!lli) {
+			continue;
+		}
+		do {
+			if (lli->data_type & DT_WEIGHTED) {
+				w = (weighted_item_t *)(lli->data);
+				if (find_wi_index_reordered(w->symbol)) { /* reordered symbol so skip on first pass */
+					continue;
+				}
+				if (index2weight_len_inc) {
+					index2ruleidx_buffer[index2ruleidx_len++] =
+						add_rule((weighted_item_t *)(lli->data));
+				}
+/* 				fprintf(stdout, "%11s: w %6d %6d %s\n", */
+/* 						cur_base->name, lli->idx, final_index_val(w->symbol), w->symbol); */
+			}
+		} while ((lli = lli->next) != h);
+	}
+
+	/* second pass ... set varying */
+	for (s = cur_base->section_list ; s ; s = s->next) {
+#if 1
+		if (s->data_type & DT_REORDER) {
+			verbose_msg(VDETAIL, "2: skipping reordered section %s\n", ((section_t *)(s->data))->name);
+			continue;
+		}
+#endif
+		h = lli = ((section_t *)(s->data))->itm_list;
+		if (!lli) {
+			continue;
+		}
+		do {
+			if (lli->data_type & DT_WEIGHTED) {
+				w = (weighted_item_t *)(lli->data);
+				if (find_wi_index_reordered(w->symbol)) { /* reordered symbol so skip on first pass */
+					if (index2weight_len_inc) {
+						index2ruleidx_buffer[index2ruleidx_len++] =
+							add_rule((weighted_item_t *)(lli->data));
+					}
+/* 					fprintf(stdout, "%11s: r %6d %6d %s\n", */
+/* 							cur_base->name, lli->idx, final_index_val(w->symbol), w->symbol); */
+					continue;
+				}
+			}
+		} while ((lli = lli->next) != h);
+	}
+
+	do_starter_lists(cur_base);
+
+
+/* 	verbose_msg(VDETAIL,"updated final_index = %d\n", final_index); */
+
+	if (rli) {
+		base_locale_array[base_locale_len].range_low
+			= strtoul(((range_item_t *)(rli->data))->symbol1 + 2, NULL, 16);
+		base_locale_array[base_locale_len].range_count
+			= ((range_item_t *)(rli->data))->length;
+		base_locale_array[base_locale_len].range_base_weight = rli->idx;
+		base_locale_array[base_locale_len].range_rule_offset = add_range_rule((range_item_t *)(rli->data));
+/* 		fprintf(stdout, "%11s:   %6d %6d %s %s (%d)\n", */
+/* 				"RANGE", rli->idx, -1, */
+/* 				((range_item_t *)(rli->data))->symbol1, */
+/* 				((range_item_t *)(rli->data))->symbol2, */
+/* 				((range_item_t *)(rli->data))->length); */
+	}
+
+/* 	fprintf(stdout,"\nDerived\n\n"); */
+
+	/* first, if base name is of the form ll_CC, add a derived locale for it */
+	if ((strlen(cur_base->name) == 5)
+		&& islower(cur_base->name[0])
+		&& islower(cur_base->name[1])
+		&& (cur_base->name[2] == '_')
+		&& isupper(cur_base->name[3])
+		&& isupper(cur_base->name[4])
+		) {
+
+		verbose_msg(VDETAIL, "adding special derived for %s\n", cur_base->name);
+/* 	verbose_msg(VDETAIL,"updated final_index = %d\n", final_index); */
+
+
+		assert(der_locale_len+1 < DER_LOCALE_LEN);
+
+		der_locale_array[der_locale_len].name = cur_base->name;
+		der_locale_array[der_locale_len].base_idx = base_locale_len;
+
+		u16_buf[0] = 1;
+		u16_buf[1] = 0;
+		u16_buf_len = 2;
+
+		mm = NULL;
+		if ((u16_buf_len > override_len) ||
+			!(mm = memmem(override_buffer, override_len*sizeof(override_buffer[0]),
+						  u16_buf, u16_buf_len*sizeof(u16_buf[0])))
+			) {
+			assert(override_len + u16_buf_len < OVERRIDE_LEN);
+			memcpy(override_buffer + override_len, u16_buf, u16_buf_len*sizeof(u16_buf[0]));
+			der_locale_array[der_locale_len].overrides_offset = override_len;
+			override_len += u16_buf_len;
+/* 			printf("%s: override_len = %d   u16_buf_len = %d\n", cl->name, override_len, u16_buf_len); */
+		} else if (!(u16_buf_len > override_len)) {
+			assert(mm);
+			der_locale_array[der_locale_len].overrides_offset = ((uint16_t *)(mm)) - override_buffer;
+/* 			printf("%s: memmem found a match with u16_buf_len = %d\n", cl->name, u16_buf_len); */
+		}
+		der_locale_array[der_locale_len].multistart_offset
+			= base_locale_array[base_locale_len].multistart_offset;
+		der_locale_array[der_locale_len].undefined_idx = final_index_val0("UNDEFINED");
+
+		if (!der_locale_array[der_locale_len].undefined_idx) {
+			error_msg("no UNDEFINED definition for %s", cur_base->name);
+		}
+
+		++der_locale_len;
+	} else {
+		verbose_msg(VDETAIL, "NOT adding special derived for %s\n", cur_base->name);
+	}
+
+	/* now all the derived... */
+	for (cli = cur_base->derived_list ; cli ; cli = cli->next) {
+		cl = (col_locale_t *)(cli->data);
+		assert(cli->data_type == DT_COL_LOCALE);
+
+		assert(der_locale_len+1 < DER_LOCALE_LEN);
+
+		der_locale_array[der_locale_len].name = cl->name;
+		der_locale_array[der_locale_len].base_idx = base_locale_len;
+
+		u16_buf_len = 0;
+
+		for (i = 0 ; i < 2 ; i++) {
+			if (i) {
+/* 				fprintf(stdout, "   section --- (singles)\n"); */
+				u16_buf[u16_buf_len++] = 1;	/* single */
+			}
+			/* we do this in two passes... first all sequences, then all single reorders */
+			for (s = cl->section_list ; s ; s = s->next) {
+/* 				verbose_msg(VDETAIL, "doing section %s\n", ((section_t *)(s->data))->name); */
+				h = lli = ((section_t *)(s->data))->itm_list;
+				if (!lli) {
+/* 					fprintf(stdout, "EMPTY ITEM LIST IN SECTION %s\n", ((section_t *)(s->data))->name ); */
+					continue;
+				}
+				assert(u16_buf_len +4 < sizeof(u16_buf)/sizeof(u16_buf[0]));
+				if ((!i && (ll_len(h) > 1) ) || (ll_len(h) == i)) {
+					if (!i) {
+/* 						fprintf(stdout, "   section ----------------- %d %d\n", i, ll_len(h)); */
+						u16_buf[u16_buf_len++] = ll_len(h);	/* multi */
+						assert(lli->data_type & DT_WEIGHTED);
+#if 0
+						u16_buf[u16_buf_len++] = final_index_val(((weighted_item_t *)(lli->data))->symbol);	/* start index */
+#endif
+						u16_buf[u16_buf_len++] = lli->idx; /* start weight */
+					}
+					do {
+						assert(lli->data_type & DT_WEIGHTED);
+						if (lli->data_type & DT_WEIGHTED) {
+/* 							fprintf(stdout, "%11s: S %6d %6d %s\n", */
+/* 									cl->name, lli->idx, */
+/* 									final_index_val(((weighted_item_t *)(lli->data))->symbol), */
+/* 									((weighted_item_t *)(lli->data))->symbol); */
+#if 0
+							if (i) {
+								assert(u16_buf_len +4 < sizeof(u16_buf)/sizeof(u16_buf[0]));
+								u16_buf[u16_buf_len++] = final_index_val(((weighted_item_t *)(lli->data))->symbol);
+								assert(u16_buf[u16_buf_len-1]);
+								u16_buf[u16_buf_len++] = lli->idx; /* weight */
+							}
+#else
+							assert(u16_buf_len +4 < sizeof(u16_buf)/sizeof(u16_buf[0]));
+							u16_buf[u16_buf_len++] = final_index_val(((weighted_item_t *)(lli->data))->symbol);
+							assert(u16_buf[u16_buf_len-1]);
+							if (i) {
+								u16_buf[u16_buf_len++] = lli->idx; /* weight */
+							}
+#endif
+							u16_buf[u16_buf_len++] = add_rule((weighted_item_t *)(lli->data));
+
+						}
+					} while ((lli = lli->next) != h);
+				}
+			}
+		}
+		u16_buf[u16_buf_len++] = 0;
+
+		mm = NULL;
+		if ((u16_buf_len > override_len) ||
+			!(mm = memmem(override_buffer, override_len*sizeof(override_buffer[0]),
+						  u16_buf, u16_buf_len*sizeof(u16_buf[0])))
+			) {
+			assert(override_len + u16_buf_len < OVERRIDE_LEN);
+			memcpy(override_buffer + override_len, u16_buf, u16_buf_len*sizeof(u16_buf[0]));
+			der_locale_array[der_locale_len].overrides_offset = override_len;
+			override_len += u16_buf_len;
+/* 			printf("%s: override_len = %d   u16_buf_len = %d\n", cl->name, override_len, u16_buf_len); */
+		} else if (!(u16_buf_len > override_len)) {
+			assert(mm);
+			der_locale_array[der_locale_len].overrides_offset = ((uint16_t *)(mm)) - override_buffer;
+/* 			printf("%s: memmem found a match with u16_buf_len = %d\n", cl->name, u16_buf_len); */
+		}
+
+		do_starter_lists(cl);
+
+		der_locale_array[der_locale_len].undefined_idx = final_index_val0("UNDEFINED");
+#if 0
+		assert(der_locale_array[der_locale_len].undefined_idx);
+		if (!der_locale_array[der_locale_len].undefined_idx) {
+			der_locale_array[der_locale_len].undefined_idx = base_locale_array[base_locale_len].undefined_idx;
+		}
+#endif
+
+		if (!der_locale_array[der_locale_len].undefined_idx) {
+			error_msg("no UNDEFINED definition for %s", cl->name);
+		}
+
+		++der_locale_len;
+	}
+
+#endif
+
+#warning handle UNDEFINED idx specially?  what if in only some of derived?
+/* 	base_locale_array[base_locale_len].undefined_idx = final_index_val0("UNDEFINED"); */
+	base_locale_array[base_locale_len].undefined_idx = 0;
+
+
+	hdestroy();
+
+	++base_locale_len;
+
+/* 	if (tnumnodes(cur_base->root_starter_char)) { */
+/* 		verbose_msg(VDETAIL, "starter nodes\n"); */
+/* 		twalk(cur_base->root_starter_char, print_starter_node); */
+/* 	} */
+}
+
+static int starter_all_cmp(const void *n1, const void *n2)
+{
+	const char *s1 = ((weighted_item_t *) n1)->symbol;
+	const char *s2 = ((weighted_item_t *) n2)->symbol;
+	colitem_t x;
+	colitem_t *p;
+	int n;
+
+	/* sort by 1st char ... then inverse for string */
+
+	x.element = NULL;
+	if (!is_ucode(s1)) {
+		x.string = s1;
+		p = tfind(&x, &cur_base->root_colitem, colitem_cmp);
+		s1 = (*((colitem_t **) p))->element + 1;
+	}
+	if (!is_ucode(s2)) {
+		x.string = s2;
+		p = tfind(&x, &cur_base->root_colitem, colitem_cmp);
+		s2 = (*((colitem_t **) p))->element + 1;
+	}
+
+	/* <U####>< */
+	/* 01234567 */
+
+	assert(is_ucode(s1));
+	assert(is_ucode(s2));
+
+	n = strncmp(s1+2, s2+2, 4);
+	if (n) {
+		return n;
+	}
+
+	s1 += 7;
+	s2 += 7;
+
+	return strcmp(s2, s1);
+}
+
+static void print_starter_all_node(const void *ptr, VISIT order, int level)
+{
+    const weighted_item_t *w = *(const weighted_item_t **) ptr;
+	colitem_t *ci;
+	void *p;
+	int n;
+	colitem_t x;
+
+    if (order == postorder || order == leaf)  {
+#if 0
+		if ((n = is_ucode(w->symbol)) != 0) {
+			printf(" %s\n", w->symbol);
+		} else {
+			x.string = w->symbol;
+			x.element = NULL;
+			p = tfind(&x, &cur_base->root_colitem, colitem_cmp);
+			assert(p);
+			ci = *((colitem_t **) p);
+			printf("%s = %s\n", ci->element, w->symbol);
+		}
+#else
+		printf("%s|", w->symbol);
+/* 		if ((n = is_ucode(w->symbol)) != 0) { */
+/* 			printf("\n"); */
+/* 		} */
+#endif
+	}
+}
+
+static void process_starter_node(const void *ptr, VISIT order, int level)
+{
+    const weighted_item_t *w = *(const weighted_item_t **) ptr;
+	colitem_t *ci;
+	void *p;
+	int n;
+	colitem_t x;
+	const char *s;
+	char buf[32];
+
+	/* store index of collation item followed by (unprefixed) nul-terminated string */
+    if (order == postorder || order == leaf)  {
+		if ((n = is_ucode(w->symbol)) != 0) {
+			u16_buf[u16_buf_len++] = final_index_val(w->symbol);
+			assert(u16_buf[u16_buf_len-1]);
+			u16_buf[u16_buf_len++] = 0;
+			if (++u16_starter < base_locale_array[base_locale_len].num_starters) {
+				u16_buf[u16_starter] = u16_buf_len;
+			}
+/* 			verbose_msg(VDETAIL, "ucode - %d %d\n", u16_buf[u16_starter-1], u16_buf_len); */
+		} else {
+			x.string = w->symbol;
+			x.element = NULL;
+			p = tfind(&x, &cur_base->root_colitem, colitem_cmp);
+			assert(p);
+			ci = *((colitem_t **) p);
+			s = ci->element;
+			u16_buf[u16_buf_len++] = final_index_val(w->symbol);
+			assert(u16_buf[u16_buf_len-1]);
+			assert(*s == '"');
+			n = is_ucode(++s);
+/* 			verbose_msg(VDETAIL, "s is |%s| with len %d (%d)\n", s, strlen(s), n); */
+			assert(n);
+			s += n;
+			while (*s != '"') {
+				n = is_ucode(s);
+				assert(n);
+				strncpy(buf, s, n+1);
+				buf[n] = 0;
+/* 				verbose_msg(VDETAIL, "buf is |%s| with len %d (%d)\n", buf, strlen(buf), n); */
+				u16_buf[u16_buf_len++] = final_index_val(buf);
+				assert(u16_buf[u16_buf_len-1]);
+				s += n;
+			}
+			u16_buf[u16_buf_len++] = 0;
+		}
+	}
+}
+
+static void **p_cl_root_starter_all;
+
+static void complete_starter_node(const void *ptr, VISIT order, int level)
+{
+	weighted_item_t w;
+	weighted_item_t *p;
+
+    if (order == postorder || order == leaf)  {
+		w.symbol = *(const char **) ptr;
+		w.weight = NULL;
+		if (!tfind(&w, p_cl_root_starter_all, starter_all_cmp)) {
+			p = xmalloc(sizeof(weighted_item_t));
+			p->symbol = w.symbol;
+			p->weight = NULL;
+/* 			verbose_msg(VDETAIL, "complete_starter_node: %s\n", *(const char **) ptr); */
+			if (!tsearch(p, p_cl_root_starter_all, starter_all_cmp)) {
+				error_msg("OUT OF MEMORY");
+			}
+		}
+    }
+}
+
+static void do_starter_lists(col_locale_t *cl)
+{
+	ll_item_t *s;
+	ll_item_t *h;
+	ll_item_t *lli;
+	col_locale_t *c;
+	colitem_t *ci;
+	weighted_item_t *w;
+	void *p;
+	char buf[32];
+	int n;
+	colitem_t x;
+	void *mm;
+
+	c = cl;
+	if (c != cur_base) {
+		c = cur_base;
+	}
+
+/* 	printf("STARTERS %s --------------------\n", cl->name); */
+ LOOP:
+	for (s = c->section_list ; s ; s = s->next) {
+		h = lli = ((section_t *)(s->data))->itm_list;
+		if (!lli) {
+			continue;
+		}
+		do {
+			if (lli->data_type & DT_WEIGHTED) {
+				w = (weighted_item_t *)(lli->data);
+				ci = NULL;
+				if ((n = is_ucode(w->symbol)) != 0) {
+					strcpy(buf, w->symbol);
+				} else {
+/* 					fprintf(stdout, "looking for |%s|\n", w->symbol); */
+					x.string = w->symbol;
+					x.element = NULL;
+					p = tfind(&x, &cur_base->root_colitem, colitem_cmp);
+					if (!p) {
+/* 						verbose_msg(VDETAIL, "Whoa... processing starters for %s and couldn't find %s\n", */
+/* 								cl->name, w->symbol); */
+						continue;
+					}
+					ci = *((colitem_t **) p);
+					if (!ci->element) {	/* just a collating symbol */
+						continue;
+					}
+					assert(ci->element[0] == '"');
+					n = is_ucode(ci->element + 1);
+					assert(n);
+					strncpy(buf, ci->element + 1, n);
+				}
+				if ((tfind(buf, &cur_base->root_starter_char, sym_cmp)) != NULL) {
+/* 					fprintf(stdout, "adding from %s: %s", c->name, w->symbol); */
+/* 					if (ci) { */
+/* 						fprintf(stdout, " = %s", ci->element); */
+/* 					} */
+/* 					fprintf(stdout, "\n"); */
+
+					if (!tsearch(w, &cl->root_starter_all, starter_all_cmp)) {
+						error_msg("OUT OF MEMORY");
+					}
+				}
+			}
+		} while ((lli = lli->next) != h);
+	}
+
+	if (c != cl) {
+		c = cl;
+		goto LOOP;
+	}
+
+	p_cl_root_starter_all = &cl->root_starter_all;
+	twalk(cur_base->root_starter_char, complete_starter_node);
+
+	if (cl == cur_base) {
+		base_locale_array[base_locale_len].num_starters	= tnumnodes(cur_base->root_starter_char);
+	}
+
+#if 0
+	printf("\nNow walking tree...\n\n");
+	twalk(cl->root_starter_all, print_starter_all_node);
+	printf("\n\n");
+
+#endif
+	u16_starter = 0;
+	u16_buf[0] = u16_buf_len = base_locale_array[base_locale_len].num_starters;
+	twalk(cl->root_starter_all, process_starter_node);
+/* 	verbose_msg(VDETAIL, "s=%d n=%d\n", u16_starter,  base_locale_array[base_locale_len].num_starters); */
+	assert(u16_starter == base_locale_array[base_locale_len].num_starters);
+
+#if 0
+	{ int i;
+	for (i=0 ; i < u16_buf_len ; i++) {
+		verbose_msg(VDETAIL, "starter %2d: %d - %#06x\n", i, u16_buf[i], u16_buf[i]);
+	}}
+#endif
+
+	mm = NULL;
+	if (u16_buf_len) {
+/* 		assert(base_locale_array[base_locale_len].num_starters); */
+		if ((u16_buf_len > multistart_len) ||
+			!(mm = memmem(multistart_buffer, multistart_len*sizeof(multistart_buffer[0]),
+						  u16_buf, u16_buf_len*sizeof(u16_buf[0])))
+			) {
+			assert(multistart_len + u16_buf_len < MULTISTART_LEN);
+			memcpy(multistart_buffer + multistart_len, u16_buf, u16_buf_len*sizeof(u16_buf[0]));
+			if (cl == cur_base) {
+				base_locale_array[base_locale_len].multistart_offset = multistart_len;
+			} else {
+				der_locale_array[der_locale_len].multistart_offset = multistart_len;
+			}
+			multistart_len += u16_buf_len;
+/* 			verbose_msg(VDETAIL, "%s: multistart_len = %d   u16_buf_len = %d\n", cl->name, multistart_len, u16_buf_len); */
+		} else if (!(u16_buf_len > multistart_len)) {
+			assert(mm);
+			if (cl == cur_base) {
+				base_locale_array[base_locale_len].multistart_offset = ((uint16_t *)(mm)) - multistart_buffer;
+			} else {
+				der_locale_array[der_locale_len].multistart_offset = ((uint16_t *)(mm)) - multistart_buffer;
+			}
+/* 			verbose_msg(VDETAIL, "%s: memmem found a match with u16_buf_len = %d\n", cl->name, u16_buf_len); */
+		}
+	} else {
+		assert(!base_locale_array[base_locale_len].num_starters);
+	}
+
+/* 	printf("u16_buf_len = %d\n", u16_buf_len); */
+
+/* 	printf("STARTERS %s DONE ---------------\n", cl->name); */
+}
+
+
+/* For sorting the blocks of unsigned chars. */
+static size_t nu_val;
+
+int nu_memcmp(const void *a, const void *b)
+{
+	return memcmp(*(unsigned char**)a, *(unsigned char**)b, nu_val * sizeof(tbl_item));
+}
+
+
+size_t newopt(tbl_item *ut, size_t usize, int shift, table_data *tbl)
+{
+	static int recurse;
+	tbl_item *ti[RANGE];	/* table index */
+	size_t numblocks;
+	size_t blocksize;
+	size_t uniq;
+	size_t i, j;
+	size_t smallest, t;
+	tbl_item *ii_save;
+	int uniqblock[1 << (8*sizeof(tbl_item) - 1)];
+	tbl_item uit[RANGE];
+	int shift2;
+
+	if (shift > 15) {
+		return SIZE_MAX;
+	}
+
+	ii_save = NULL;
+	blocksize = 1 << shift;
+	numblocks = usize >> shift;
+
+	/* init table index */
+	for (i=j=0 ; i < numblocks ; i++) {
+		ti[i] = ut + j;
+		j += blocksize;
+	}
+
+	/* sort */
+	nu_val = blocksize;
+	qsort(ti, numblocks, sizeof(unsigned char *), nu_memcmp);
+
+	uniq = 1;
+	uit[(ti[0]-ut)/blocksize] = 0;
+	for (i=1 ; i < numblocks ; i++) {
+		if (memcmp(ti[i-1], ti[i], blocksize*sizeof(tbl_item)) < 0) {
+			if (++uniq > (1 << (8*sizeof(tbl_item) - 1))) {
+				break;
+			}
+			uniqblock[uniq - 1] = i;
+		}
+#if 1
+		else if (memcmp(ti[i-1], ti[i], blocksize*sizeof(tbl_item)) > 0) {
+			printf("bad sort %i!\n", i);
+			abort();
+		}
+#endif
+		uit[(ti[i]-ut)/blocksize] = uniq - 1;
+	}
+
+	smallest = SIZE_MAX;
+	shift2 = -1;
+	if (uniq <= (1 << (8*sizeof(tbl_item) - 1))) {
+		smallest = numblocks + uniq * blocksize;
+		if (!recurse) {
+			++recurse;
+			for (j=1 ; j < 14 ; j++) {
+				if ((numblocks >> j) < 2) break;
+				if (tbl) {
+					ii_save = tbl->ii;
+					tbl->ii = NULL;
+				}
+				if ((t = newopt(uit, numblocks, j, tbl)) < SIZE_MAX) {
+					t += uniq * blocksize;
+				}
+				if (tbl) {
+					tbl->ii = ii_save;
+				}
+				if (smallest >= t) {
+					shift2 = j;
+					smallest = t;
+/* 					if (!tbl->ii) { */
+/* 						printf("ishift %u  tshift %u  size %u\n", */
+/* 							   shift2, shift, t); */
+/* 					} */
+/*  				} else { */
+/*  					break; */
+				}
+			}
+			--recurse;
+		}
+	} else {
+		return SIZE_MAX;
+	}
+
+	if (tbl->ii) {
+		if (recurse) {
+			tbl->ii_shift = shift;
+			tbl->ii_len = numblocks;
+			memcpy(tbl->ii, uit, numblocks*sizeof(tbl_item));
+			tbl->ti = tbl->ii + tbl->ii_len;
+			tbl->ti_len = uniq * blocksize;
+			for (i=0 ; i < uniq ; i++) {
+				memcpy(tbl->ti + i * blocksize, ti[uniqblock[i]], blocksize*sizeof(tbl_item));
+			}
+		} else {
+			++recurse;
+/* 			printf("setting ishift %u  tshift %u\n", shift2, shift); */
+			newopt(uit, numblocks, shift2, tbl);
+			--recurse;
+			tbl->ti_shift = shift;
+			tbl->ut_len = uniq * blocksize;
+			tbl->ut = tbl->ti + tbl->ti_len;
+			for (i=0 ; i < uniq ; i++) {
+				memcpy(tbl->ut + i * blocksize, ti[uniqblock[i]], blocksize*sizeof(tbl_item));
+			}
+		}
+	}
+	return smallest;
+}
+
+static const int rule2val[8] = {
+	-1,
+	(1 << 14),					/* forward */
+	(2 << 14),					/* position */
+	(3 << 14),					/* forward,position */
+	0,							/* backward */
+	-1,
+	-1,
+	-1,
+};
+
+
+static int final_index_val_x(const char *s, const char *sym)
+{
+	int r;
+
+	if (!(r = final_index_val0(s))) {
+		if (!strcmp(s, "IGNORE")) {
+			r = 0;
+		} else if (!strcmp(s, "..") || !strcmp(sym, "RANGE")) {
+			if (*sym == '.') {
+				final_index_val(sym); /* make sure it's known */
+			}
+			r = 0x3fff;
+		} else if (!strcmp(s, ".")) {
+			r = 0x3ffe;
+		} else {
+			error_msg("can't find final index: %s", s);
+		}
+	}
+	return r;
+}
+
+/* store rule2val in 2 high bits and collation index in lower.
+ * for sort strings, store (offset from base) + max colindex as index.
+ */
+static unsigned int add_rule(weighted_item_t *wi)
+{
+	weight_t *w = wi->weight;
+	int i, j, r, n;
+	uint16_t rbuf[MAX_COLLATION_WEIGHTS];
+	uint16_t ws_buf[32];
+	void *mm;
+	char buf[32];
+	const char *s;
+	const char *e;
+
+	for (i=0 ; i < MAX_COLLATION_WEIGHTS ; i++) {
+		rbuf[i] = rule2val[R_FORWARD]; /* set a default to forward-ignore */
+	}
+
+	if (base_locale_array[base_locale_len].num_weights < w->num_weights) {
+		base_locale_array[base_locale_len].num_weights = w->num_weights;
+	}
+
+	for (i=0 ; i < w->num_weights ; i++) {
+		assert(rule2val[(int)(w->rule[i])] >= 0);
+		assert(w->colitem[i] && *w->colitem[i]);
+		if (*w->colitem[i] == '"') { /* string... */
+			s = w->colitem[i] + 1;
+			assert(*s == '<');
+			n = 0;
+			do {
+				e = s;
+				do {
+					if (*e == '/') {
+						e += 2;
+						continue;
+					}
+				} while (*e++ != '>');
+				assert(((size_t)(e-s) < sizeof(buf)));
+				memcpy(buf, s, (size_t)(e-s));
+				buf[(size_t)(e-s)] = 0;
+
+				r = final_index_val_x(buf, wi->symbol);
+				assert(n + 1 < sizeof(ws_buf)/sizeof(ws_buf[0]));
+				ws_buf[n++] = r | rule2val[(int)(w->rule[i])];
+
+				s = e;
+			} while (*s != '"');
+			ws_buf[n++] = 0;	/* terminator */
+
+			mm = memmem(weightstr_buffer, weightstr_len*sizeof(weightstr_buffer[0]),
+						ws_buf, n*sizeof(ws_buf[0]));
+
+			if (!mm) {
+				assert(weightstr_len + n < WEIGHTSTR_LEN);
+				memcpy(weightstr_buffer + weightstr_len, ws_buf, n*sizeof(ws_buf[0]));
+				mm = weightstr_buffer + weightstr_len;
+				weightstr_len += n;
+			}
+			r = (((uint16_t *)(mm)) - weightstr_buffer)
+				+ base_locale_array[base_locale_len].max_col_index + 2;
+			assert(r < (1 << 14));
+			rbuf[i] = r | rule2val[(int)(w->rule[i])];
+		} else {				/* item */
+			r = final_index_val_x(w->colitem[i], wi->symbol);
+			rbuf[i] = r | rule2val[(int)(w->rule[i])];
+		}
+	}
+
+	for (i=0 ; i < ruletable_len ; i += MAX_COLLATION_WEIGHTS) {
+		if (!memcmp(ruletable_buffer + i, rbuf, MAX_COLLATION_WEIGHTS*sizeof(ruletable_buffer[0]))) {
+			return i/MAX_COLLATION_WEIGHTS;
+		}
+	}
+
+	memcpy(ruletable_buffer + ruletable_len, rbuf, MAX_COLLATION_WEIGHTS*sizeof(ruletable_buffer[0]));
+	ruletable_len += MAX_COLLATION_WEIGHTS;
+
+	return  (ruletable_len / MAX_COLLATION_WEIGHTS)-1;
+}
+
+static unsigned int add_range_rule(range_item_t *ri)
+{
+	weight_t *w = ri->weight;
+	int i, j, r, n;
+	uint16_t rbuf[MAX_COLLATION_WEIGHTS];
+	uint16_t ws_buf[32];
+	void *mm;
+	char buf[32];
+	const char *s;
+	const char *e;
+
+	for (i=0 ; i < MAX_COLLATION_WEIGHTS ; i++) {
+		rbuf[i] = rule2val[R_FORWARD]; /* set a default to forward-ignore */
+	}
+
+	if (base_locale_array[base_locale_len].num_weights < w->num_weights) {
+		base_locale_array[base_locale_len].num_weights = w->num_weights;
+	}
+
+	for (i=0 ; i < w->num_weights ; i++) {
+		assert(rule2val[(int)(w->rule[i])] >= 0);
+		assert(w->colitem[i] && *w->colitem[i]);
+		if (*w->colitem[i] == '"') { /* string... */
+			s = w->colitem[i] + 1;
+			assert(*s == '<');
+			n = 0;
+			do {
+				e = s;
+				do {
+					if (*e == '/') {
+						e += 2;
+						continue;
+					}
+				} while (*e++ != '>');
+				assert(((size_t)(e-s) < sizeof(buf)));
+				memcpy(buf, s, (size_t)(e-s));
+				buf[(size_t)(e-s)] = 0;
+
+				r = final_index_val_x(buf, "RANGE");
+				assert(n + 1 < sizeof(ws_buf)/sizeof(ws_buf[0]));
+				ws_buf[n++] = r | rule2val[(int)(w->rule[i])];
+
+				s = e;
+			} while (*s != '"');
+			ws_buf[n++] = 0;	/* terminator */
+
+			mm = memmem(weightstr_buffer, weightstr_len*sizeof(weightstr_buffer[0]),
+						ws_buf, n*sizeof(ws_buf[0]));
+
+			if (!mm) {
+				assert(weightstr_len + n < WEIGHTSTR_LEN);
+				memcpy(weightstr_buffer + weightstr_len, ws_buf, n*sizeof(ws_buf[0]));
+				mm = weightstr_buffer + weightstr_len;
+				weightstr_len += n;
+			}
+			r = (((uint16_t *)(mm)) - weightstr_buffer)
+				+ base_locale_array[base_locale_len].max_col_index + 2;
+			assert(r < (1 << 14));
+			rbuf[i] = r | rule2val[(int)(w->rule[i])];
+		} else {				/* item */
+			r = final_index_val_x(w->colitem[i], "RANGE");
+			rbuf[i] = r | rule2val[(int)(w->rule[i])];
+		}
+	}
+
+	for (i=0 ; i < ruletable_len ; i += MAX_COLLATION_WEIGHTS) {
+		if (!memcmp(ruletable_buffer + i, rbuf, MAX_COLLATION_WEIGHTS*sizeof(ruletable_buffer[0]))) {
+			return i/MAX_COLLATION_WEIGHTS;
+		}
+	}
+
+	memcpy(ruletable_buffer + ruletable_len, rbuf, MAX_COLLATION_WEIGHTS*sizeof(ruletable_buffer[0]));
+	ruletable_len += MAX_COLLATION_WEIGHTS;
+
+	return  (ruletable_len / MAX_COLLATION_WEIGHTS)-1;
+}
+
+#define DUMPn(X) fprintf(stderr, "%10d-%-.20s", base_locale_array[n]. X, #X);
+
+static void dump_base_locale(int n)
+{
+	assert(n < base_locale_len);
+
+	fprintf(stderr, "Base Locale: %s\n", base_locale_array[n].name);
+
+	DUMPn(num_weights);
+
+	DUMPn(ii_shift);
+	DUMPn(ti_shift);
+	DUMPn(ii_len);
+	DUMPn(ti_len);
+	DUMPn(max_weight);
+	fprintf(stderr, "\n");
+	DUMPn(num_col_base);
+	DUMPn(max_col_index);
+	DUMPn(undefined_idx);
+	DUMPn(range_low);
+	DUMPn(range_count);
+	fprintf(stderr, "\n");
+	DUMPn(range_base_weight);
+	DUMPn(num_starters);
+
+	fprintf(stderr, "\n");
+	DUMPn(range_rule_offset);
+	DUMPn(wcs2colidt_offset);
+	DUMPn(index2weight_offset);
+	fprintf(stderr, "\n");
+	DUMPn(index2ruleidx_offset);
+	DUMPn(multistart_offset);
+	fprintf(stderr, "\n");
+}
+
+#undef DUMPn
+#define DUMPn(X) fprintf(stderr, "%10d-%s", der_locale_array[n]. X, #X);
+
+static void dump_der_locale(int n)
+{
+	assert(n < der_locale_len);
+
+	fprintf(stderr, "Derived Locale: %s (%.12s)",
+			der_locale_array[n].name,
+			base_locale_array[der_locale_array[n].base_idx].name);
+
+
+	DUMPn(base_idx);
+
+	DUMPn(undefined_idx);
+
+	DUMPn(overrides_offset);
+	DUMPn(multistart_offset);
+
+	fprintf(stderr, "\n");
+}
+
+
+static unsigned long collate_pos;
+
+static void dump_u16_array(FILE *fp, uint16_t *u, int len, const char *name)
+{
+	int i;
+
+	fprintf(fp, "\t/* %8lu %s */\n", collate_pos, name);
+	for (i=0 ; i < len ; i++) {
+		if (!(i & 7)) {
+			fprintf(fp, "\n\t");
+		}
+		fprintf(fp,"  %#06x,", (unsigned int)(u[i]));
+	}
+	fprintf(fp,"\n");
+	collate_pos += len;
+}
+
+#define OUT_U16C(X,N) fprintf(fp,"\t%10d, /* %8lu %s */\n", X, collate_pos++, N);
+
+static void dump_collate(FILE *fp)
+{
+	int n;
+
+	fprintf(fp, "const uint16_t __locale_collate_tbl[] = {\n");
+
+	OUT_U16C(base_locale_len, "numbef of base locales");
+	OUT_U16C(der_locale_len, "number of derived locales");
+	OUT_U16C(MAX_COLLATION_WEIGHTS, "max collation weights");
+	OUT_U16C(index2weight_len, "number of index2{weight|ruleidx} elements");
+	OUT_U16C(weightstr_len, "number of weightstr elements");
+	OUT_U16C(multistart_len, "number of multistart elements");
+	OUT_U16C(override_len, "number of override elements");
+	OUT_U16C(ruletable_len, "number of ruletable elements");
+
+#undef DUMPn
+#define DUMPn(X) fprintf(fp, "\t%10d, /* %8lu %s */\n", base_locale_array[n]. X, collate_pos++, #X);
+	for (n=0 ; n < base_locale_len ; n++) {
+		unsigned wcs2colidt_offset_low = base_locale_array[n].wcs2colidt_offset & 0xffffU;
+		unsigned wcs2colidt_offset_hi = base_locale_array[n].wcs2colidt_offset >> 16;
+		fprintf(fp, "\t/* Base Locale %2d: %s */\n", n, base_locale_array[n].name);
+		DUMPn(num_weights);
+		DUMPn(num_starters);
+		DUMPn(ii_shift);
+		DUMPn(ti_shift);
+		DUMPn(ii_len);
+		DUMPn(ti_len);
+		DUMPn(max_weight);
+		DUMPn(num_col_base);
+		DUMPn(max_col_index);
+		DUMPn(undefined_idx);
+		DUMPn(range_low);
+		DUMPn(range_count);
+		DUMPn(range_base_weight);
+		DUMPn(range_rule_offset);
+		DUMPn(index2weight_offset);
+		DUMPn(index2ruleidx_offset);
+		DUMPn(multistart_offset);
+#undef DUMPn
+#define DUMPn(X) fprintf(fp, "\t%10d, /* %8lu %s */\n", X, collate_pos++, #X);
+		DUMPn(wcs2colidt_offset_low);
+		DUMPn(wcs2colidt_offset_hi);
+	}
+#undef DUMPn
+
+
+	fprintf(fp, "#define COL_IDX_C     %5d\n", 0);
+#define DUMPn(X) fprintf(fp, "\t%10d, /* %8lu %s */\n", der_locale_array[n]. X, collate_pos++, #X);
+	for (n=0 ; n < der_locale_len ; n++) {
+		fprintf(fp, "#define COL_IDX_%s %5d\n", der_locale_array[n].name, n+1);
+		fprintf(fp, "\t/* Derived Locale %4d: %s (%.12s) */\n",
+				n, der_locale_array[n].name,
+				base_locale_array[der_locale_array[n].base_idx].name);
+		DUMPn(base_idx);
+		DUMPn(undefined_idx);
+		DUMPn(overrides_offset);
+		DUMPn(multistart_offset);
+	}
+#undef DUMPn
+
+	fprintf(fp, "\n");
+
+	dump_u16_array(fp, index2weight_buffer, index2weight_len, "index2weight");
+	dump_u16_array(fp, index2ruleidx_buffer, index2ruleidx_len, "index2ruleidx");
+	dump_u16_array(fp, multistart_buffer, multistart_len, "multistart");
+	dump_u16_array(fp, override_buffer, override_len, "override");
+	dump_u16_array(fp, ruletable_buffer, ruletable_len, "ruletable");
+	dump_u16_array(fp, weightstr_buffer, weightstr_len, "weightstr");
+	dump_u16_array(fp, wcs2colidt_buffer, wcs2colidt_len, "wcs2colidt");
+
+
+	fprintf(fp,"}; /* %8lu */\n", collate_pos);
+
+	fprintf(fp,"#define __lc_collate_data_LEN  %lu\n\n", collate_pos);
+}
diff --git a/ap/build/uClibc/extra/locale/gen_ldc.c b/ap/build/uClibc/extra/locale/gen_ldc.c
new file mode 100644
index 0000000..2cedbdd
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/gen_ldc.c
@@ -0,0 +1,298 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#ifndef __WCHAR_ENABLED
+#warning WHOA!!! __WCHAR_ENABLED is not defined! defining it now...
+#define __WCHAR_ENABLED
+#endif
+
+#define WANT_DATA
+#include "c8tables.h"
+#ifndef __CTYPE_HAS_8_BIT_LOCALES
+#warning __CTYPE_HAS_8_BIT_LOCALES is not defined...
+/* #define __CTYPE_HAS_8_BIT_LOCALES */
+#endif
+
+/*  #define __LOCALE_DATA_Cctype_TBL_LEN 328 */
+/*  #define __LOCALE_DATA_Cuplow_TBL_LEN 400 */
+/*  #define __LOCALE_DATA_Cc2wc_TBL_LEN 1448 */
+/*  #define __LOCALE_DATA_Cwc2c_TBL_LEN 3744 */
+
+#define WANT_WCctype_data
+#define WANT_WCuplow_data
+#define WANT_WCuplow_diff_data
+/* #define WANT_WCcomb_data */
+/*  #define WANT_WCwidth_data */
+#include "wctables.h"
+#undef WANT_WCctype_data
+#undef WANT_WCuplow_data
+#undef WANT_WCuplow_diff_data
+/* #undef WANT_WCcomb_data */
+/*  #undef WANT_WCwidth_data */
+
+ #define __LOCALE_DATA_WCctype_TBL_LEN		(__LOCALE_DATA_WCctype_II_LEN + __LOCALE_DATA_WCctype_TI_LEN + __LOCALE_DATA_WCctype_UT_LEN)
+ #define __LOCALE_DATA_WCuplow_TBL_LEN		(__LOCALE_DATA_WCuplow_II_LEN + __LOCALE_DATA_WCuplow_TI_LEN + __LOCALE_DATA_WCuplow_UT_LEN)
+ #define __LOCALE_DATA_WCuplow_diff_TBL_LEN (2 * __LOCALE_DATA_WCuplow_diffs)
+/*  #define WCcomb_TBL_LEN		(WCcomb_II_LEN + WCcomb_TI_LEN + WCcomb_UT_LEN) */
+
+#include "locale_collate.h"
+#include "locale_tables.h"
+
+#include "locale_mmap.h"
+
+/*  #undef __PASTE2 */
+/*  #define __PASTE2(A,B)		A ## B */
+/*  #undef __PASTE3 */
+/*  #define __PASTE3(A,B,C)		A ## B ## C */
+
+
+/*  #define __LOCALE_DATA_MAGIC_SIZE 64 */
+
+/*  #define COMMON_MMAP(X) \ */
+/*  	unsigned char	__PASTE3(lc_,X,_data)[__PASTE3(__lc_,X,_data_LEN)]; */
+
+/*  #define COMMON_MMIDX(X) \ */
+/*  	unsigned char	__PASTE3(lc_,X,_rows)[__PASTE3(__lc_,X,_rows_LEN)]; \ */
+/*  	uint16_t		__PASTE3(lc_,X,_item_offsets)[__PASTE3(__lc_,X,_item_offsets_LEN)]; \ */
+/*  	uint16_t		__PASTE3(lc_,X,_item_idx)[__PASTE3(__lc_,X,_item_idx_LEN)]; \ */
+
+/* ---------------------------------------------------------------------- */
+
+#define COMMON_OFFSETS(X) \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_rows)), \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_item_offsets)), \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_item_idx)), \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_data)) \
+
+
+static const size_t common_tbl_offsets[__LOCALE_DATA_CATEGORIES*4] = {
+	COMMON_OFFSETS(ctype),
+	COMMON_OFFSETS(numeric),
+	COMMON_OFFSETS(monetary),
+	COMMON_OFFSETS(time),
+	0, 0, 0, 0,					/* collate */
+	COMMON_OFFSETS(messages),
+};
+
+
+void out_uc(FILE *f, const unsigned char *p, size_t n, char *comment)
+{
+	size_t i;
+
+	fprintf(f, "{\t/* %s */", comment);
+	for (i = 0 ; i < n ; i++) {
+		if (!(i & 7)) {
+			fprintf(f, "\n\t");
+		}
+		if (p[i]) {
+			fprintf(f, "%#04x, ", p[i]);
+		} else {
+			fprintf(f, "%#4x, ", p[i]);
+		}
+	}
+	fprintf(f, "\n},\n");
+}
+
+void out_u16(FILE *f, const uint16_t *p, size_t n, char *comment)
+{
+	size_t i;
+
+	fprintf(f, "{\t/* %s */", comment);
+	for (i = 0 ; i < n ; i++) {
+		if (!(i & 7)) {
+			fprintf(f, "\n\t");
+		}
+		if (p[i]) {
+			fprintf(f, "%#06x, ", p[i]);
+		} else {
+			fprintf(f, "%#6x, ", p[i]);
+		}
+	}
+	fprintf(f, "\n},\n");
+}
+
+void out_i16(FILE *f, const int16_t *p, size_t n, char *comment)
+{
+	size_t i;
+
+	fprintf(f, "{\t/* %s */", comment);
+	for (i = 0 ; i < n ; i++) {
+		if (!(i & 7)) {
+			fprintf(f, "\n\t");
+		}
+		fprintf(f, "%6d, ", p[i]);
+	}
+	fprintf(f, "\n},\n");
+}
+
+void out_size_t(FILE *f, const size_t *p, size_t n, char *comment)
+{
+	size_t i;
+
+	fprintf(f, "{\t/* %s */", comment);
+	for (i = 0 ; i < n ; i++) {
+		if (!(i & 3)) {
+			fprintf(f, "\n\t");
+		}
+		if (p[i]) {
+			fprintf(f, "%#010zx, ", p[i]);
+		} else {
+			fprintf(f, "%#10zx, ", p[i]);
+		}
+	}
+	fprintf(f, "\n},\n");
+}
+
+
+int main(int argc, char **argv)
+{
+	char *output_file = "locale_data.c";
+	FILE *lso;					/* static object */
+	int i;
+#ifdef __LOCALE_DATA_MAGIC_SIZE
+	unsigned char magic[__LOCALE_DATA_MAGIC_SIZE];
+
+	memset(magic, 0, __LOCALE_DATA_MAGIC_SIZE);
+#endif /* __LOCALE_DATA_MAGIC_SIZE */
+
+	if (argc == 2)
+		output_file = argv[1];
+	if (!(lso = fopen(output_file, "w"))) {
+		printf("cannot open output file '%s'!\n", output_file);
+		return EXIT_FAILURE;
+	}
+
+	fprintf(lso,
+			"#include <stddef.h>\n"
+			"#include <stdint.h>\n"
+/* 			"#define __CTYPE_HAS_8_BIT_LOCALES\n" */
+			"#ifndef __WCHAR_ENABLED\n"
+			"#error __WCHAR_ENABLED not defined\n"
+			"#endif\n"
+			"#include \"c8tables.h\"\n"
+			"#include \"wctables.h\"\n"
+			"#include \"lt_defines.h\"\n"
+			"#include \"locale_mmap.h\"\n\n"
+			"static const __locale_mmap_t locale_mmap = {\n\n"
+			);
+#ifdef __LOCALE_DATA_MAGIC_SIZE
+	out_uc(lso, magic, __LOCALE_DATA_MAGIC_SIZE, "magic");
+#endif /* __LOCALE_DATA_MAGIC_SIZE */
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	out_uc(lso, __LOCALE_DATA_Cctype_data, __LOCALE_DATA_Cctype_TBL_LEN, "tbl8ctype");
+	out_uc(lso, __LOCALE_DATA_Cuplow_data, __LOCALE_DATA_Cuplow_TBL_LEN, "tbl8uplow");
+#ifdef __WCHAR_ENABLED
+	out_u16(lso, __LOCALE_DATA_Cc2wc_data, __LOCALE_DATA_Cc2wc_TBL_LEN, "tbl8c2wc");
+	out_uc(lso, __LOCALE_DATA_Cwc2c_data, __LOCALE_DATA_Cwc2c_TBL_LEN, "tbl8wc2c");
+	/* translit  */
+#endif /* __WCHAR_ENABLED */
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+#ifdef __WCHAR_ENABLED
+	out_uc(lso, __LOCALE_DATA_WCctype_data, __LOCALE_DATA_WCctype_TBL_LEN, "tblwctype");
+	out_uc(lso, __LOCALE_DATA_WCuplow_data, __LOCALE_DATA_WCuplow_TBL_LEN, "tblwuplow");
+	out_i16(lso, __LOCALE_DATA_WCuplow_diff_data, __LOCALE_DATA_WCuplow_diff_TBL_LEN, "tblwuplow_diff");
+/* 	const unsigned char tblwcomb[WCcomb_TBL_LEN]; */
+	/* width?? */
+#endif /* __WCHAR_ENABLED */
+	out_uc(lso, __lc_ctype_data, __lc_ctype_data_LEN, "lc_ctype_data");
+	out_uc(lso, __lc_numeric_data, __lc_numeric_data_LEN, "lc_numeric_data");
+	out_uc(lso, __lc_monetary_data, __lc_monetary_data_LEN, "lc_monetary_data");
+	out_uc(lso, __lc_time_data, __lc_time_data_LEN, "lc_time_data");
+	/* TODO -- collate*/
+	out_uc(lso, __lc_messages_data, __lc_messages_data_LEN, "lc_messages_data");
+
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	fprintf(lso, "{ /* codeset_8_bit array */\n");
+	for (i = 0 ; i < __LOCALE_DATA_NUM_CODESETS ; i++) {
+		fprintf(lso, "{ /* codeset_8_bit[%d] */\n", i);
+		out_uc(lso, codeset_8_bit[i].idx8ctype, __LOCALE_DATA_Cctype_IDX_LEN, "idx8ctype");
+		out_uc(lso, codeset_8_bit[i].idx8uplow, __LOCALE_DATA_Cuplow_IDX_LEN, "idx8uplow");
+		out_uc(lso, codeset_8_bit[i].idx8c2wc, __LOCALE_DATA_Cc2wc_IDX_LEN, "idx8c2wc");
+		out_uc(lso, codeset_8_bit[i].idx8wc2c, __LOCALE_DATA_Cwc2c_II_LEN, "idx8wc2c");
+		fprintf(lso, "},\n");
+	}
+	fprintf(lso, "},\n");
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+
+	out_uc(lso, __lc_ctype_rows, __lc_ctype_rows_LEN, "lc_ctype_rows");
+	out_u16(lso, __lc_ctype_item_offsets, __lc_ctype_item_offsets_LEN, "lc_ctype_item_offsets");
+	out_u16(lso, __lc_ctype_item_idx, __lc_ctype_item_idx_LEN, "lc_ctype_item_idx");
+
+	out_uc(lso, __lc_numeric_rows, __lc_numeric_rows_LEN, "lc_numeric_rows");
+	out_u16(lso, __lc_numeric_item_offsets, __lc_numeric_item_offsets_LEN, "lc_numeric_item_offsets");
+	out_u16(lso, __lc_numeric_item_idx, __lc_numeric_item_idx_LEN, "lc_numeric_item_idx");
+
+	out_uc(lso, __lc_monetary_rows, __lc_monetary_rows_LEN, "lc_monetary_rows");
+	out_u16(lso, __lc_monetary_item_offsets, __lc_monetary_item_offsets_LEN, "lc_monetary_item_offsets");
+	out_u16(lso, __lc_monetary_item_idx, __lc_monetary_item_idx_LEN, "lc_monetary_item_idx");
+
+	out_uc(lso, __lc_time_rows, __lc_time_rows_LEN, "lc_time_rows");
+	out_u16(lso, __lc_time_item_offsets, __lc_time_item_offsets_LEN, "lc_time_item_offsets");
+	out_u16(lso, __lc_time_item_idx, __lc_time_item_idx_LEN, "lc_time_item_idx");
+
+	out_uc(lso, __lc_messages_rows, __lc_messages_rows_LEN, "lc_messages_rows");
+	out_u16(lso, __lc_messages_item_offsets, __lc_messages_item_offsets_LEN, "lc_messages_item_offsets");
+	out_u16(lso, __lc_messages_item_idx, __lc_messages_item_idx_LEN, "lc_messages_item_idx");
+
+	/* collate should be last*/
+	assert(sizeof(__locale_collate_tbl)/sizeof(__locale_collate_tbl[0]) == __lc_collate_data_LEN) ;
+	out_u16(lso, __locale_collate_tbl, __lc_collate_data_LEN, "collate_data");
+
+
+	{
+		unsigned char co_buf[__LOCALE_DATA_CATEGORIES] = {
+			__lc_ctype_item_offsets_LEN,
+			__lc_numeric_item_offsets_LEN,
+			__lc_monetary_item_offsets_LEN,
+			__lc_time_item_offsets_LEN,
+			0,
+			__lc_messages_item_offsets_LEN
+		};
+		out_uc(lso, co_buf, __LOCALE_DATA_CATEGORIES, "lc_common_item_offsets_LEN");
+	}
+
+	out_size_t(lso, common_tbl_offsets, __LOCALE_DATA_CATEGORIES * 4, "lc_common_tbl_offsets");
+	/* offsets from start of locale_mmap_t */
+	/* rows, item_offsets, item_idx, data */
+
+#ifdef __LOCALE_DATA_NUM_LOCALES
+	out_uc(lso, __locales, __LOCALE_DATA_NUM_LOCALES * __LOCALE_DATA_WIDTH_LOCALES, "locales");
+	out_uc(lso, __locale_names5, 5 * __LOCALE_DATA_NUM_LOCALE_NAMES, "locale_names5");
+#ifdef __LOCALE_DATA_AT_MODIFIERS_LENGTH
+	out_uc(lso, __locale_at_modifiers, __LOCALE_DATA_AT_MODIFIERS_LENGTH, "locale_at_modifiers");
+#else
+#error __LOCALE_DATA_AT_MODIFIERS_LENGTH not defined!
+#endif /* __LOCALE_DATA_AT_MODIFIERS_LENGTH */
+#endif /* __LOCALE_DATA_NUM_LOCALES */
+
+	out_uc(lso, lc_names, __lc_names_LEN, "lc_names");
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	out_uc(lso, (const unsigned char*) __LOCALE_DATA_CODESET_LIST, sizeof(__LOCALE_DATA_CODESET_LIST), "codeset_list");
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+
+	fprintf(lso,
+			"\n};\n\n"
+			"const __locale_mmap_t *__locale_mmap = &locale_mmap;\n\n"
+			);
+
+	if (ferror(lso) || fclose(lso)) {
+		printf("error writing!\n");
+		return EXIT_FAILURE;
+	}
+
+	return EXIT_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------- */
+
+/* TODO:
+ * collate data (8-bit weighted single char only)
+ * @ mappings!
+ * codeset list? yes, since we'll want to be able to inspect them...
+ * that means putting some header stuff in magic
+ * fix ctype LEN defines in gen_c8tables
+ */
diff --git a/ap/build/uClibc/extra/locale/gen_locale.c b/ap/build/uClibc/extra/locale/gen_locale.c
new file mode 100644
index 0000000..5e89360
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/gen_locale.c
@@ -0,0 +1,1337 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <limits.h>
+#include <assert.h>
+#include <stdarg.h>
+#include <locale.h>
+#include <langinfo.h>
+#include <nl_types.h>
+#include <stdint.h>
+
+#include "c8tables.h"
+
+
+#define __LOCALE_DATA_CATEGORIES 6
+
+/* must agree with ordering of gen_mmap! */
+static const char *lc_names[] = {
+	"LC_CTYPE",
+	"LC_NUMERIC",
+	"LC_MONETARY",
+	"LC_TIME",
+	"LC_COLLATE",
+	"LC_MESSAGES",
+#if __LOCALE_DATA_CATEGORIES == 12
+	"LC_PAPER",
+	"LC_NAME",
+	"LC_ADDRESS",
+	"LC_TELEPHONE",
+	"LC_MEASUREMENT",
+	"LC_IDENTIFICATION",
+#elif __LOCALE_DATA_CATEGORIES != 6
+#error unsupported __LOCALE_DATA_CATEGORIES value!
+#endif
+};
+
+
+
+typedef struct {
+	char *glibc_name;
+	char name[5];
+	char dot_cs;				/* 0 if no codeset specified */
+	char cs;
+	unsigned char idx_name;
+	unsigned char lc_time_row;
+	unsigned char lc_numeric_row;
+	unsigned char lc_monetary_row;
+	unsigned char lc_messages_row;
+	unsigned char lc_ctype_row;
+#if __LOCALE_DATA_CATEGORIES != 6
+#error unsupported __LOCALE_DATA_CATEGORIES value
+#endif
+} locale_entry;
+
+static void read_at_mappings(void);
+static void read_enable_disable(void);
+static void read_locale_list(void);
+
+static int find_codeset_num(const char *cs);
+static int find_at_string_num(const char *as);
+static int le_cmp(const void *, const void *);
+static void dump_table8(const char *name, const char *tbl, int len);
+static void dump_table8c(const char *name, const char *tbl, int len);
+static void dump_table16(const char *name, const int *tbl, int len);
+
+static void do_lc_time(void);
+static void do_lc_numeric(void);
+static void do_lc_monetary(void);
+
+static void do_lc_messages(void);
+static void do_lc_ctype(void);
+
+
+static FILE *fp;
+static FILE *ofp;
+static char line_buf[80];
+static char at_mappings[256];
+static char at_mapto[256];
+static char at_strings[1024];
+static char *at_strings_end;
+static locale_entry locales[700];
+static char glibc_locale_names[60000];
+
+static int num_locales;
+
+static int default_utf8;
+static int default_8bit;
+
+static int total_size;
+static int null_count;
+
+static unsigned verbose = 0;
+enum {
+	VINFO = (1<<0),
+	VDETAIL = (1<<1),
+};
+static int verbose_msg(const unsigned lvl, const char *fmt, ...)
+{
+	va_list arg;
+	int ret = 0;
+
+	if (verbose & lvl) {
+		va_start(arg, fmt);
+		ret = vfprintf(stderr, fmt, arg);
+		va_end(arg);
+	}
+	return ret;
+}
+
+static void error_msg(const char *fmt, ...)  __attribute__ ((noreturn, format (printf, 1, 2)));
+static void error_msg(const char *fmt, ...)
+{
+	va_list arg;
+
+	fprintf(stderr, "Error: ");
+/*	if (fno >= 0) {
+	    fprintf(stderr, "file %s (%d): ", fname[fno], lineno[fno]);
+	} */
+	va_start(arg, fmt);
+	vfprintf(stderr, fmt, arg);
+	va_end(arg);
+	fprintf(stderr, "\n");
+
+	exit(EXIT_FAILURE);
+}
+
+static void do_locale_names(void)
+{
+	/* "C" locale name is handled specially by the setlocale code. */
+	int uniq = 0;
+	int i;
+
+	if (num_locales <= 1) {
+/*		error_msg("only C locale?"); */
+		fprintf(ofp, "static const unsigned char __locales[%d];\n", (3 + __LOCALE_DATA_CATEGORIES));
+		fprintf(ofp, "static const unsigned char __locale_names5[5];\n");
+	} else {
+		if (default_utf8) {
+			fprintf(ofp, "#define __CTYPE_HAS_UTF_8_LOCALES\t\t\t1\n");
+		}
+		fprintf(ofp, "#define __LOCALE_DATA_CATEGORIES\t\t\t%d\n", __LOCALE_DATA_CATEGORIES);
+		fprintf(ofp, "#define __LOCALE_DATA_WIDTH_LOCALES\t\t\t%d\n", 3+__LOCALE_DATA_CATEGORIES);
+		fprintf(ofp, "#define __LOCALE_DATA_NUM_LOCALES\t\t\t%d\n", num_locales);
+		fprintf(ofp, "static const unsigned char __locales[%d] = {\n",
+				(num_locales) * (3 + __LOCALE_DATA_CATEGORIES));
+		for (i=0 ; i < num_locales ; i++) {
+			if (memcmp(locales[i].name, locales[i-1].name, 5) != 0) {
+				locales[i].idx_name = uniq;
+				++uniq;
+			} else {
+				locales[i].idx_name = uniq - 1;
+			}
+			fprintf(ofp, "\t%#4x, ", (int)((unsigned char) locales[i].idx_name));
+			fprintf(ofp, "\t%#4x, ", (int)((unsigned char) locales[i].dot_cs));
+			fprintf(ofp, "\t%#4x, ", (int)((unsigned char) locales[i].cs));
+			/* lc_ctype would store translit flags and turkish up/low flag. */
+			fprintf(ofp, "%#4x, ", (int)((unsigned char) locales[i].lc_ctype_row));
+			fprintf(ofp, "%#4x, ", (int)((unsigned char) locales[i].lc_numeric_row));
+			fprintf(ofp, "%#4x, ", (int)((unsigned char) locales[i].lc_monetary_row));
+			fprintf(ofp, "%#4x, ", (int)((unsigned char) locales[i].lc_time_row));
+#if 1
+			/* lc_collate */
+			if (strlen(locales[i].glibc_name) >= 5) {
+			    fprintf(ofp, "COL_IDX_%.2s_%.2s, ", locales[i].glibc_name, locales[i].glibc_name+3);
+			} else if (!strcmp(locales[i].glibc_name, "C")) {
+			    fprintf(ofp, "COL_IDX_C    , ");
+			} else {
+			    error_msg("don't know how to handle COL_IDX_ for %s", locales[i].glibc_name);
+			}
+#else
+			fprintf(ofp, "%#4x, ", 0); /* place holder for lc_collate */
+#endif
+			fprintf(ofp, "%#4x, ", (int)((unsigned char) locales[i].lc_messages_row));
+			fprintf(ofp, "\t/* %s */\n", locales[i].glibc_name);
+		}
+		fprintf(ofp, "};\n\n");
+
+		fprintf(ofp, "#define __LOCALE_DATA_NUM_LOCALE_NAMES\t\t%d\n", uniq );
+		fprintf(ofp, "static const unsigned char __locale_names5[%d] = \n\t", uniq * 5);
+		uniq = 0;
+		for (i=1 ; i < num_locales ; i++) {
+			if (memcmp(locales[i].name, locales[i-1].name, 5) != 0) {
+				fprintf(ofp, "\"%5.5s\" ", locales[i].name);
+				++uniq;
+				if ((uniq % 8) == 0) {
+					fprintf(ofp, "\n\t");
+				}
+			}
+		}
+		fprintf(ofp,";\n\n");
+
+		if (at_strings_end > at_strings) {
+			int i, j;
+			char *p;
+			i = 0;
+			p = at_strings;
+			while (*p) {
+				++i;
+				p += 1 + (unsigned char) *p;
+			}
+			/* len, char, string\0 */
+			fprintf(ofp, "#define __LOCALE_DATA_AT_MODIFIERS_LENGTH\t\t%d\n",
+					i + (at_strings_end - at_strings));
+			fprintf(ofp, "static const unsigned char __locale_at_modifiers[%d] = {",
+					i + (at_strings_end - at_strings));
+			i = 0;
+			p = at_strings;
+			while (*p) {
+				fprintf(ofp, "\n\t%4d, '%c',",
+						(unsigned char) *p, /* len of string\0 */
+						at_mapto[i]);
+				for (j=1 ; j < ((unsigned char) *p) ; j++) {
+					fprintf(ofp, " '%c',", p[j]);
+				}
+				fprintf(ofp, " 0,");
+				++i;
+				p += 1 + (unsigned char) *p;
+			}
+			fprintf(ofp, "\n};\n\n");
+		}
+
+		{
+			int pos[__LOCALE_DATA_CATEGORIES];
+			pos[0] = __LOCALE_DATA_CATEGORIES;
+			for (i=0 ; i < __LOCALE_DATA_CATEGORIES ; i++) {
+				fprintf(ofp, "#define __%s\t\t%d\n", lc_names[i], i);
+				if (i + 1 < __LOCALE_DATA_CATEGORIES) {
+					pos[i+1] = 1 + strlen(lc_names[i]) + pos[i];
+				}
+			}
+			if (pos[__LOCALE_DATA_CATEGORIES-1] > 255) {
+				error_msg("lc_names is too big (%d)", pos[__LOCALE_DATA_CATEGORIES-1]);
+			}
+			fprintf(ofp, "#define __LC_ALL\t\t%d\n\n", i);
+
+			fprintf(ofp, "#define __lc_names_LEN\t\t%d\n",
+					pos[__LOCALE_DATA_CATEGORIES-1] + strlen(lc_names[__LOCALE_DATA_CATEGORIES-1]) + 1);
+			total_size += pos[__LOCALE_DATA_CATEGORIES-1] + strlen(lc_names[__LOCALE_DATA_CATEGORIES-1]) + 1;
+
+			fprintf(ofp, "static unsigned const char lc_names[%d] =\n",
+					pos[__LOCALE_DATA_CATEGORIES-1] + strlen(lc_names[__LOCALE_DATA_CATEGORIES-1]) + 1);
+			fprintf(ofp, "\t\"");
+			for (i=0 ; i < __LOCALE_DATA_CATEGORIES ; i++) {
+				fprintf(ofp, "\\x%02x", (unsigned char) pos[i]);
+			}
+			fprintf(ofp, "\"");
+			for (i=0 ; i < __LOCALE_DATA_CATEGORIES ; i++) {
+				fprintf(ofp, "\n\t\"%s\\0\"", lc_names[i]);
+			}
+			fprintf(ofp, ";\n\n");
+		}
+
+		verbose_msg(VDETAIL,"locale data = %d  name data = %d for %d uniq\n",
+			   num_locales * (3 + __LOCALE_DATA_CATEGORIES), uniq * 5, uniq);
+
+		total_size += num_locales * (3 + __LOCALE_DATA_CATEGORIES) + uniq * 5;
+	}
+
+}
+
+static void read_at_mappings(void)
+{
+	char *p;
+	char *m;
+	int mc = 0;
+
+	do {
+		if (!(p = strtok(line_buf, " \t\n")) || (*p == '#')) {
+			if (!fgets(line_buf, sizeof(line_buf), fp)) {
+				if (ferror(fp)) {
+					error_msg("reading file");
+				}
+				return;			/* EOF */
+			}
+			if ((*line_buf == '#') && (line_buf[1] == '-')) {
+				break;
+			}
+			continue;
+		}
+		if (*p == '@') {
+			if (p[1] == 0) {
+				error_msg("missing @modifier name");
+			}
+			m = p;				/* save the modifier name */
+			if (!(p = strtok(NULL, " \t\n")) || p[1] || (((unsigned char) *p) > 0x7f)) {
+				error_msg("missing or illegal @modifier mapping char");
+			}
+			if (at_mappings[(int)((unsigned char) *p)]) {
+				error_msg("reused @modifier mapping char");
+			}
+			at_mappings[(int)((unsigned char) *p)] = 1;
+			at_mapto[mc] = *p;
+			++mc;
+			*at_strings_end = (char)( (unsigned char) (strlen(m)) );
+			strcpy(++at_strings_end, m+1);
+			at_strings_end += (unsigned char) at_strings_end[-1];
+
+			verbose_msg(VDETAIL,"@mapping: \"%s\" to '%c'\n", m, *p);
+
+			if (((p = strtok(NULL, " \t\n")) != NULL) && (*p != '#')) {
+				fprintf(stderr,"ignoring trailing text: %s...\n", p);
+			}
+			*line_buf = 0;
+			continue;
+		}
+		break;
+	} while (1);
+
+#if 0
+	{
+		p = at_strings;
+
+		if (!*p) {
+			verbose_msg(VDETAIL,"no @ strings\n");
+			return;
+		}
+
+		do {
+			verbose_msg(VDETAIL,"%s\n", p+1);
+			p += 1 + (unsigned char) *p;
+		} while (*p);
+	}
+#endif
+}
+
+static void read_enable_disable(void)
+{
+	char *p;
+
+	do {
+		if (!(p = strtok(line_buf, " =\t\n")) || (*p == '#')) {
+			if (!fgets(line_buf, sizeof(line_buf), fp)) {
+				if (ferror(fp)) {
+					error_msg("reading file");
+				}
+				return;			/* EOF */
+			}
+			if ((*line_buf == '#') && (line_buf[1] == '-')) {
+				break;
+			}
+			continue;
+		}
+		if (!strcmp(p, "UTF-8")) {
+			if (!(p = strtok(NULL, " =\t\n"))
+				|| ((toupper(*p) != 'Y') && (toupper(*p) != 'N'))) {
+				error_msg("missing or illegal UTF-8 setting");
+			}
+			default_utf8 = (toupper(*p) == 'Y');
+			verbose_msg(VINFO,"UTF-8 locales are %sabled\n", "dis\0en"+ (default_utf8 << 2));
+		} else if (!strcmp(p, "8-BIT")) {
+			if (!(p = strtok(NULL, " =\t\n"))
+				|| ((toupper(*p) != 'Y') && (toupper(*p) != 'N'))) {
+				error_msg("missing or illegal 8-BIT setting");
+			}
+			default_8bit = (toupper(*p) == 'Y');
+			verbose_msg(VINFO,"8-BIT locales are %sabled\n", "dis\0en" + (default_8bit << 2));
+		} else {
+			break;
+		}
+
+		if (((p = strtok(NULL, " \t\n")) != NULL) && (*p != '#')) {
+			fprintf(stderr,"ignoring trailing text: %s...\n", p);
+		}
+		*line_buf = 0;
+		continue;
+
+	} while (1);
+}
+
+#ifdef __LOCALE_DATA_CODESET_LIST
+
+static int find_codeset_num(const char *cs)
+{
+	int r = 2;
+	char *s = __LOCALE_DATA_CODESET_LIST;
+
+	/* 7-bit is 1, UTF-8 is 2, 8-bits are > 2 */
+
+	if (strcmp(cs, "UTF-8") != 0) {
+		++r;
+		while (*s && strcmp(__LOCALE_DATA_CODESET_LIST+ ((unsigned char) *s), cs)) {
+/*  			verbose_msg(VDETAIL,"tried %s\n", __LOCALE_DATA_CODESET_LIST + ((unsigned char) *s)); */
+			++r;
+			++s;
+		}
+		if (!*s) {
+			error_msg("unsupported codeset %s", cs);
+		}
+	}
+	return r;
+}
+
+#else
+
+static int find_codeset_num(const char *cs)
+{
+	int r = 2;
+
+	/* 7-bit is 1, UTF-8 is 2, 8-bits are > 2 */
+
+	if (strcmp(cs, "UTF-8") != 0) {
+		error_msg("unsupported codeset %s", cs);
+	}
+	return r;
+}
+
+#endif
+
+static int find_at_string_num(const char *as)
+{
+	int i = 0;
+	char *p = at_strings;
+
+	while (*p) {
+		if (!strcmp(p+1, as)) {
+			return i;
+		}
+		++i;
+		p += 1 + (unsigned char) *p;
+	}
+
+	error_msg("error: unmapped @string %s", as);
+}
+
+static void read_locale_list(void)
+{
+	char *p;
+	char *s;
+	char *ln;					/* locale name */
+	char *ls;					/* locale name ll_CC */
+	char *as;					/* at string */
+	char *ds;					/* dot string */
+	char *cs;					/* codeset */
+	int i;
+
+	typedef struct {
+		char *glibc_name;
+		char name[5];
+		char dot_cs;				/* 0 if no codeset specified */
+		char cs;
+	} locale_entry;
+
+	/* First the C locale. */
+	locales[0].glibc_name = locales[0].name;
+	strncpy(locales[0].name,"C",5);
+	locales[0].dot_cs = 0;
+	locales[0].cs = 1;			/* 7-bit encoding */
+	++num_locales;
+
+	do {
+		if (!(p = strtok(line_buf, " \t\n")) || (*p == '#')) {
+			if (!fgets(line_buf, sizeof(line_buf), fp)) {
+				if (ferror(fp)) {
+					error_msg("reading file");
+				}
+				return;			/* EOF */
+			}
+			if ((*line_buf == '#') && (line_buf[1] == '-')) {
+				break;
+			}
+			continue;
+		}
+
+		s = glibc_locale_names;
+		for (i=0 ; i < num_locales ; i++) {
+			if (!strcmp(s+1, p)) {
+				break;
+			}
+			s += 1 + ((unsigned char) *s);
+		}
+		if (i < num_locales) {
+			fprintf(stderr,"ignoring duplicate locale name: %s", p);
+			*line_buf = 0;
+			continue;
+		}
+
+		/* New locale, but don't increment num until codeset verified! */
+		*s = (char)((unsigned char) (strlen(p) + 1));
+		strcpy(s+1, p);
+		locales[num_locales].glibc_name = s+1;
+		ln = p;					/* save locale name */
+
+		if (!(p = strtok(NULL, " \t\n"))) {
+			error_msg("missing codeset for locale %s", ln);
+		}
+		cs = p;
+		i = find_codeset_num(p);
+		if ((i == 2) && !default_utf8) {
+			fprintf(stderr,"ignoring UTF-8 locale %s\n", ln);
+			*line_buf = 0;
+			continue;
+		} else if ((i > 2) && !default_8bit) {
+			fprintf(stderr,"ignoring 8-bit codeset locale %s\n", ln);
+			*line_buf = 0;
+			continue;
+		}
+		locales[num_locales].cs = (char)((unsigned char) i);
+
+		if (((p = strtok(NULL, " \t\n")) != NULL) && (*p != '#')) {
+			verbose_msg(VINFO,"ignoring trailing text: %s...\n", p);
+		}
+
+		/* Now go back to locale string for .codeset and @modifier */
+		as = strtok(ln, "@");
+		if (as) {
+			as = strtok(NULL, "@");
+		}
+		ds = strtok(ln, ".");
+		if (ds) {
+			ds = strtok(NULL, ".");
+		}
+		ls = ln;
+
+		if ((strlen(ls) != 5) || (ls[2] != '_')) {
+			error_msg("illegal locale name %s", ls);
+		}
+
+		i = 0;					/* value for unspecified codeset */
+		if (ds) {
+			i = find_codeset_num(ds);
+			if ((i == 2) && !default_utf8) {
+				fprintf(stderr,"ignoring UTF-8 locale %s\n", ln);
+				*line_buf = 0;
+				continue;
+			} else if ((i > 2) && !default_8bit) {
+				fprintf(stderr,"ignoring 8-bit codeset locale %s\n", ln);
+				*line_buf = 0;
+				continue;
+			}
+		}
+		locales[num_locales].dot_cs = (char)((unsigned char) i);
+
+		if (as) {
+			i = find_at_string_num(as);
+			ls[2] = at_mapto[i];
+		}
+		memcpy(locales[num_locales].name, ls, 5);
+/*  		verbose_msg(VDETAIL,"locale: %5.5s %2d %2d %s\n", */
+/*  			   locales[num_locales].name, */
+/*  			   locales[num_locales].cs, */
+/*  			   locales[num_locales].dot_cs, */
+/*  			   locales[num_locales].glibc_name */
+/*  			   ); */
+		++num_locales;
+		*line_buf = 0;
+	} while (1);
+}
+
+static int le_cmp(const void *a, const void *b)
+{
+	const locale_entry *p;
+	const locale_entry *q;
+	int r;
+
+	p = (const locale_entry *) a;
+	q = (const locale_entry *) b;
+
+	if (!(r = p->name[0] - q->name[0])
+		&& !(r = p->name[1] - q->name[1])
+		&& !(r = p->name[3] - q->name[3])
+		&& !(r = p->name[4] - q->name[4])
+		&& !(r = p->name[2] - q->name[2])
+		&& !(r = -(p->cs - q->cs))
+		) {
+		r = -(p->dot_cs - q->dot_cs);
+		/* Reverse the ordering of the codesets so UTF-8 comes last.
+		 * Work-around (hopefully) for glibc bug affecting at least
+		 * the euro currency symbol. */
+	}
+
+	return r;
+}
+
+int main(int argc, char **argv)
+{
+	char *output_file = NULL;
+
+	while (--argc) {
+		++argv;
+		if (!strcmp(*argv, "-o")) {
+			--argc;
+			output_file = strdup(*++argv);
+		} else if (!strcmp(*argv, "-v")) {
+			verbose++;
+		} else if (!(fp = fopen(*argv, "r"))) {
+no_inputfile:
+				error_msg("missing filename or file!");
+		}
+	}
+	if (fp == NULL)
+		goto no_inputfile;
+	if (output_file == NULL)
+		output_file = strdup("locale_tables.h");
+
+	at_strings_end = at_strings;
+
+	read_at_mappings();
+	read_enable_disable();
+	read_locale_list();
+
+	fclose(fp);
+
+	/* handle C locale specially */
+	qsort(locales+1, num_locales-1, sizeof(locale_entry), le_cmp);
+
+#if 0
+	for (i=0 ; i < num_locales ; i++) {
+		verbose_msg(VDETAIL,"locale: %5.5s %2d %2d %s\n",
+			   locales[i].name,
+			   locales[i].cs,
+			   locales[i].dot_cs,
+			   locales[i].glibc_name
+			   );
+	}
+#endif
+	if (argc == 3)
+		output_file = *++argv;
+	if (output_file == NULL || !(ofp = fopen(output_file, "w"))) {
+		error_msg("cannot open output file '%s'!", output_file);
+	}
+
+	do_lc_time();
+	do_lc_numeric();
+	do_lc_monetary();
+	do_lc_messages();
+	do_lc_ctype();
+
+	do_locale_names();
+
+	fclose(ofp);
+
+	verbose_msg(VINFO, "total data size = %d\n", total_size);
+	verbose_msg(VDETAIL, "null count = %d\n", null_count);
+
+	return EXIT_SUCCESS;
+}
+
+static char *idx[10000];
+static char buf[100000];
+static char *last;
+static int uniq;
+
+static int addblock(const char *s, size_t n) /* l includes nul terminator */
+{
+	int j;
+
+	if (!s) {
+		++null_count;
+		return 0;
+	}
+
+	for (j=0 ; (j < uniq) && (idx[j] + n < last) ; j++) {
+		if (!memcmp(s, idx[j], n)) {
+			return idx[j] - buf;
+		}
+	}
+	if (uniq >= sizeof(idx)) {
+		error_msg("too many uniq strings!");
+	}
+	if (last + n >= buf + sizeof(buf)) {
+		error_msg("need to increase size of buf!");
+	}
+
+	idx[uniq] = last;
+	++uniq;
+	memcpy(last, s, n);
+	last += n;
+	return idx[uniq - 1] - buf;
+}
+
+static int addstring(const char *s)
+{
+	int j;
+	size_t l;
+
+	if (!s) {
+		++null_count;
+		return 0;
+	}
+
+	for (j=0 ; j < uniq ; j++) {
+		if (!strcmp(s, idx[j])) {
+			return idx[j] - buf;
+		}
+	}
+	if (uniq >= sizeof(idx)) {
+		error_msg("too many uniq strings!");
+	}
+	l = strlen(s) + 1;
+	if (last + l >= buf + sizeof(buf)) {
+		error_msg("need to increase size of buf!");
+	}
+
+	idx[uniq] = last;
+	++uniq;
+	strcpy(last, s);
+	last += l;
+	return idx[uniq - 1] - buf;
+}
+
+#define DO_LC_COMMON(CATEGORY) \
+	verbose_msg(VDETAIL, "buf-size=%d  uniq=%d  rows=%d\n", \
+		   (int)(last - buf), uniq, lc_##CATEGORY##_uniq); \
+	verbose_msg(VDETAIL, "total = %d + %d * %d + %d = %d\n", \
+		   num_locales, lc_##CATEGORY##_uniq, NUM_NL_##CATEGORY, (int)(last - buf), \
+		   i = num_locales + lc_##CATEGORY##_uniq*NUM_NL_##CATEGORY + (int)(last - buf)); \
+	total_size += i; \
+	dump_table8c("__lc_" #CATEGORY "_data", buf, (int)(last - buf)); \
+	for (i=0 ; i < lc_##CATEGORY##_uniq ; i++) { \
+		m = locales[i].lc_##CATEGORY##_row; \
+		for (k=0 ; k < NUM_NL_##CATEGORY ; k++) { \
+			buf[NUM_NL_##CATEGORY*i + k] = (char)((unsigned char) lc_##CATEGORY##_uniq_X[i][k]); \
+		} \
+	} \
+	dump_table8("__lc_" #CATEGORY "_rows", buf, lc_##CATEGORY##_uniq * NUM_NL_##CATEGORY); \
+	buf16[0] =0; \
+	for (i=0 ; i < NUM_NL_##CATEGORY - 1 ; i++) { \
+		buf16[i+1] = buf16[i] + lc_##CATEGORY##_count[i]; \
+	} \
+	dump_table16("__lc_" #CATEGORY "_item_offsets", buf16, NUM_NL_##CATEGORY); \
+	m = 0; \
+	for (k=0 ; k < NUM_NL_##CATEGORY ; k++) { \
+		for (i=0 ; i < lc_##CATEGORY##_count[k] ; i++) { \
+			buf16[m] = lc_##CATEGORY##_item[k][i]; \
+			++m; \
+		} \
+	} \
+	dump_table16("__lc_" #CATEGORY "_item_idx", buf16, m);
+
+
+#define DL_LC_LOOPTAIL(CATEGORY) \
+		if (k > NUM_NL_##CATEGORY) { \
+			error_msg("lc_" #CATEGORY " nl_item count > %d!", NUM_NL_##CATEGORY); \
+		} \
+		{ \
+			int r; \
+			for (r=0 ; r < lc_##CATEGORY##_uniq ; r++) { \
+				if (!memcmp(lc_##CATEGORY##_uniq_X[lc_##CATEGORY##_uniq], \
+							lc_##CATEGORY##_uniq_X[r], NUM_NL_##CATEGORY)) { \
+					break; \
+				} \
+			} \
+			if (r == lc_##CATEGORY##_uniq) { /* new locale row */ \
+				++lc_##CATEGORY##_uniq; \
+				if (lc_##CATEGORY##_uniq > 255) { \
+					error_msg("too many unique lc_" #CATEGORY " rows!"); \
+				} \
+			} \
+			locales[i].lc_##CATEGORY##_row = r; \
+		}
+
+
+
+static int buf16[100*256];
+
+static void dump_table8(const char *name, const char *tbl, int len)
+{
+	int i;
+
+	fprintf(ofp, "#define %s_LEN\t\t%d\n", name, len);
+	fprintf(ofp, "static const unsigned char %s[%d] = {", name, len);
+	for (i=0 ; i < len ; i++) {
+		if ((i % 12) == 0) {
+			fprintf(ofp, "\n\t");
+		}
+		fprintf(ofp, "%#4x, ", (int)((unsigned char) tbl[i]));
+	}
+	fprintf(ofp, "\n};\n\n");
+}
+
+#define __C_isdigit(c) \
+	((sizeof(c) == sizeof(char)) \
+	 ? (((unsigned char)((c) - '0')) < 10) \
+	 : (((unsigned int)((c) - '0')) < 10))
+#define __C_isalpha(c) \
+	((sizeof(c) == sizeof(char)) \
+	 ? (((unsigned char)(((c) | 0x20) - 'a')) < 26) \
+	 : (((unsigned int)(((c) | 0x20) - 'a')) < 26))
+#define __C_isalnum(c) (__C_isalpha(c) || __C_isdigit(c))
+
+static void dump_table8c(const char *name, const char *tbl, int len)
+{
+	int i;
+
+	fprintf(ofp, "#define %s_LEN\t\t%d\n", name, len);
+	fprintf(ofp, "static const unsigned char %s[%d] = {", name, len);
+	for (i=0 ; i < len ; i++) {
+		if ((i % 12) == 0) {
+			fprintf(ofp, "\n\t");
+		}
+		if (__C_isalnum(tbl[i]) || (tbl[i] == ' ')) {
+			fprintf(ofp, " '%c', ", (int)((unsigned char) tbl[i]));
+		} else {
+			fprintf(ofp, "%#4x, ", (int)((unsigned char) tbl[i]));
+		}
+	}
+	fprintf(ofp, "\n};\n\n");
+}
+
+static void dump_table16(const char *name, const int *tbl, int len)
+{
+	int i;
+
+	fprintf(ofp, "#define %s_LEN\t\t%d\n", name, len);
+	fprintf(ofp, "static const uint16_t %s[%d] = {", name, len);
+	for (i=0 ; i < len ; i++) {
+		if ((i % 8) == 0) {
+			fprintf(ofp, "\n\t");
+		}
+		if (tbl[i] != (uint16_t) tbl[i]) {
+			error_msg("falls outside uint16 range!");
+		}
+		fprintf(ofp, "%#6x, ", tbl[i]);
+	}
+	fprintf(ofp, "\n};\n\n");
+}
+
+
+#define NUM_NL_time 50
+
+static int lc_time_item[NUM_NL_time][256];
+static int lc_time_count[NUM_NL_time];
+static unsigned char lc_time_uniq_X[700][NUM_NL_time];
+static int lc_time_uniq;
+
+#define DO_NL_S(X)	lc_time_S(X, k++)
+
+static void lc_time_S(int X, int k)
+{
+	size_t len;
+	int j, m;
+	const char *s = nl_langinfo(X);
+	const char *p;
+	static const char nulbuf[] = "";
+
+	if (X == ALT_DIGITS) {
+		len = 1;
+		if (!s) {
+			s = nulbuf;
+		}
+		if (*s) {
+			p = s;
+			for (j = 0 ; j < 100 ; j++) {
+				while (*p) {
+					++p;
+				}
+				++p;
+			}
+			len = p - s;
+		}
+		j = addblock(s, len);
+/* 		if (len > 1) verbose_msg(VDETAIL, "alt_digit: called addblock with len %zd\n", len); */
+	} else if (X == ERA) {
+		if (!s) {
+			s = nulbuf;
+		}
+		p = s;
+		while (*p) {
+			while (*p) {
+				++p;
+			}
+			++p;
+		}
+		++p;
+		j = addblock(s, p - s);
+/* 		if (p-s > 1) verbose_msg(VDETAIL, "era: called addblock with len %d\n", p-s); */
+	} else {
+		j = addstring(s);
+	}
+	for (m=0 ; m < lc_time_count[k] ; m++) {
+		if (lc_time_item[k][m] == j) {
+			break;
+		}
+	}
+	if (m == lc_time_count[k]) { /* new for this nl_item */
+		if (m > 255) {
+			error_msg("too many nl_item %d entries in lc_time", k);
+		}
+		lc_time_item[k][m] = j;
+		++lc_time_count[k];
+	}
+	lc_time_uniq_X[lc_time_uniq][k] = m;
+}
+
+static void do_lc_time(void)
+{
+	int i, k, m;
+
+	last = buf+1;
+	uniq = 1;
+	*buf = 0;
+	*idx = buf;
+
+	for (i=0 ; i < num_locales ; i++) {
+		k = 0;
+
+		if (!setlocale(LC_ALL, locales[i].glibc_name)) {
+			verbose_msg(VDETAIL, "setlocale(LC_ALL,%s) failed!\n",
+				   locales[i].glibc_name);
+		}
+
+		DO_NL_S(ABDAY_1);
+		DO_NL_S(ABDAY_2);
+		DO_NL_S(ABDAY_3);
+		DO_NL_S(ABDAY_4);
+		DO_NL_S(ABDAY_5);
+		DO_NL_S(ABDAY_6);
+		DO_NL_S(ABDAY_7);
+
+		DO_NL_S(DAY_1);
+		DO_NL_S(DAY_2);
+		DO_NL_S(DAY_3);
+		DO_NL_S(DAY_4);
+		DO_NL_S(DAY_5);
+		DO_NL_S(DAY_6);
+		DO_NL_S(DAY_7);
+
+		DO_NL_S(ABMON_1);
+		DO_NL_S(ABMON_2);
+		DO_NL_S(ABMON_3);
+		DO_NL_S(ABMON_4);
+		DO_NL_S(ABMON_5);
+		DO_NL_S(ABMON_6);
+		DO_NL_S(ABMON_7);
+		DO_NL_S(ABMON_8);
+		DO_NL_S(ABMON_9);
+		DO_NL_S(ABMON_10);
+		DO_NL_S(ABMON_11);
+		DO_NL_S(ABMON_12);
+
+		DO_NL_S(MON_1);
+		DO_NL_S(MON_2);
+		DO_NL_S(MON_3);
+		DO_NL_S(MON_4);
+		DO_NL_S(MON_5);
+		DO_NL_S(MON_6);
+		DO_NL_S(MON_7);
+		DO_NL_S(MON_8);
+		DO_NL_S(MON_9);
+		DO_NL_S(MON_10);
+		DO_NL_S(MON_11);
+		DO_NL_S(MON_12);
+
+		DO_NL_S(AM_STR);
+		DO_NL_S(PM_STR);
+
+		DO_NL_S(D_T_FMT);
+		DO_NL_S(D_FMT);
+		DO_NL_S(T_FMT);
+		DO_NL_S(T_FMT_AMPM);
+		DO_NL_S(ERA);
+
+		DO_NL_S(ERA_YEAR);		/* non SuSv3 */
+		DO_NL_S(ERA_D_FMT);
+		DO_NL_S(ALT_DIGITS);
+		DO_NL_S(ERA_D_T_FMT);
+		DO_NL_S(ERA_T_FMT);
+
+		DL_LC_LOOPTAIL(time)
+	}
+
+	DO_LC_COMMON(time)
+}
+
+#undef DO_NL_S
+
+#define NUM_NL_numeric 3
+
+static int lc_numeric_item[NUM_NL_numeric][256];
+static int lc_numeric_count[NUM_NL_numeric];
+static unsigned char lc_numeric_uniq_X[700][NUM_NL_numeric];
+static int lc_numeric_uniq;
+
+#define DO_NL_S(X)	lc_numeric_S(X, k++)
+
+static void lc_numeric_S(int X, int k)
+{
+	int j, m;
+	char buf[256];
+	char *e;
+	char *s;
+	char c;
+
+	s = nl_langinfo(X);
+	if (X == GROUPING) {
+		if (s) {
+			if ((*s == CHAR_MAX) || (*s == -1)) { /* stupid glibc... :-( */
+				s = "";
+			}
+			e = s;
+			c = 0;
+			while (*e) { /* find end of string */
+				if (*e == CHAR_MAX) {
+					c = CHAR_MAX;
+					++e;
+					break;
+				}
+				++e;
+			}
+			if ((e - s) > sizeof(buf)) {
+				error_msg("grouping specifier too long");
+			}
+			strncpy(buf, s, (e-s));
+			e = buf + (e-s);
+			*e = 0;				/* Make sure we're null-terminated. */
+
+			if (c != CHAR_MAX) { /* remove duplicate repeats */
+				while (e > buf) {
+					--e;
+					if (*e != e[-1]) {
+						break;
+					}
+				}
+				*++e = 0;
+			}
+			s = buf;
+		}
+	}
+	j = addstring(s);
+	for (m=0 ; m < lc_numeric_count[k] ; m++) {
+		if (lc_numeric_item[k][m] == j) {
+			break;
+		}
+	}
+	if (m == lc_numeric_count[k]) { /* new for this nl_item */
+		if (m > 255) {
+			error_msg("too many nl_item %d entries in lc_numeric", k);
+		}
+		lc_numeric_item[k][m] = j;
+		++lc_numeric_count[k];
+	}
+/*  	verbose_msg(VDETAIL, "\\x%02x", m); */
+	lc_numeric_uniq_X[lc_numeric_uniq][k] = m;
+}
+
+static void do_lc_numeric(void)
+{
+	int i, k, m;
+
+	last = buf+1;
+	uniq = 1;
+	*buf = 0;
+	*idx = buf;
+
+	for (i=0 ; i < num_locales ; i++) {
+		k = 0;
+
+		if (!setlocale(LC_ALL, locales[i].glibc_name)) {
+			verbose_msg(VDETAIL,"setlocale(LC_ALL,%s) failed!\n",
+				   locales[i].glibc_name);
+		}
+
+		DO_NL_S(RADIXCHAR);		/* DECIMAL_POINT */
+		DO_NL_S(THOUSEP);		/* THOUSANDS_SEP */
+		DO_NL_S(GROUPING);
+
+		DL_LC_LOOPTAIL(numeric)
+	}
+
+	DO_LC_COMMON(numeric)
+}
+
+#undef DO_NL_S
+
+#define NUM_NL_monetary (7+14+1)
+
+static int lc_monetary_item[NUM_NL_monetary][256];
+static int lc_monetary_count[NUM_NL_monetary];
+static unsigned char lc_monetary_uniq_X[700][NUM_NL_monetary];
+static int lc_monetary_uniq;
+
+#define DO_NL_S(X)	lc_monetary_S(X, k++)
+
+/*  #define DO_NL_C(X)		verbose_msg(VDETAIL,"%#02x", (int)(unsigned char)(*nl_langinfo(X))); */
+#define DO_NL_C(X) lc_monetary_C(X, k++)
+
+static void lc_monetary_C(int X, int k)
+{
+	int j, m;
+	char c_buf[2];
+
+#warning fix the char entries for monetary... target signedness of char may be different!
+
+	c_buf[1] = 0;
+	c_buf[0] = *nl_langinfo(X);
+	j = addstring(c_buf);
+	for (m=0 ; m < lc_monetary_count[k] ; m++) {
+		if (lc_monetary_item[k][m] == j) {
+			break;
+		}
+	}
+	if (m == lc_monetary_count[k]) { /* new for this nl_item */
+		if (m > 255) {
+			error_msg("too many nl_item %d entries in lc_monetary", k);
+		}
+		lc_monetary_item[k][m] = j;
+		++lc_monetary_count[k];
+	}
+/*  	verbose_msg(VDETAIL,"\\x%02x", m); */
+	lc_monetary_uniq_X[lc_monetary_uniq][k] = m;
+}
+
+
+static void lc_monetary_S(int X, int k)
+{
+	int j, m;
+	char buf[256];
+	char *e;
+	char *s;
+	char c;
+
+	s = nl_langinfo(X);
+	if (X == MON_GROUPING) {
+		if (s) {
+			if ((*s == CHAR_MAX) || (*s == -1)) { /* stupid glibc... :-( */
+				s = "";
+			}
+			e = s;
+			c = 0;
+			while (*e) { /* find end of string */
+				if (*e == CHAR_MAX) {
+					c = CHAR_MAX;
+					++e;
+					break;
+				}
+				++e;
+			}
+			if ((e - s) > sizeof(buf)) {
+				error_msg("mon_grouping specifier too long");
+			}
+			strncpy(buf, s, (e-s));
+			e = buf + (e-s);
+			*e = 0;				/* Make sure we're null-terminated. */
+
+			if (c != CHAR_MAX) { /* remove duplicate repeats */
+				while (e > buf) {
+					--e;
+					if (*e != e[-1]) {
+						break;
+					}
+				}
+				*++e = 0;
+			}
+			s = buf;
+		}
+	}
+	j = addstring(s);
+	for (m=0 ; m < lc_monetary_count[k] ; m++) {
+		if (lc_monetary_item[k][m] == j) {
+			break;
+		}
+	}
+	if (m == lc_monetary_count[k]) { /* new for this nl_item */
+		if (m > 255) {
+			error_msg("too many nl_item %d entries in lc_monetary", k);
+		}
+		lc_monetary_item[k][m] = j;
+		++lc_monetary_count[k];
+	}
+/*  	verbose_msg(VDETAIL,"\\x%02x", m); */
+	lc_monetary_uniq_X[lc_monetary_uniq][k] = m;
+}
+
+static void do_lc_monetary(void)
+{
+	int i, k, m;
+
+	last = buf+1;
+	uniq = 1;
+	*buf = 0;
+	*idx = buf;
+
+	for (i=0 ; i < num_locales ; i++) {
+		k = 0;
+
+		if (!setlocale(LC_ALL, locales[i].glibc_name)) {
+			verbose_msg(VDETAIL,"setlocale(LC_ALL,%s) failed!\n",
+				   locales[i].glibc_name);
+		}
+
+
+		/* non SUSv3 */
+		DO_NL_S(INT_CURR_SYMBOL);
+		DO_NL_S(CURRENCY_SYMBOL);
+		DO_NL_S(MON_DECIMAL_POINT);
+		DO_NL_S(MON_THOUSANDS_SEP);
+		DO_NL_S(MON_GROUPING);
+		DO_NL_S(POSITIVE_SIGN);
+		DO_NL_S(NEGATIVE_SIGN);
+		DO_NL_C(INT_FRAC_DIGITS);
+		DO_NL_C(FRAC_DIGITS);
+		DO_NL_C(P_CS_PRECEDES);
+		DO_NL_C(P_SEP_BY_SPACE);
+		DO_NL_C(N_CS_PRECEDES);
+		DO_NL_C(N_SEP_BY_SPACE);
+		DO_NL_C(P_SIGN_POSN);
+		DO_NL_C(N_SIGN_POSN);
+		DO_NL_C(INT_P_CS_PRECEDES);
+		DO_NL_C(INT_P_SEP_BY_SPACE);
+		DO_NL_C(INT_N_CS_PRECEDES);
+		DO_NL_C(INT_N_SEP_BY_SPACE);
+		DO_NL_C(INT_P_SIGN_POSN);
+		DO_NL_C(INT_N_SIGN_POSN);
+
+		DO_NL_S(CRNCYSTR);		/* CURRENCY_SYMBOL */
+
+		DL_LC_LOOPTAIL(monetary)
+	}
+
+	DO_LC_COMMON(monetary)
+}
+
+
+#undef DO_NL_S
+
+#define NUM_NL_messages 4
+
+static int lc_messages_item[NUM_NL_messages][256];
+static int lc_messages_count[NUM_NL_messages];
+static unsigned char lc_messages_uniq_X[700][NUM_NL_messages];
+static int lc_messages_uniq;
+
+#define DO_NL_S(X)	lc_messages_S(X, k++)
+
+static void lc_messages_S(int X, int k)
+{
+	int j, m;
+	j = addstring(nl_langinfo(X));
+	for (m=0 ; m < lc_messages_count[k] ; m++) {
+		if (lc_messages_item[k][m] == j) {
+			break;
+		}
+	}
+	if (m == lc_messages_count[k]) { /* new for this nl_item */
+		if (m > 255) {
+			error_msg("too many nl_item %d entries in lc_messages", k);
+		}
+		lc_messages_item[k][m] = j;
+		++lc_messages_count[k];
+	}
+/*  	verbose_msg(VDETAIL, "\\x%02x", m); */
+	lc_messages_uniq_X[lc_messages_uniq][k] = m;
+}
+
+static void do_lc_messages(void)
+{
+	int i, k, m;
+
+	last = buf+1;
+	uniq = 1;
+	*buf = 0;
+	*idx = buf;
+
+	for (i=0 ; i < num_locales ; i++) {
+		k = 0;
+
+		if (!setlocale(LC_ALL, locales[i].glibc_name)) {
+			verbose_msg(VDETAIL, "setlocale(LC_ALL,%s) failed!\n",
+				   locales[i].glibc_name);
+		}
+
+		DO_NL_S(YESEXPR);
+		DO_NL_S(NOEXPR);
+		DO_NL_S(YESSTR);
+		DO_NL_S(NOSTR);
+
+		DL_LC_LOOPTAIL(messages)
+	}
+
+	DO_LC_COMMON(messages)
+}
+
+#undef DO_NL_S
+
+#define NUM_NL_ctype 10
+
+static int lc_ctype_item[NUM_NL_ctype][256];
+static int lc_ctype_count[NUM_NL_ctype];
+static unsigned char lc_ctype_uniq_X[700][NUM_NL_ctype];
+static int lc_ctype_uniq;
+
+#define DO_NL_S(X)	lc_ctype_S(X, k++)
+
+static void lc_ctype_S(int X, int k)
+{
+	int j, m;
+	j = addstring(nl_langinfo(X));
+	for (m=0 ; m < lc_ctype_count[k] ; m++) {
+		if (lc_ctype_item[k][m] == j) {
+			break;
+		}
+	}
+	if (m == lc_ctype_count[k]) { /* new for this nl_item */
+		if (m > 255) {
+			error_msg("too many nl_item %d entries in lc_ctype", k);
+		}
+		lc_ctype_item[k][m] = j;
+		++lc_ctype_count[k];
+	}
+/*  	verbose_msg(VDETAIL, "\\x%02x", m); */
+	lc_ctype_uniq_X[lc_ctype_uniq][k] = m;
+}
+
+static void do_lc_ctype(void)
+{
+	int i, k, m;
+
+	last = buf+1;
+	uniq = 1;
+	*buf = 0;
+	*idx = buf;
+
+	for (i=0 ; i < num_locales ; i++) {
+		k = 0;
+
+		if (!setlocale(LC_ALL, locales[i].glibc_name)) {
+			verbose_msg(VDETAIL, "setlocale(LC_ALL,%s) failed!\n",
+				   locales[i].glibc_name);
+		}
+
+		DO_NL_S(_NL_CTYPE_OUTDIGIT0_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT1_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT2_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT3_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT4_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT5_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT6_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT7_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT8_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT9_MB);
+
+		DL_LC_LOOPTAIL(ctype)
+	}
+
+	DO_LC_COMMON(ctype)
+}
diff --git a/ap/build/uClibc/extra/locale/gen_mmap.c b/ap/build/uClibc/extra/locale/gen_mmap.c
new file mode 100644
index 0000000..1cf0bb9
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/gen_mmap.c
@@ -0,0 +1,237 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <stdint.h>
+#include <stddef.h>
+
+#define WANT_DATA
+#include "c8tables.h"
+
+/*  #define Cctype_TBL_LEN 328 */
+/*  #define Cuplow_TBL_LEN 400 */
+/*  #define Cc2wc_TBL_LEN 1448 */
+/*  #define Cwc2c_TBL_LEN 3744 */
+
+#define WANT_WCctype_data
+#define WANT_WCuplow_data
+#define WANT_WCuplow_diff_data
+/* #define WANT_WCcomb_data */
+/*  #define WANT_WCwidth_data */
+#include "wctables.h"
+#undef WANT_WCctype_data
+#undef WANT_WCuplow_data
+#undef WANT_WCuplow_diff_data
+/* #undef WANT_WCcomb_data */
+/*  #undef WANT_WCwidth_data */
+
+/*  #define WCctype_TBL_LEN		(WCctype_II_LEN + WCctype_TI_LEN + WCctype_UT_LEN) */
+/*  #define WCuplow_TBL_LEN		(WCuplow_II_LEN + WCuplow_TI_LEN + WCuplow_UT_LEN) */
+/*  #define WCuplow_diff_TBL_LEN (2 * WCuplow_diffs) */
+/*  #define WCcomb_TBL_LEN		(WCcomb_II_LEN + WCcomb_TI_LEN + WCcomb_UT_LEN) */
+
+#include "locale_tables.h"
+
+#include "locale_mmap.h"
+
+/*  #undef __PASTE2 */
+/*  #define __PASTE2(A,B)		A ## B */
+/*  #undef __PASTE3 */
+/*  #define __PASTE3(A,B,C)		A ## B ## C */
+
+
+/*  #define MAGIC_SIZE 64 */
+
+/*  #define COMMON_MMAP(X) \ */
+/*  	unsigned char	__PASTE3(lc_,X,_data)[__PASTE3(__lc_,X,_data_LEN)]; */
+
+/*  #define COMMON_MMIDX(X) \ */
+/*  	unsigned char	__PASTE3(lc_,X,_rows)[__PASTE3(__lc_,X,_rows_LEN)]; \ */
+/*  	uint16_t		__PASTE3(lc_,X,_item_offsets)[__PASTE3(__lc_,X,_item_offsets_LEN)]; \ */
+/*  	uint16_t		__PASTE3(lc_,X,_item_idx)[__PASTE3(__lc_,X,_item_idx_LEN)]; \ */
+
+#define WRITE_COMMON_MMAP(X) \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE3(lc_,X,_data)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(__lc_,X,_data_LEN) ; i++) { \
+		putc(__PASTE3(__lc_,X,_data)[i], fp); \
+	}
+
+#define WRITE_COMMON_MMIDX(X) \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE3(lc_,X,_rows)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(__lc_,X,_rows_LEN) ; i++) { \
+		putc(__PASTE3(__lc_,X,_rows)[i], fp); \
+	} \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE3(lc_,X,_item_offsets)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(__lc_,X,_item_offsets_LEN) ; i++) { \
+		putc( ((unsigned char *) &(__PASTE3(__lc_,X,_item_offsets)[i]))[0], fp); \
+		putc( ((unsigned char *) &(__PASTE3(__lc_,X,_item_offsets)[i]))[1], fp); \
+	} \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE3(lc_,X,_item_idx)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(__lc_,X,_item_idx_LEN) ; i++) { \
+		putc( ((unsigned char *) &(__PASTE3(__lc_,X,_item_idx)[i]))[0], fp); \
+		putc( ((unsigned char *) &(__PASTE3(__lc_,X,_item_idx)[i]))[1], fp); \
+	}
+
+#define WRITE_WC_DATA(X) \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE2(tblw,X)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(WC,X,_TBL_LEN) ; i++) { \
+		putc(__PASTE3(WC,X,_data)[i], fp); \
+	}
+
+#define WRITE_WC_I16_DATA(X) \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE2(tblw,X)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(WC,X,_TBL_LEN) ; i++) { \
+		putc( ((unsigned char *) &(__PASTE3(WC,X,_data)[i]))[0], fp); \
+		putc( ((unsigned char *) &(__PASTE3(WC,X,_data)[i]))[1], fp); \
+	}
+
+#define WRITE_C_DATA(X) \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE2(tbl8,X)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(C,X,_TBL_LEN) ; i++) { \
+		putc(__PASTE3(C,X,_data)[i], fp); \
+	}
+
+#define WRITE_C_U16_DATA(X) \
+	fseek(fp, (long) offsetof(__locale_mmap_t, __PASTE2(tbl8,X)), SEEK_SET); \
+	for (i=0 ; i < __PASTE3(C,X,_TBL_LEN) ; i++) { \
+		putc( ((unsigned char *) &(__PASTE3(C,X,_data)[i]))[0], fp); \
+		putc( ((unsigned char *) &(__PASTE3(C,X,_data)[i]))[1], fp); \
+	}
+
+/**********************************************************************/
+
+#define COMMON_OFFSETS(X) \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_rows)), \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_item_offsets)), \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_item_idx)), \
+	offsetof(__locale_mmap_t, __PASTE3(lc_,X,_data)) \
+
+
+static const size_t common_tbl_offsets[CATEGORIES*4] = {
+	0, 0, 0, 0,					/* ctype */
+	COMMON_OFFSETS(numeric),
+	COMMON_OFFSETS(monetary),
+	COMMON_OFFSETS(time),
+	0, 0, 0, 0,					/* collate */
+	COMMON_OFFSETS(messages),
+};
+
+
+
+
+
+int main(void)
+{
+	FILE *fp;
+	size_t i;
+	unsigned char *p;
+
+	if (!(fp = fopen("locale.mmap", "w"))) {
+		printf("cannot open locale.mmap for writing!");
+		return EXIT_FAILURE;
+	}
+
+	for (i=0 ; i < sizeof(__locale_mmap_t) ; i++) {
+		putc(0, fp);			/* Zero out the file. */
+	}
+
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	WRITE_C_DATA(ctype);
+	WRITE_C_DATA(uplow);
+#ifdef __WCHAR_ENABLED
+	WRITE_C_U16_DATA(c2wc);
+	WRITE_C_DATA(wc2c);
+	/* translit  */
+#endif /* __WCHAR_ENABLED */
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+
+#ifdef __WCHAR_ENABLED
+	WRITE_WC_DATA(ctype);
+	WRITE_WC_DATA(uplow);
+	WRITE_WC_I16_DATA(uplow_diff);
+/* 	WRITE_WC_DATA(comb); */
+	/* width?? */
+#endif /* __WCHAR_ENABLED */
+
+	WRITE_COMMON_MMAP(numeric);
+	WRITE_COMMON_MMAP(monetary);
+	WRITE_COMMON_MMAP(time);
+	/* TODO -- collate*/
+	WRITE_COMMON_MMAP(messages);
+
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	fseek(fp, (long) offsetof(__locale_mmap_t, codeset_8_bit), SEEK_SET); \
+	p = (unsigned char *) codeset_8_bit;
+	for (i=0 ; i < sizeof(codeset_8_bit) ; i++) {
+		putc(p[i], fp);
+	}
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+
+	WRITE_COMMON_MMIDX(numeric);
+	WRITE_COMMON_MMIDX(monetary);
+	WRITE_COMMON_MMIDX(time);
+	/* TODO -- collate*/
+	WRITE_COMMON_MMIDX(messages);
+
+	fseek(fp, (long) offsetof(__locale_mmap_t, lc_common_item_offsets_LEN), SEEK_SET);
+	putc(1, fp);				/* ctype -- (codeset) handled specially */
+	putc(__lc_numeric_item_offsets_LEN, fp);
+	putc(__lc_monetary_item_offsets_LEN, fp);
+	putc(__lc_time_item_offsets_LEN, fp);
+	putc(0, fp);				/* collate */
+	putc(__lc_messages_item_offsets_LEN, fp);
+
+	fseek(fp, (long) offsetof(__locale_mmap_t, lc_common_tbl_offsets), SEEK_SET);
+	for (i=0 ; i < sizeof(common_tbl_offsets) ; i++) {
+		putc(((unsigned char *)common_tbl_offsets)[i], fp);
+	}
+
+#ifdef NUM_LOCALES
+	fseek(fp, (long) offsetof(__locale_mmap_t, locales), SEEK_SET);
+	for (i=0 ; i < (NUM_LOCALES * WIDTH_LOCALES) ; i++) {
+		putc(__locales[i], fp);
+	}
+
+	fseek(fp, (long) offsetof(__locale_mmap_t, locale_names5), SEEK_SET);
+	for (i=0 ; i < 5 * NUM_LOCALE_NAMES ; i++) {
+		putc(__locale_names5[i], fp);
+	}
+
+#ifdef LOCALE_AT_MODIFIERS_LENGTH
+	fseek(fp, (long) offsetof(__locale_mmap_t, locale_at_modifiers), SEEK_SET);
+	for (i=0 ; i < LOCALE_AT_MODIFIERS_LENGTH ; i++) {
+		putc(__locale_at_modifiers[i], fp);
+	}
+#endif /* LOCALE_AT_MODIFIERS_LENGTH */
+#endif /* NUM_LOCALES */
+
+	fseek(fp, (long) offsetof(__locale_mmap_t, lc_names), SEEK_SET);
+	for (i=0 ; i < lc_names_LEN ; i++) {
+		putc(lc_names[i], fp);
+	}
+
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	fseek(fp, (long) offsetof(__locale_mmap_t, codeset_list), SEEK_SET);
+	for (i=0 ; i < sizeof(CODESET_LIST) ; i++) {
+		putc((unsigned char)(CODESET_LIST[i]), fp);
+	}
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+
+
+	if (ferror(fp) || (fclose(fp) == EOF)) {
+		printf("error - stream in error state or fclose failed!");
+		return EXIT_FAILURE;
+	}
+
+	printf("sizeof(__locale_mmap_t) = %zd\n", sizeof(__locale_mmap_t));
+
+	return EXIT_SUCCESS;
+}
+
+/* TODO:
+ * collate data (8-bit weighted single char only)
+ * @ mappings!
+ * codeset list? yes, since we'll want to be able to inspect them...
+ * that means putting some header stuff in magic
+ * fix ctype LEN defines in gen_c8tables
+ */
diff --git a/ap/build/uClibc/extra/locale/gen_wc8bit.c b/ap/build/uClibc/extra/locale/gen_wc8bit.c
new file mode 100644
index 0000000..a861caa
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/gen_wc8bit.c
@@ -0,0 +1,732 @@
+/*
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>
+#include <stddef.h>
+#include <wctype.h>
+#include <limits.h>
+
+#ifndef _CTYPE_H
+#define _CTYPE_H
+#endif
+#ifndef _WCTYPE_H
+#define _WCTYPE_H
+#endif
+#include "include/bits/uClibc_ctype.h"
+
+/* TODO: maybe support -v like gen_wctype.c */
+#define verbose_msg(msg...) if (verbose) fprintf(stderr, msg)
+
+/*  #define CTYPE_PACKED */
+#define UPLOW_IDX_SHIFT		3
+/* best if 2 unpacked or 3 packed */
+#define CTYPE_IDX_SHIFT		3
+/* 3 or 4 are very similar */
+#define C2WC_IDX_SHIFT		3
+
+#define CTYPE_IDX_LEN		(128 >> (CTYPE_IDX_SHIFT))
+#define UPLOW_IDX_LEN		(128 >> (UPLOW_IDX_SHIFT))
+#define C2WC_IDX_LEN		(128 >> (C2WC_IDX_SHIFT))
+
+/*  #ifdef CTYPE_PACKED */
+/*  #define CTYPE_ROW_LEN		(1 << ((CTYPE_IDX_SHIFT)-1)) */
+/*  #else */
+#define CTYPE_ROW_LEN		(1 << (CTYPE_IDX_SHIFT))
+/*  #endif */
+#define UPLOW_ROW_LEN		(1 << (UPLOW_IDX_SHIFT))
+#define C2WC_ROW_LEN		(1 << (C2WC_IDX_SHIFT))
+
+
+
+#define MAX_WCHAR	(0x2600-1)
+
+static unsigned char ctype_tbl[256 * CTYPE_ROW_LEN];
+static unsigned char uplow_tbl[256 * UPLOW_ROW_LEN];
+#ifdef DO_WIDE_CHAR
+static unsigned short c2wc_tbl[256 * C2WC_ROW_LEN];
+#endif
+static unsigned char tt[MAX_WCHAR+1];
+static unsigned char ti[MAX_WCHAR+1];
+static unsigned char xi[MAX_WCHAR+1];
+
+static int n_ctype_rows;
+static int n_uplow_rows;
+#ifdef DO_WIDE_CHAR
+static int n_c2wc_rows;
+#endif
+static int tt_num;
+static int ti_num;
+
+#define RANGE MAX_WCHAR
+
+#define TT_SHIFT 4
+#define TI_SHIFT 4
+
+#define II_LEN		((MAX_WCHAR+1) >> (TT_SHIFT+TI_SHIFT))
+
+typedef struct {
+	unsigned long c2w[256];
+	unsigned char w2c[MAX_WCHAR];
+	unsigned char ii[II_LEN];
+	unsigned char ctype_idx[CTYPE_IDX_LEN];
+	unsigned char uplow_idx[UPLOW_IDX_LEN];
+	unsigned char c2wc_idx[C2WC_IDX_LEN];
+} charset_data;
+
+int main(int argc, char **argv)
+{
+	FILE *fp;
+	charset_data csd[30];
+	unsigned long max_wchar;
+	unsigned char *p;
+	int numsets;
+	int i;
+	int j;
+	char buf[80];
+	unsigned char row[256];
+#ifdef DO_WIDE_CHAR
+	unsigned short wrow[256];
+#endif
+	char codeset_list[500];
+	char codeset_index[30];
+	int codeset_list_end = 0;
+	int total_size = 0;
+
+	if (!setlocale(LC_CTYPE, "en_US.UTF-8")) {
+		/* Silly foreigners disabling en_US locales */
+		FILE *fp = popen("locale -a", "r");
+		if (!fp)
+			goto locale_failure;
+
+		while (!feof(fp)) {
+			char buf[256];
+			size_t len;
+
+			if (fgets(buf, sizeof(buf) - 10, fp) == NULL)
+				goto locale_failure;
+
+			len = strlen(buf);
+			if (len > 0 && buf[len - 1] == '\n')
+				buf[--len] = '\0';
+			if (len < 5 || strcasecmp(&buf[len-5], ".UTF8") != 0)
+				strcat(buf, ".UTF8");
+			if (setlocale(LC_CTYPE, buf))
+				goto locale_success;
+		}
+
+ locale_failure:
+		printf("could not find a UTF8 locale ... please enable en_US.UTF-8\n");
+		return EXIT_FAILURE;
+ locale_success:
+		pclose(fp);
+	}
+
+#if 0
+	if (argc == 1) {
+		/* User requested 8-bit codesets, but didn't list any... */
+		/* Allow to build, just so this feature can be left on in config. */
+		printf("#ifdef __CTYPE_HAS_8_BIT_LOCALES\n");
+		printf("#warning ignoring 8 bit codesets request"
+				" as no codesets specified.\n");
+		printf("#endif\n");
+		printf("#undef __CTYPE_HAS_8_BIT_LOCALES\n\n");
+
+		printf("#define __LOCALE_DATA_NUM_CODESETS\t\t0\n");
+		printf("#define __LOCALE_DATA_CODESET_LIST\t\t\"\"\n");
+		return EXIT_SUCCESS;
+	}
+
+/*  	printf("#define __CTYPE_HAS_8_BIT_LOCALES\t1\n\n"); */
+	printf("#ifdef __CTYPE_HAS_8_BIT_LOCALES\n\n");
+#endif
+
+	if (argc == 1) {
+		printf("#undef __CTYPE_HAS_8_BIT_LOCALES\n\n");
+
+		printf("#define __LOCALE_DATA_NUM_CODESETS\t\t0\n");
+		printf("#define __LOCALE_DATA_CODESET_LIST\t\t\"\"\n");
+	} else {
+		printf("#define __CTYPE_HAS_8_BIT_LOCALES\t\t1\n\n");
+	}
+
+	printf("#define __LOCALE_DATA_Cctype_IDX_SHIFT\t%d\n", CTYPE_IDX_SHIFT);
+	printf("#define __LOCALE_DATA_Cctype_IDX_LEN\t\t%d\n", CTYPE_IDX_LEN);
+#ifdef CTYPE_PACKED
+	printf("#define __LOCALE_DATA_Cctype_ROW_LEN\t\t%d\n", CTYPE_ROW_LEN >> 1);
+	printf("#define __LOCALE_DATA_Cctype_PACKED\t\t1\n");
+#else
+	printf("#define __LOCALE_DATA_Cctype_ROW_LEN\t\t%d\n", CTYPE_ROW_LEN);
+	printf("#undef __LOCALE_DATA_Cctype_PACKED\n");
+#endif
+
+	printf("\n#define __LOCALE_DATA_Cuplow_IDX_SHIFT\t%d\n", UPLOW_IDX_SHIFT);
+	printf("#define __LOCALE_DATA_Cuplow_IDX_LEN\t\t%d\n", UPLOW_IDX_LEN);
+	printf("#define __LOCALE_DATA_Cuplow_ROW_LEN\t\t%d\n", UPLOW_ROW_LEN);
+
+#ifdef DO_WIDE_CHAR
+	printf("\n#define __LOCALE_DATA_Cc2wc_IDX_LEN\t\t%d\n", C2WC_IDX_LEN);
+	printf("#define __LOCALE_DATA_Cc2wc_IDX_SHIFT\t\t%d\n", C2WC_IDX_SHIFT);
+	printf("#define __LOCALE_DATA_Cc2wc_ROW_LEN\t\t%d\n", C2WC_ROW_LEN);
+#endif
+
+	printf("\ntypedef struct {\n");
+	printf("\tunsigned char idx8ctype[%d];\n", CTYPE_IDX_LEN);
+	printf("\tunsigned char idx8uplow[%d];\n", UPLOW_IDX_LEN);
+#ifdef DO_WIDE_CHAR
+	printf("\tunsigned char idx8c2wc[%d];\n", C2WC_IDX_LEN);
+	printf("\tunsigned char idx8wc2c[%d];\n", II_LEN);
+#endif
+	printf("} __codeset_8_bit_t;\n\n");
+
+	printf("#ifdef WANT_DATA\n\n");
+	printf("static const __codeset_8_bit_t codeset_8_bit[%d] = {\n", argc-1);
+
+	max_wchar = 0x7f;
+	numsets = 0;
+	codeset_index[0] = 0;
+	while (--argc) {
+		if (!(fp = fopen(*++argv,"r"))) {
+			fprintf(stderr, "cannot open file \"%s\"\n", *argv);
+			return EXIT_FAILURE;
+		}
+		fprintf(stderr, "processing %s... ", *argv);
+
+		{
+			char *s0;
+			char *s1;
+			int n;
+
+			s0 = strrchr(*argv, '/');
+			if (!s0) {
+				s0 = *argv;
+			} else {
+				++s0;
+			}
+			s1 = strrchr(s0, '.');
+			if (!s1) {
+				n = strlen(s0);
+			} else {
+				n = s1 - s0;
+			}
+
+/*  			if ((numsets == 0) && strncmp("ASCII", s0, n)) { */
+/*  				printf("error - first codeset isn't ASCII!\n"); */
+/*  				return EXIT_FAILURE; */
+/*  			} */
+
+			if (numsets >= sizeof(codeset_index)) {
+				fprintf(stderr, "error - too many codesets!\n");
+				return EXIT_FAILURE;
+			}
+
+			if (codeset_list_end + n + 1 + numsets + 1 + 1 >= 256) {
+				fprintf(stderr, "error - codeset list to big!\n");
+				return EXIT_FAILURE;
+			}
+
+			codeset_index[numsets+1] = codeset_index[numsets] + n+1;
+			strncpy(codeset_list + codeset_list_end, s0, n);
+			codeset_list_end += (n+1);
+			codeset_list[codeset_list_end - 1] = 0;
+
+			printf("\t{ /* %.*s */", n, s0);
+		}
+
+		memset(&csd[numsets], 0, sizeof(charset_data));
+		memset(xi, 0, sizeof(xi));
+		{
+			unsigned long c, wc;
+			int lines;
+			lines = 0;
+			while (fgets(buf,sizeof(buf),fp)) {
+				if ((2 != sscanf(buf, "{ %lx , %lx", &c, &wc))
+					|| (c >= 256) || (wc > MAX_WCHAR)) {
+					fprintf(stderr, "error: scanf failure! \"%s\"\n", buf);
+					return EXIT_FAILURE;
+				}
+
+				/* don't put in w2c... dynamicly build tt instead. */
+
+				if (c <= 0x7f) { /* check the 7bit entries but don't store */
+					if (c != wc) {
+						fprintf(stderr, "error: c != wc in %s\n", buf);
+						return EXIT_FAILURE;
+					}
+					csd[numsets].c2w[c] = wc;
+					csd[numsets].w2c[wc] = 0; /* ignore */
+					if (wc > max_wchar) {
+						max_wchar = wc;
+					}
+				} else {
+					csd[numsets].c2w[c] = wc;
+					csd[numsets].w2c[wc] = c;
+					if (wc > max_wchar) {
+						max_wchar = wc;
+					}
+				}
+				++lines;
+			}
+			fprintf(stderr, "%d lines  ", lines);
+
+			for (i = 0 ; i <= MAX_WCHAR ; i += (1 << TT_SHIFT)) {
+				p = &csd[numsets].w2c[i];
+				for (j = 0 ; j < tt_num ; j++) {
+					if (!memcmp(p, &tt[j << TT_SHIFT], (1 << TT_SHIFT))) {
+						break;
+					}
+				}
+				if (j == tt_num) { /* new entry */
+					memcpy(&tt[j << TT_SHIFT], p, (1 << TT_SHIFT));
+					++tt_num;
+				}
+				xi[i >> TT_SHIFT] = j;
+			}
+
+			for (i = 0 ; i <= (MAX_WCHAR >> TT_SHIFT)  ; i += (1 << TI_SHIFT)) {
+				p = &xi[i];
+				for (j = 0 ; j < ti_num ; j++) {
+					if (!memcmp(p, &ti[j << TI_SHIFT], (1 << TI_SHIFT))) {
+						break;
+					}
+				}
+				if (j == ti_num) { /* new entry */
+					memcpy(&ti[j << TI_SHIFT], p, (1 << TI_SHIFT));
+					++ti_num;
+				}
+				csd[numsets].ii[i >> TI_SHIFT] = j;
+/*  				fprintf(stderr, "%d ", i >> TI_SHIFT); */
+			}
+
+#if 1
+			printf("\n\t\t/* idx8ctype data */\n\t\t{");
+			for (i = 128 ; i < 256 ; i++) {
+				wchar_t c;
+				unsigned int d;
+
+/*  				if (!(i & 0x7)) { */
+/*  					printf("\n"); */
+/*  				} */
+
+				c = csd[numsets].c2w[i];
+
+				if (c == 0) {	/* non-existant char in codeset */
+					d = __CTYPE_unclassified;
+				} else if (iswdigit(c)) {
+					d = __CTYPE_digit;
+				} else if (iswalpha(c)) {
+					d = __CTYPE_alpha_nonupper_nonlower;
+					if (iswlower(c)) {
+						d = __CTYPE_alpha_lower;
+						if (iswupper(c)) {
+							d = __CTYPE_alpha_upper_lower;
+						}
+					} else if (iswupper(c)) {
+						d = __CTYPE_alpha_upper;
+					}
+				} else if (iswpunct(c)) {
+					d = __CTYPE_punct;
+				} else if (iswgraph(c)) {
+					d = __CTYPE_graph;
+				} else if (iswprint(c)) {
+					d = __CTYPE_print_space_nonblank;
+					if (iswblank(c)) {
+						d = __CTYPE_print_space_blank;
+					}
+				} else if (iswspace(c) && !iswcntrl(c)) {
+					d = __CTYPE_space_nonblank_noncntrl;
+					if (iswblank(c)) {
+						d = __CTYPE_space_blank_noncntrl;
+					}
+				} else if (iswcntrl(c)) {
+					d = __CTYPE_cntrl_nonspace;
+					if (iswspace(c)) {
+						d = __CTYPE_cntrl_space_nonblank;
+						if (iswblank(c)) {
+							d = __CTYPE_cntrl_space_blank;
+						}
+					}
+				} else {
+					d = __CTYPE_unclassified;
+				}
+
+#if 1
+				row[i & (CTYPE_ROW_LEN-1)] = d;
+				if ((i & (CTYPE_ROW_LEN-1)) == (CTYPE_ROW_LEN-1)) {
+					p = ctype_tbl;
+					for (j=0 ; j < n_ctype_rows ; j++) {
+						if (!memcmp(p, row, CTYPE_ROW_LEN)) {
+							break;
+						}
+						p += CTYPE_ROW_LEN;
+					}
+					if (j == n_ctype_rows) { /* new entry */
+						if (++n_ctype_rows > 256) {
+							fprintf(stderr, "error -- to many ctype rows!\n");
+							return EXIT_FAILURE;
+						}
+						memcpy(p, row, CTYPE_ROW_LEN);
+					}
+					csd[numsets].ctype_idx[i >> CTYPE_IDX_SHIFT] = j;
+					if (!((i >> CTYPE_IDX_SHIFT) & 0x7)
+						&& (i != (127 + CTYPE_ROW_LEN))
+						) {
+						printf("\n\t\t ");
+					}
+					printf(" %#4x,", j);
+				}
+#else
+				printf(" %#4x,", d);
+#endif
+			}
+#endif
+			printf(" }");
+
+#if 1
+			printf(",\n\t\t/* idx8uplow data */\n\t\t{");
+			for (i = 128 ; i < 256 ; i++) {
+				wchar_t c, u, l;
+/*  				if (!(i & 0x7)) { */
+/*  					printf("\n"); */
+/*  				} */
+				c = csd[numsets].c2w[i];
+				if ((c != 0) || 1) {
+					u = towupper(c);
+					l = towlower(c);
+
+					if (u >= 0x80) u = csd[numsets].w2c[u];
+					if (l >= 0x80) l = csd[numsets].w2c[l];
+
+					if (u == 0) u = i; /* upper is missing, so ignore */
+					if (l == 0) l = i; /* lower is missing, so ignore */
+
+#if 1
+					/* store as unsigned char and let overflow handle it. */
+/*  					if ((((u-i) < CHAR_MIN) || ((u-i) > CHAR_MAX)) */
+/*  						|| (((i-l) < CHAR_MIN) || ((i-l) > CHAR_MAX)) */
+/*  						) { */
+/*  						fprintf(stderr, "error - uplow diff out of range! %d %ld %ld\n", */
+/*  							   i, u, l); */
+/*  						return EXIT_FAILURE; */
+/*  					} */
+
+					row[i & (UPLOW_ROW_LEN-1)] = ((l==i) ? (u-i) : (i-l));
+					if ((i & (UPLOW_ROW_LEN-1)) == (UPLOW_ROW_LEN-1)) {
+						p = uplow_tbl;
+						for (j=0 ; j < n_uplow_rows ; j++) {
+							if (!memcmp(p, row, UPLOW_ROW_LEN)) {
+								break;
+							}
+							p += UPLOW_ROW_LEN;
+						}
+						if (j == n_uplow_rows) { /* new entry */
+							if (++n_uplow_rows > 256) {
+								fprintf(stderr, "error -- to many uplow rows!\n");
+								return EXIT_FAILURE;
+							}
+							memcpy(p, row, UPLOW_ROW_LEN);
+						}
+						csd[numsets].uplow_idx[i >> UPLOW_IDX_SHIFT] = j;
+						if (!((i >> UPLOW_IDX_SHIFT) & 0x7)
+							&& (i != (127 + UPLOW_ROW_LEN))
+							) {
+							printf("\n\t\t ");
+						}
+						printf(" %#4x,", j);
+					}
+
+#elif 0
+					if (!(i & 0x7) && i) {
+						printf("\n");
+					}
+					printf(" %4ld,", (l==i) ? (u-i) : (i-l));
+/*  					printf(" %4ld,", (l==i) ? u : l); */
+#else
+					if ((u != i) || (l != i)) {
+#if 0
+						printf(" %#08lx, %#08lx, %#08lx, %#08lx, %#08lx, %#08lx, \n",
+								(unsigned long) i,
+								(unsigned long) c,
+								(unsigned long) l,
+								(unsigned long) towlower(c),
+								(unsigned long) u,
+								(unsigned long) towupper(c));
+
+#else
+						printf(" %#08lx, %8ld, %d, %8ld, %d, %#08lx\n",
+								(unsigned long) i,
+								(long) (l - i),
+								iswupper(c),
+								(long) (i - u),
+								iswlower(c),
+								(unsigned long) c);
+#endif
+					}
+#endif
+				}
+			}
+			printf(" }");
+#endif
+
+#ifndef DO_WIDE_CHAR
+			printf("\n");
+#else  /* DO_WIDE_CHAR */
+
+#if 1
+			printf(",\n\t\t/* idx8c2wc data */\n\t\t{");
+			for (i = 128 ; i < 256 ; i++) {
+#if 1
+				wrow[i & (C2WC_ROW_LEN-1)] = csd[numsets].c2w[i];
+				if ((i & (C2WC_ROW_LEN-1)) == (C2WC_ROW_LEN-1)) {
+					p = (unsigned char *) c2wc_tbl;
+					for (j=0 ; j < n_c2wc_rows ; j++) {
+						if (!memcmp(p, (char *) wrow, 2*C2WC_ROW_LEN)) {
+							break;
+						}
+						p += 2*C2WC_ROW_LEN;
+					}
+					if (j == n_c2wc_rows) { /* new entry */
+						if (++n_c2wc_rows > 256) {
+							fprintf(stderr, "error -- to many c2wc rows!\n");
+							return EXIT_FAILURE;
+						}
+						memcpy(p, (char *) wrow, 2*C2WC_ROW_LEN);
+					}
+					csd[numsets].c2wc_idx[i >> C2WC_IDX_SHIFT] = j;
+					if (!((i >> C2WC_IDX_SHIFT) & 0x7)
+						&& (i != (127 + C2WC_ROW_LEN))
+						) {
+						printf("\n\t\t ");
+					}
+					printf(" %#4x,", j);
+				}
+#else
+				if (!(i & 0x7) && i) {
+					printf("\n");
+				}
+				printf(" %#6lx,", csd[numsets].c2w[i]);
+#endif
+			}
+			printf(" },\n");
+#endif
+
+#if 1
+/*  			fprintf(stderr, "\nII_LEN = %d\n", II_LEN); */
+			printf("\t\t/* idx8wc2c data */\n\t\t{");
+			for (i = 0 ; i < II_LEN ; i++) {
+				if (!(i & 0x7) && i) {
+					printf("\n\t\t ");
+				}
+				printf(" %#4x,", csd[numsets].ii[i]);
+			}
+			printf(" }\n");
+#endif
+
+#endif /* DO_WIDE_CHAR */
+			printf("\t},\n");
+
+		}
+		++numsets;
+		fprintf(stderr, "done\n");
+	}
+	printf("};\n");
+	printf("\n#endif /* WANT_DATA */\n");
+
+#ifdef DO_WIDE_CHAR
+	printf("\n");
+	printf("#define __LOCALE_DATA_Cwc2c_DOMAIN_MAX\t%#x\n", RANGE);
+	printf("#define __LOCALE_DATA_Cwc2c_TI_SHIFT\t\t%d\n", TI_SHIFT);
+	printf("#define __LOCALE_DATA_Cwc2c_TT_SHIFT\t\t%d\n", TT_SHIFT);
+	printf("#define __LOCALE_DATA_Cwc2c_II_LEN\t\t%d\n", II_LEN);
+	printf("#define __LOCALE_DATA_Cwc2c_TI_LEN\t\t%d\n", ti_num << TI_SHIFT);
+	printf("#define __LOCALE_DATA_Cwc2c_TT_LEN\t\t%d\n", tt_num << TT_SHIFT);
+	printf("\n");
+
+	printf("\n#define __LOCALE_DATA_Cwc2c_TBL_LEN\t\t%d\n",
+			(ti_num << TI_SHIFT) + (tt_num << TT_SHIFT));
+
+	printf("#ifdef WANT_DATA\n\n");
+	printf("static const unsigned char __LOCALE_DATA_Cwc2c_data[%d] = {\n",
+			(ti_num << TI_SHIFT) + (tt_num << TT_SHIFT));
+	printf("\t/* ti_table */\n\t");
+	for (i=0 ; i < ti_num << TI_SHIFT ; i++) {
+		if (!(i & 7) && i) {
+			printf("\n\t");
+		}
+		printf(" %#4x,", ti[i]);
+	}
+	printf("\n");
+	printf("\t/* tt_table */\n\t");
+	for (i=0 ; i < tt_num << TT_SHIFT ; i++) {
+		if (!(i & 7) && i) {
+			printf("\n\t");
+		}
+		printf(" %#4x,", tt[i]);
+	}
+	printf("\n};\n");
+
+	printf("\n#endif /* WANT_DATA */\n");
+#endif /* DO_WIDE_CHAR */
+
+	printf("\n#define __LOCALE_DATA_Cuplow_TBL_LEN\t\t%d\n",
+			n_uplow_rows * UPLOW_ROW_LEN);
+	printf("\n#ifdef WANT_DATA\n\n");
+
+	printf("\nstatic const unsigned char __LOCALE_DATA_Cuplow_data[%d] = {\n",
+			n_uplow_rows * UPLOW_ROW_LEN);
+	p = uplow_tbl;
+	for (j=0 ; j < n_uplow_rows ; j++) {
+		printf("\t");
+		for (i=0 ; i < UPLOW_ROW_LEN ; i++) {
+			printf(" %#4x,", (unsigned int)((unsigned char) p[i]));
+		}
+		printf("\n");
+		p += UPLOW_ROW_LEN;
+	}
+	printf("};\n");
+
+	printf("\n#endif /* WANT_DATA */\n");
+	printf("\n#define __LOCALE_DATA_Cctype_TBL_LEN\t\t%d\n",
+#ifdef CTYPE_PACKED
+			n_ctype_rows * CTYPE_ROW_LEN / 2
+#else
+			n_ctype_rows * CTYPE_ROW_LEN
+#endif
+			);
+	printf("\n#ifdef WANT_DATA\n\n");
+
+
+	printf("\nstatic const unsigned char __LOCALE_DATA_Cctype_data[%d] = {\n",
+#ifdef CTYPE_PACKED
+			n_ctype_rows * CTYPE_ROW_LEN / 2
+#else
+			n_ctype_rows * CTYPE_ROW_LEN
+#endif
+			);
+	p = ctype_tbl;
+	for (j=0 ; j < n_ctype_rows ; j++) {
+		printf("\t");
+		for (i=0 ; i < CTYPE_ROW_LEN ; i++) {
+#ifdef CTYPE_PACKED
+			printf(" %#4x,", (unsigned int)(p[i] + (p[i+1] << 4)));
+			++i;
+#else
+			printf(" %#4x,", (unsigned int)p[i]);
+#endif
+		}
+		printf("\n");
+		p += CTYPE_ROW_LEN;
+	}
+	printf("};\n");
+
+	printf("\n#endif /* WANT_DATA */\n");
+
+#ifdef DO_WIDE_CHAR
+
+	printf("\n#define __LOCALE_DATA_Cc2wc_TBL_LEN\t\t%d\n",
+			n_c2wc_rows * C2WC_ROW_LEN);
+	printf("\n#ifdef WANT_DATA\n\n");
+
+	printf("\nstatic const unsigned short __LOCALE_DATA_Cc2wc_data[%d] = {\n",
+			n_c2wc_rows * C2WC_ROW_LEN);
+	p = (unsigned char *) c2wc_tbl;
+	for (j=0 ; j < n_c2wc_rows ; j++) {
+		printf("\t");
+		for (i=0 ; i < C2WC_ROW_LEN ; i++) {
+			printf(" %#6x,", (unsigned int)(((unsigned short *)p)[i]));
+		}
+		printf("\n");
+		p += 2*C2WC_ROW_LEN;
+	}
+	printf("};\n");
+	printf("\n#endif /* WANT_DATA */\n");
+#endif /* DO_WIDE_CHAR */
+	printf("\n\n");
+
+	printf("#define __LOCALE_DATA_NUM_CODESETS\t\t%d\n", numsets);
+	printf("#define __LOCALE_DATA_CODESET_LIST \\\n\t\"");
+	for (i=0 ; i < numsets ; i++) {
+		printf("\\x%02x", numsets + 1 + (unsigned char) codeset_index[i]);
+		if (((i & 7) == 7) && (i + 1 < numsets)) {
+			printf("\" \\\n\t\"");
+		}
+	}
+	printf("\" \\\n\t\"\\0\"");
+	for (i=0 ; i < numsets ; i++) {
+		printf(" \\\n\t\"%s\\0\"",
+				codeset_list + ((unsigned char)codeset_index[i]));
+	}
+
+	printf("\n\n");
+	for (i=0 ; i < numsets ; i++) {
+		char buf[30];
+		char *z;
+		strcpy(buf, codeset_list + ((unsigned char)codeset_index[i]));
+		for (z=buf ; *z ; z++) {
+			if (*z == '-') {
+				*z = '_';
+			}
+		}
+		printf("#define __CTYPE_HAS_CODESET_%s\n", buf);
+	}
+#ifdef DO_WIDE_CHAR
+	printf("#define __CTYPE_HAS_CODESET_UTF_8\n");
+#endif /* DO_WIDE_CHAR */
+
+#if 0
+	printf("\n#endif /* __CTYPE_HAS_8_BIT_LOCALES */\n\n");
+#endif
+
+	total_size = 0;
+#ifdef DO_WIDE_CHAR
+	fprintf(stderr, "tt_num = %d   ti_num = %d\n", tt_num, ti_num);
+	fprintf(stderr, "max_wchar = %#lx\n", max_wchar);
+
+	fprintf(stderr, "size is %d * %d  +  %d * %d  + %d * %d  =  %d\n",
+		   tt_num, 1 << TT_SHIFT, ti_num, 1 << TI_SHIFT,
+		   ((MAX_WCHAR >> (TT_SHIFT + TI_SHIFT)) + 1), numsets,
+ 		   j = tt_num * (1 << TT_SHIFT) + ti_num * (1 << TI_SHIFT)
+		   + ((MAX_WCHAR >> (TT_SHIFT + TI_SHIFT)) + 1) * numsets);
+	total_size += j;
+#endif /* DO_WIDE_CHAR */
+
+#ifdef CTYPE_PACKED
+	i = 2;
+#else
+	i = 1;
+#endif
+
+	fprintf(stderr, "ctype - CTYPE_IDX_SHIFT = %d -- %d * %d + %d * %d = %d\n",
+		   CTYPE_IDX_SHIFT, numsets, CTYPE_IDX_LEN, n_ctype_rows, CTYPE_ROW_LEN / i,
+		   j = numsets * CTYPE_IDX_LEN +  n_ctype_rows * CTYPE_ROW_LEN / i);
+	total_size += j;
+
+	fprintf(stderr, "uplow - UPLOW_IDX_SHIFT = %d -- %d * %d + %d * %d = %d\n",
+		   UPLOW_IDX_SHIFT, numsets, UPLOW_IDX_LEN, n_uplow_rows, UPLOW_ROW_LEN,
+		   j = numsets * UPLOW_IDX_LEN +  n_uplow_rows * UPLOW_ROW_LEN);
+	total_size += j;
+
+#ifdef DO_WIDE_CHAR
+
+	fprintf(stderr, "c2wc - C2WC_IDX_SHIFT = %d -- %d * %d + 2 * %d * %d = %d\n",
+		   C2WC_IDX_SHIFT, numsets, C2WC_IDX_LEN, n_c2wc_rows, C2WC_ROW_LEN,
+		   j = numsets * C2WC_IDX_LEN +  2 * n_c2wc_rows * C2WC_ROW_LEN);
+	total_size += j;
+
+#endif /* DO_WIDE_CHAR */
+
+	fprintf(stderr, "total size = %d\n", total_size);
+
+/*  	for (i=0 ; i < numsets ; i++) { */
+/*  		printf("codeset_index[i] = %d  codeset_list[ci[i]] = \"%s\"\n", */
+/*  			   (unsigned char) codeset_index[i], */
+/*  			   codeset_list + ((unsigned char)codeset_index[i])); */
+/*  	} */
+
+	return EXIT_SUCCESS;
+}
diff --git a/ap/build/uClibc/extra/locale/gen_wctype.c b/ap/build/uClibc/extra/locale/gen_wctype.c
new file mode 100644
index 0000000..b5d7e39
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/gen_wctype.c
@@ -0,0 +1,814 @@
+/*
+ * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ */
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <locale.h>
+#include <wctype.h>
+#include <limits.h>
+#include <stdint.h>
+#include <wchar.h>
+#include <ctype.h>
+
+#include "include/bits/uClibc_charclass.h"
+
+/*       0x9 : space  blank */
+/*       0xa : space */
+/*       0xb : space */
+/*       0xc : space */
+/*       0xd : space */
+/*      0x20 : space  blank */
+/*    0x1680 : space  blank */
+/*    0x2000 : space  blank */
+/*    0x2001 : space  blank */
+/*    0x2002 : space  blank */
+/*    0x2003 : space  blank */
+/*    0x2004 : space  blank */
+/*    0x2005 : space  blank */
+/*    0x2006 : space  blank */
+/*    0x2008 : space  blank */
+/*    0x2009 : space  blank */
+/*    0x200a : space  blank */
+/*    0x200b : space  blank */
+/*    0x2028 : space */
+/*    0x2029 : space */
+/*    0x3000 : space  blank */
+
+/*  typecount[ 0] =    88670  C_alpha_nonupper_nonlower */
+/*  typecount[ 1] =      742  C_alpha_lower */
+/*  typecount[ 2] =        4  C_alpha_upper_lower */
+/*  typecount[ 3] =      731  C_alpha_upper */
+/*  typecount[ 4] =       10  C_digit */
+/*  typecount[ 5] =    10270  C_punct */
+/*  typecount[ 6] =        0  C_graph */
+/*  typecount[ 7] =        0  C_print_space_nonblank */
+/*  typecount[ 8] =       14  C_print_space_blank */
+/*  typecount[ 9] =        0  C_space_nonblank_noncntrl */
+/*  typecount[10] =        0  C_space_blank_noncntrl */
+/*  typecount[11] =        6  C_cntrl_space_nonblank */
+/*  typecount[12] =        1  C_cntrl_space_blank */
+/*  typecount[13] =       60  C_cntrl_nonspace */
+/*  typecount[14] =    96100  C_unclassified */
+/*  typecount[15] =        0  empty_slot */
+
+
+/* Set to #if 0 to restrict wchars to 16 bits. */
+#if 1
+#define RANGE 0x2ffffUL
+#elif 0
+#define RANGE 0x1ffffUL
+#else
+#define RANGE 0xffffUL			/* Restrict for 16-bit wchar_t... */
+#endif
+
+/* Some macros that test for various (w)ctype classes when passed one of the
+ * designator values enumerated above. */
+#define mywalnum(D,C) ((unsigned)(D - 1) <= (__CTYPE_digit - 1))
+#define mywalpha(D,C) ((unsigned)(D - 1) <= (__CTYPE_alpha_upper - 1))
+#define mywblank(D,C) ((unsigned)(D - __CTYPE_print_space_nonblank) <= 5 && (D & 1))
+#define mywcntrl(D,C) ((unsigned)(D - __CTYPE_cntrl_space_nonblank) <= 2)
+#define mywdigit(D,C) (D == __CTYPE_digit)
+#define mywgraph(D,C) ((unsigned)(D - 1) <= (__CTYPE_graph - 1))
+#define mywlower(D,C) ((unsigned)(D - __CTYPE_alpha_lower) <= 1)
+#define mywprint(D,C) ((unsigned)(D - 1) <= (__CTYPE_print_space_blank - 1))
+#define mywpunct(D,C) (D == __CTYPE_punct)
+#define mywspace(D,C) ((unsigned)(D - __CTYPE_print_space_nonblank) <= 5)
+#define mywupper(D,C) ((unsigned)(D - __CTYPE_alpha_upper_lower) <= 1)
+/* #define mywxdigit(D,C) -- isxdigit is untestable this way.
+ * But that's ok as isxdigit() (and isdigit() too) are locale-invariant. */
+#define mywxdigit(D,C) (mywdigit(D,C) || (unsigned)(((C) | 0x20) - 'a') <= 5)
+
+typedef struct {
+	short l;
+	short u;
+} uldiff_entry;
+
+typedef struct {
+	uint16_t ii_len;
+	uint16_t ti_len;
+	uint16_t ut_len;
+
+	unsigned char ii_shift;
+	unsigned char ti_shift;
+
+	unsigned char *ii;
+	unsigned char *ti;
+	unsigned char *ut;
+} table_data;
+
+static unsigned verbose;
+#define verbose_msg(msg...) if (verbose) fprintf(stderr, msg)
+
+void output_table(const char *name, table_data *tbl)
+{
+	size_t i;
+
+	printf("#define __LOCALE_DATA_WC%s_II_LEN    %7u\n", name, tbl->ii_len);
+	printf("#define __LOCALE_DATA_WC%s_TI_LEN    %7u\n", name, tbl->ti_len);
+	printf("#define __LOCALE_DATA_WC%s_UT_LEN    %7u\n", name, tbl->ut_len);
+
+	printf("#define __LOCALE_DATA_WC%s_II_SHIFT  %7u\n", name, tbl->ii_shift);
+	printf("#define __LOCALE_DATA_WC%s_TI_SHIFT  %7u\n", name, tbl->ti_shift);
+
+	printf("\n#ifdef WANT_WC%s_data\n", name);
+
+	i = tbl->ii_len + tbl->ti_len + tbl->ut_len;
+	printf("\nstatic const unsigned char __LOCALE_DATA_WC%s_data[%zu] = {", name, i);
+	for (i = 0; i < tbl->ii_len; i++) {
+		if (i % 12 == 0) {
+			printf("\n");
+		}
+		printf(" %#04x,", tbl->ii[i]);
+	}
+	for (i = 0; i < tbl->ti_len; i++) {
+		if (i % 12 == 0) {
+			printf("\n");
+		}
+		printf(" %#04x,", tbl->ti[i]);
+	}
+	for (i = 0; i < tbl->ut_len; i++) {
+		if (i % 12 == 0) {
+			printf("\n");
+		}
+		printf(" %#04x,", tbl->ut[i]);
+	}
+	printf("\n};\n\n");
+
+	printf("#endif /* WANT_WC%s_data */\n\n", name);
+}
+
+static void dump_table_data(table_data *tbl)
+{
+	verbose_msg("ii_shift = %d  ti_shift = %d\n"
+		   "ii_len = %d  ti_len = %d  ut_len = %d\n"
+		   "total = %d\n",
+		   tbl->ii_shift, tbl->ti_shift,
+		   tbl->ii_len, tbl->ti_len, tbl->ut_len,
+		   (int) tbl->ii_len + (int) tbl->ti_len + (int) tbl->ut_len);
+}
+
+/* For sorting the blocks of unsigned chars. */
+static size_t nu_val;
+
+int nu_memcmp(const void *a, const void *b)
+{
+	return memcmp(*(unsigned char**)a, *(unsigned char**)b, nu_val);
+}
+
+static size_t newopt(unsigned char *ut, size_t usize, int shift, table_data *tbl);
+
+#define MAXTO		255			/* Restrict to minimal unsigned char max. */
+
+int main(int argc, char **argv)
+{
+	long int u, l, tt;
+	size_t smallest, t;
+	unsigned int c;
+	unsigned int d;
+	int i, n;
+	int ul_count = 0;
+	uldiff_entry uldiff[MAXTO];
+	table_data cttable;
+	table_data ultable;
+#if 0
+	table_data combtable;
+	table_data widthtable;
+	long int last_comb = 0;
+#endif
+	unsigned char wct[(RANGE/2)+1];	/* wctype table (nibble per wchar) */
+	unsigned char ult[RANGE+1];	/* upper/lower table */
+	unsigned char combt[(RANGE/4)+1];	/* combining */
+	unsigned char widtht[(RANGE/4)+1];	/* width */
+	wctrans_t totitle;
+	wctype_t is_comb, is_comb3;
+
+	long int typecount[16];
+	const char *typename[16];
+	static const char empty_slot[] = "empty_slot";
+	int built = 0;
+
+#define INIT_TYPENAME(X) typename[__CTYPE_##X] = "C_" #X
+
+	for (i = 0; i < 16; i++) {
+		typename[i] = empty_slot;
+	}
+
+	INIT_TYPENAME(unclassified);
+	INIT_TYPENAME(alpha_nonupper_nonlower);
+	INIT_TYPENAME(alpha_lower);
+	INIT_TYPENAME(alpha_upper_lower);
+	INIT_TYPENAME(alpha_upper);
+	INIT_TYPENAME(digit);
+	INIT_TYPENAME(punct);
+	INIT_TYPENAME(graph);
+	INIT_TYPENAME(print_space_nonblank);
+	INIT_TYPENAME(print_space_blank);
+	INIT_TYPENAME(space_nonblank_noncntrl);
+	INIT_TYPENAME(space_blank_noncntrl);
+	INIT_TYPENAME(cntrl_space_nonblank);
+	INIT_TYPENAME(cntrl_space_blank);
+	INIT_TYPENAME(cntrl_nonspace);
+
+	memset(&cttable, 0, sizeof(table_data));
+	memset(&ultable, 0, sizeof(table_data));
+#if 0
+	memset(combtable, 0, sizeof(table_data));
+	memset(widthtable, 0, sizeof(table_data));
+#endif
+	setvbuf(stdout, NULL, _IONBF, 0);
+
+	while (--argc) {
+		++argv;
+		if (!strcmp(*argv, "-v")) {
+			++verbose;
+			continue;
+		}
+		if (!setlocale(LC_CTYPE, *argv)) {
+			verbose_msg("setlocale(LC_CTYPE,%s) failed!  Skipping this locale...\n", *argv);
+			continue;
+		}
+
+		if (!(totitle = wctrans("totitle"))) {
+			verbose_msg("no totitle transformation.\n");
+		}
+		if (!(is_comb = wctype("combining"))) {
+			verbose_msg("no combining wctype.\n");
+		}
+		if (!(is_comb3 = wctype("combining_level3"))) {
+			verbose_msg("no combining_level3 wctype.\n");
+		}
+
+		if (!built) {
+			built = 1;
+			ul_count = 1;
+			uldiff[0].u = uldiff[0].l = 0;
+
+			memset(wct, 0, sizeof(wct));
+			memset(combt, 0, sizeof(combt));
+			memset(widtht, 0, sizeof(widtht));
+
+			for (i = 0; i < 16; i++) {
+				typecount[i] = 0;
+			}
+
+			for (c = 0; c <= RANGE; c++) {
+				if (iswdigit(c)) {
+					d = __CTYPE_digit;
+				} else if (iswalpha(c)) {
+					d = __CTYPE_alpha_nonupper_nonlower;
+					if (iswlower(c)) {
+						d = __CTYPE_alpha_lower;
+						if (iswupper(c)) {
+							d = __CTYPE_alpha_upper_lower;
+						}
+					} else if (iswupper(c)) {
+						d = __CTYPE_alpha_upper;
+					}
+				} else if (iswpunct(c)) {
+					d = __CTYPE_punct;
+				} else if (iswgraph(c)) {
+					d = __CTYPE_graph;
+				} else if (iswprint(c)) {
+					d = __CTYPE_print_space_nonblank;
+					if (iswblank(c)) {
+						d = __CTYPE_print_space_blank;
+					}
+				} else if (iswspace(c) && !iswcntrl(c)) {
+					d = __CTYPE_space_nonblank_noncntrl;
+					if (iswblank(c)) {
+						d = __CTYPE_space_blank_noncntrl;
+					}
+				} else if (iswcntrl(c)) {
+					d = __CTYPE_cntrl_nonspace;
+					if (iswspace(c)) {
+						d = __CTYPE_cntrl_space_nonblank;
+						if (iswblank(c)) {
+							d = __CTYPE_cntrl_space_blank;
+						}
+					}
+				} else {
+					d = __CTYPE_unclassified;
+				}
+
+				++typecount[d];
+#if 0
+				if (iswspace(c)) {
+					if (iswblank(c)) {
+						verbose_msg("%#8x : space  blank\n", c);
+					} else {
+						verbose_msg("%#8x : space\n", c);
+					}
+				}
+#endif
+#if 0
+				if (c < 256) {
+					unsigned int glibc;
+
+					glibc = 0;
+					if (isalnum(c)) ++glibc; glibc <<= 1;
+					if (isalpha(c)) ++glibc; glibc <<= 1;
+					if (isblank(c)) ++glibc; glibc <<= 1;
+					if (iscntrl(c)) ++glibc; glibc <<= 1;
+					if (isdigit(c)) ++glibc; glibc <<= 1;
+					if (isgraph(c)) ++glibc; glibc <<= 1;
+					if (islower(c)) ++glibc; glibc <<= 1;
+					if (isprint(c)) ++glibc; glibc <<= 1;
+					if (ispunct(c)) ++glibc; glibc <<= 1;
+					if (isspace(c)) ++glibc; glibc <<= 1;
+					if (isupper(c)) ++glibc; glibc <<= 1;
+					if (isxdigit(c)) ++glibc;
+					verbose_msg("%#8x : ctype %#4x\n", c, glibc);
+				}
+#endif
+#if 1
+				/* Paranoid checking... */
+				{
+					unsigned int glibc;
+					unsigned int mine;
+
+					glibc = 0;
+					if (iswalnum(c)) ++glibc; glibc <<= 1;
+					if (iswalpha(c)) ++glibc; glibc <<= 1;
+					if (iswblank(c)) ++glibc; glibc <<= 1;
+					if (iswcntrl(c)) ++glibc; glibc <<= 1;
+					if (iswdigit(c)) ++glibc; glibc <<= 1;
+					if (iswgraph(c)) ++glibc; glibc <<= 1;
+					if (iswlower(c)) ++glibc; glibc <<= 1;
+					if (iswprint(c)) ++glibc; glibc <<= 1;
+					if (iswpunct(c)) ++glibc; glibc <<= 1;
+					if (iswspace(c)) ++glibc; glibc <<= 1;
+					if (iswupper(c)) ++glibc; glibc <<= 1;
+					if (iswxdigit(c)) ++glibc;
+
+					mine = 0;
+					if (mywalnum(d,c)) ++mine; mine <<= 1;
+					if (mywalpha(d,c)) ++mine; mine <<= 1;
+					if (mywblank(d,c)) ++mine; mine <<= 1;
+					if (mywcntrl(d,c)) ++mine; mine <<= 1;
+					if (mywdigit(d,c)) ++mine; mine <<= 1;
+					if (mywgraph(d,c)) ++mine; mine <<= 1;
+					if (mywlower(d,c)) ++mine; mine <<= 1;
+					if (mywprint(d,c)) ++mine; mine <<= 1;
+					if (mywpunct(d,c)) ++mine; mine <<= 1;
+					if (mywspace(d,c)) ++mine; mine <<= 1;
+					if (mywupper(d,c)) ++mine; mine <<= 1;
+					if (mywxdigit(d,c)) ++mine;
+
+					if (glibc != mine) {
+						verbose_msg("%#8x : glibc %#4x != %#4x mine  %u\n", c, glibc, mine, d);
+						return EXIT_FAILURE;
+					}
+#if 0
+					if (iswctype(c,is_comb) || iswctype(c,is_comb3)) {
+/*						if (!iswpunct(c)) { */
+							verbose_msg("%#8x : %d %d %#4x\n",
+								   c, iswctype(c,is_comb),iswctype(c,is_comb3), glibc);
+/*						} */
+					}
+#endif
+#if 0
+					if (iswctype(c,is_comb) || iswctype(c,is_comb3)) {
+						if (!last_comb) {
+							verbose_msg("%#8x - ", c);
+							last_comb = c;
+						} else if (last_comb + 1 < c) {
+							verbose_msg("%#8x\n%#8x - ", last_comb, c);
+							last_comb = c;
+						} else {
+							last_comb = c;
+						}
+					}
+#endif
+				}
+#endif
+
+				combt[c/4] |= ((((!!iswctype(c,is_comb)) << 1) | !!iswctype(c,is_comb3))
+						   << ((c & 3) << 1));
+/*				comb3t[c/8] |= ((!!iswctype(c,is_comb3)) << (c & 7)); */
+
+/*				widtht[c/4] |= (wcwidth(c) << ((c & 3) << 1)); */
+
+				if (c & 1) {	/* Use the high nibble for odd numbered wchars. */
+					d <<= 4;
+				}
+				wct[c/2] |= d;
+
+				l = (long)(int) towlower(c) - c;
+				u = (long)(int) towupper(c) - c;
+				ult[c] = 0;
+				if (l || u) {
+					if ((l != (short)l) || (u != (short)u)) {
+						verbose_msg("range assumption error!  %x  %ld  %ld\n", c, l, u);
+						return EXIT_FAILURE;
+					}
+					for (i = 0; i < ul_count; i++) {
+						if ((l == uldiff[i].l) && (u == uldiff[i].u)) {
+							goto found;
+						}
+					}
+					uldiff[ul_count].l = l;
+					uldiff[ul_count].u = u;
+					++ul_count;
+					if (ul_count > MAXTO) {
+						verbose_msg("too many touppers/tolowers!\n");
+						return EXIT_FAILURE;
+					}
+ found:
+					ult[c] = i;
+				}
+			}
+
+			for (i = 0; i < 16; i++) {
+				verbose_msg("typecount[%2d] = %8ld  %s\n", i, typecount[i], typename[i]);
+			}
+
+			verbose_msg("optimizing is* table..\n");
+			n = -1;
+			smallest = SIZE_MAX;
+			cttable.ii = NULL;
+			for (i = 0; i < 14; i++) {
+				t = newopt(wct, (RANGE/2)+1, i, &cttable);
+				if (smallest >= t) {
+					n = i;
+					smallest = t;
+/*				} else { */
+/*					break; */
+				}
+			}
+			verbose_msg("smallest = %zu\n", smallest);
+			if (!(cttable.ii = malloc(smallest))) {
+				verbose_msg("couldn't allocate space!\n");
+				return EXIT_FAILURE;
+			}
+			smallest = SIZE_MAX;
+			newopt(wct, (RANGE/2)+1, n, &cttable);
+			++cttable.ti_shift;		/* correct for nibble mode */
+
+			verbose_msg("optimizing u/l-to table..\n");
+			smallest = SIZE_MAX;
+			ultable.ii = NULL;
+			for (i = 0; i < 14; i++) {
+				t = newopt(ult, RANGE+1, i, &ultable);
+				if (smallest >= t) {
+					n = i;
+					smallest = t;
+/*				} else { */
+/*					break; */
+				}
+			}
+			verbose_msg("%lu (smallest) + %lu (u/l diffs) = %lu\n",
+				(unsigned long) smallest,
+				(unsigned long) (4 * ul_count),
+				(unsigned long) (smallest + 4 * ul_count)
+			);
+			verbose_msg("smallest = %zu\n", smallest);
+			if (!(ultable.ii = malloc(smallest))) {
+				verbose_msg("couldn't allocate space!\n");
+				return EXIT_FAILURE;
+			}
+			smallest = SIZE_MAX;
+			newopt(ult, RANGE+1, n, &ultable);
+#if 0
+			verbose_msg("optimizing comb table..\n");
+			smallest = SIZE_MAX;
+			combtable.ii = NULL;
+			for (i = 0; i < 14; i++) {
+				t = newopt(combt, sizeof(combt), i, &combtable);
+				if (smallest >= t) {
+					n = i;
+					smallest = t;
+/*				} else { */
+/*					break; */
+				}
+			}
+			verbose_msg("smallest = %zu\n", smallest);
+			if (!(combtable.ii = malloc(smallest))) {
+				verbose_msg("couldn't allocate space!\n");
+				return EXIT_FAILURE;
+			}
+			smallest = SIZE_MAX;
+			newopt(combt, sizeof(combt), n, &combtable);
+			combtable.ti_shift += 4; /* correct for 4 entries per */
+#endif
+#if 0
+			verbose_msg("optimizing width table..\n");
+			smallest = SIZE_MAX;
+			widthtable.ii = NULL;
+			for (i = 0; i < 14; i++) {
+				t = newopt(widtht, sizeof(widtht), i, &widthtable);
+				if (smallest >= t) {
+					n = i;
+					smallest = t;
+/*				} else { */
+/*					break; */
+				}
+			}
+			verbose_msg("smallest = %zu\n", smallest);
+			if (!(widthtable.ii = malloc(smallest))) {
+				verbose_msg("couldn't allocate space!\n");
+				return EXIT_FAILURE;
+			}
+			smallest = SIZE_MAX;
+			newopt(widtht, sizeof(widtht), n, &widthtable);
+			widthtable.ti_shift += 4; /* correct for 4 entries per */
+#endif
+#if 0
+			verbose_msg("optimizing comb3 table..\n");
+			smallest = SIZE_MAX;
+			comb3table.ii = NULL;
+			for (i = 0; i < 14; i++) {
+				t = newopt(comb3t, sizeof(comb3t), i, &comb3table);
+				if (smallest >= t) {
+					n = i;
+					smallest = t;
+/*				} else { */
+/*					break; */
+				}
+			}
+			verbose_msg("smallest = %zu\n", smallest);
+			if (!(comb3table.ii = malloc(smallest))) {
+				verbose_msg("couldn't allocate space!\n");
+				return EXIT_FAILURE;
+			}
+			smallest = SIZE_MAX;
+			newopt(comb3t, sizeof(comb3t), n, &comb3table);
+			comb3table.ti_shift += 8; /* correct for 4 entries per */
+#endif
+
+			dump_table_data(&cttable);
+			dump_table_data(&ultable);
+#if 0
+			dump_table_data(&combtable);
+#endif
+		}
+
+		verbose_msg("verifying for %s...\n", *argv);
+#if RANGE == 0xffffU
+		for (c = 0; c <= 0xffffUL; c++)
+#else
+		for (c = 0; c <= 0x10ffffUL; c++)
+#endif
+		{
+			unsigned int glibc;
+			unsigned int mine;
+			unsigned int upper, lower;
+
+#if 0
+#if RANGE < 0x10000UL
+			if (c == 0x10000UL) {
+				c = 0x30000UL;	/* skip 1st and 2nd sup planes */
+			}
+#elif RANGE < 0x20000UL
+			if (c == 0x20000UL) {
+				c = 0x30000UL;	/* skip 2nd sup planes */
+			}
+#endif
+#endif
+			glibc = 0;
+			if (iswalnum(c)) ++glibc; glibc <<= 1;
+			if (iswalpha(c)) ++glibc; glibc <<= 1;
+			if (iswblank(c)) ++glibc; glibc <<= 1;
+			if (iswcntrl(c)) ++glibc; glibc <<= 1;
+			if (iswdigit(c)) ++glibc; glibc <<= 1;
+			if (iswgraph(c)) ++glibc; glibc <<= 1;
+			if (iswlower(c)) ++glibc; glibc <<= 1;
+			if (iswprint(c)) ++glibc; glibc <<= 1;
+			if (iswpunct(c)) ++glibc; glibc <<= 1;
+			if (iswspace(c)) ++glibc; glibc <<= 1;
+			if (iswupper(c)) ++glibc; glibc <<= 1;
+			if (iswxdigit(c)) ++glibc;
+
+			{
+				unsigned int u;
+				int n = 0, sc = 0; /* = 0 for verbose_msg only */
+				int i0 = 0, i1 = 0;
+
+				u = c;
+				if (u <= RANGE) {
+					sc = u & ((1 << cttable.ti_shift) - 1);
+					u >>= cttable.ti_shift;
+					n = u & ((1 << cttable.ii_shift) - 1);
+					u >>= cttable.ii_shift;
+
+					i0 = cttable.ii[u];
+					i0 <<= cttable.ii_shift;
+					i1 = cttable.ti[i0 + n];
+					i1 <<= (cttable.ti_shift - 1);
+					d = cttable.ut[i1 + (sc >> 1)];
+
+					if (sc & 1) {
+						d >>= 4;
+					}
+					d &= 0x0f;
+				} else if (((unsigned)(c - 0xe0020UL) <= 0x5f) || (c == 0xe0001UL)) {
+					d = __CTYPE_punct;
+				} else if ((unsigned)(c - 0xf0000UL) < 0x20000UL) {
+					if ((c & 0xffffU) <= 0xfffdU) {
+						d = __CTYPE_punct;
+					} else {
+						d = __CTYPE_unclassified;
+					}
+				} else {
+					d = __CTYPE_unclassified;
+				}
+
+				mine = 0;
+				if (mywalnum(d,c)) ++mine; mine <<= 1;
+				if (mywalpha(d,c)) ++mine; mine <<= 1;
+				if (mywblank(d,c)) ++mine; mine <<= 1;
+				if (mywcntrl(d,c)) ++mine; mine <<= 1;
+				if (mywdigit(d,c)) ++mine; mine <<= 1;
+				if (mywgraph(d,c)) ++mine; mine <<= 1;
+				if (mywlower(d,c)) ++mine; mine <<= 1;
+				if (mywprint(d,c)) ++mine; mine <<= 1;
+				if (mywpunct(d,c)) ++mine; mine <<= 1;
+				if (mywspace(d,c)) ++mine; mine <<= 1;
+				if (mywupper(d,c)) ++mine; mine <<= 1;
+				if (mywxdigit(d,c)) ++mine;
+
+				if (glibc != mine) {
+					verbose_msg("%#8x : glibc %#4x != %#4x mine %d\n", c, glibc, mine, d);
+					if (c < 0x30000UL) {
+						verbose_msg("sc=%#x u=%#x n=%#x i0=%#x i1=%#x\n", sc, u, n, i0, i1);
+					}
+				}
+
+				upper = lower = u = c;
+				if (u <= RANGE) {
+					sc = u & ((1 << ultable.ti_shift) - 1);
+					u >>= ultable.ti_shift;
+					n = u & ((1 << ultable.ii_shift) - 1);
+					u >>= ultable.ii_shift;
+
+					i0 = ultable.ii[u];
+					i0 <<= ultable.ii_shift;
+					i1 = ultable.ti[i0 + n];
+					i1 <<= (ultable.ti_shift);
+					i1 += sc;
+					i0 = ultable.ut[i1];
+					upper = c + uldiff[i0].u;
+					lower = c + uldiff[i0].l;
+				}
+
+				if (towupper(c) != upper) {
+					verbose_msg("%#8x : towupper glibc %#4x != %#4x mine\n",
+						   c, towupper(c), upper);
+				}
+
+				if (towlower(c) != lower) {
+					verbose_msg("%#8x : towlower glibc %#4x != %#4x mine   i0 = %d\n",
+						   c, towlower(c), lower, i0);
+				}
+
+				if (totitle && ((tt = towctrans(c, totitle)) != upper)) {
+					verbose_msg("%#8x : totitle glibc %#4lx != %#4x mine   i0 = %d\n",
+						   c, tt, upper, i0);
+				}
+			}
+
+			if ((c & 0xfff) == 0xfff) verbose_msg(".");
+		}
+		verbose_msg("done\n");
+	}
+
+	if (built) {
+		printf("#define __LOCALE_DATA_WC_TABLE_DOMAIN_MAX  %#8lx\n\n",
+				(unsigned long) RANGE);
+		output_table("ctype", &cttable);
+		output_table("uplow", &ultable);
+
+#warning fix the upper bound on the upper/lower tables... save 200 bytes or so
+		printf("#define __LOCALE_DATA_WCuplow_diffs  %7u\n", ul_count);
+		printf("\n#ifdef WANT_WCuplow_diff_data\n\n");
+		printf("\nstatic const short __LOCALE_DATA_WCuplow_diff_data[%zu] = {",
+			   2 * (size_t) ul_count);
+		for (i = 0; i < ul_count; i++) {
+			if (i % 4 == 0) {
+				printf("\n");
+			}
+			printf(" %6d, %6d,", uldiff[i].u, uldiff[i].l);
+		}
+		printf("\n};\n\n");
+		printf("#endif /* WANT_WCuplow_diff_data */\n\n");
+
+/*		output_table("comb", &combtable); */
+/*		output_table("width", &widthtable); */
+	}
+
+	return !built;
+}
+
+size_t newopt(unsigned char *ut, size_t usize, int shift, table_data *tbl)
+{
+	static int recurse;
+	unsigned char *ti[RANGE+1];	/* table index */
+	size_t numblocks;
+	size_t blocksize;
+	size_t uniq;
+	size_t i, j;
+	size_t smallest, t;
+	unsigned char *ii_save;
+	int uniqblock[256];
+	unsigned char uit[RANGE+1];
+	int shift2;
+
+	memset(uniqblock, 0x00, sizeof(uniqblock));
+
+	ii_save = NULL;
+	blocksize = 1 << shift;
+	numblocks = usize >> shift;
+
+	/* init table index */
+	for (i=j = 0; i < numblocks; i++) {
+		ti[i] = ut + j;
+		j += blocksize;
+	}
+
+	/* sort */
+	nu_val = blocksize;
+	qsort(ti, numblocks, sizeof(unsigned char *), nu_memcmp);
+
+	uniq = 1;
+	uit[(ti[0]-ut)/blocksize] = 0;
+	for (i=1; i < numblocks; i++) {
+		if (memcmp(ti[i-1], ti[i], blocksize) < 0) {
+			if (++uniq > 255) {
+				break;
+			}
+			uniqblock[uniq - 1] = i;
+		}
+#if 1
+		else if (memcmp(ti[i-1], ti[i], blocksize) > 0) {
+			verbose_msg("bad sort %li!\n", (long) i);
+			abort();
+		}
+#endif
+		uit[(ti[i]-ut)/blocksize] = uniq - 1;
+	}
+
+	smallest = SIZE_MAX;
+	shift2 = -1;
+
+	if (uniq > 255)
+		return SIZE_MAX;
+
+	smallest = numblocks + uniq * blocksize;
+	if (!recurse) {
+		++recurse;
+		for (j=1; j < 14; j++) {
+			if ((numblocks >> j) < 2) break;
+			if (tbl) {
+				ii_save = tbl->ii;
+				tbl->ii = NULL;
+			}
+			if ((t = newopt(uit, numblocks, j, tbl)) < SIZE_MAX) {
+				t += uniq * blocksize;
+			}
+			if (tbl) {
+				tbl->ii = ii_save;
+			}
+			if (smallest >= t) {
+				shift2 = j;
+				smallest = t;
+				if (!tbl->ii) {
+					verbose_msg("ishift %u  tshift %u  size %lu\n",
+						   shift2, shift, (unsigned long) t);
+				}
+/*  			} else { */
+/*  				break; */
+			}
+		}
+		--recurse;
+	}
+
+	if (tbl->ii) {
+		if (recurse) {
+			tbl->ii_shift = shift;
+			tbl->ii_len = numblocks;
+			memcpy(tbl->ii, uit, numblocks);
+			tbl->ti = tbl->ii + tbl->ii_len;
+			tbl->ti_len = uniq * blocksize;
+			for (i = 0; i < uniq; i++) {
+				memcpy(tbl->ti + i * blocksize, ti[uniqblock[i]], blocksize);
+			}
+		} else {
+			++recurse;
+			verbose_msg("setting ishift %u  tshift %u\n",
+							   shift2, shift);
+			newopt(uit, numblocks, shift2, tbl);
+			--recurse;
+			tbl->ti_shift = shift;
+			tbl->ut_len = uniq * blocksize;
+			tbl->ut = tbl->ti + tbl->ti_len;
+			for (i = 0; i < uniq; i++) {
+				memcpy(tbl->ut + i * blocksize, ti[uniqblock[i]], blocksize);
+			}
+		}
+	}
+	return smallest;
+}
+/* vi: set sw=4 ts=4: */
diff --git a/ap/build/uClibc/extra/locale/lmmtolso.c b/ap/build/uClibc/extra/locale/lmmtolso.c
new file mode 100644
index 0000000..2437a8f
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/lmmtolso.c
@@ -0,0 +1,72 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+int main(void)
+{
+	FILE *lmm;					/* mmap-able file */
+	FILE *lso;					/* static object */
+	struct stat fd_stat;
+	int c;
+	size_t i;
+
+	if (!(lmm = fopen("locale.mmap", "r"))) {
+		printf("cannot open locale.mmap!\n");
+		return EXIT_FAILURE;
+	}
+
+	if (fstat(fileno(lmm), &fd_stat)) {
+		printf("cannot stat locale.mmap!\n");
+		fclose(lmm);
+		return EXIT_FAILURE;
+	}
+
+	if (!(lso = fopen("locale_data.c", "w"))) {
+		printf("cannot open locale_data.c!\n");
+		fclose(lmm);
+		return EXIT_FAILURE;
+	}
+
+	fprintf(lso,
+			"#include <stddef.h>\n"
+			"#include <stdint.h>\n"
+			"#include \"lt_defines.h\"\n"
+			"#include \"locale_mmap.h\"\n\n"
+			"typedef union {\n"
+			"\tunsigned char buf[%zu];\n"
+			"\t__locale_mmap_t lmm;\n"
+			"} locale_union_t;\n\n"
+			"static const locale_union_t locale_union = { {",
+			(size_t) fd_stat.st_size
+			);
+
+	i = 0;
+	while ((c = getc(lmm)) != EOF) {
+		if (!(i & 0x7)) {
+			fprintf(lso, "\n\t");
+		}
+		fprintf(lso, "%#04x, ", c);
+		++i;
+	}
+	fprintf(lso,
+			"\n} };\n\n"
+			"const __locale_mmap_t *__locale_mmap = &locale_union.lmm;\n\n"
+			);
+
+	if (ferror(lmm)) {
+		printf("error reading!\n");
+		return EXIT_FAILURE;
+	}
+
+	if (ferror(lso) || fclose(lso)) {
+		printf("error writing!\n");
+		return EXIT_FAILURE;
+	}
+
+	fclose(lmm);
+
+	return EXIT_SUCCESS;
+}
diff --git a/ap/build/uClibc/extra/locale/locale_mmap.h b/ap/build/uClibc/extra/locale/locale_mmap.h
new file mode 100644
index 0000000..5b0df90
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/locale_mmap.h
@@ -0,0 +1,91 @@
+/* #define __LOCALE_DATA_MAGIC_SIZE 64 */
+#ifndef __WCHAR_ENABLED
+#if 0
+#warning WHOA!!! __WCHAR_ENABLED is not defined! defining it now...
+#endif
+#define __WCHAR_ENABLED
+#endif
+
+/* TODO - fix */
+#ifdef __WCHAR_ENABLED
+#define __LOCALE_DATA_WCctype_TBL_LEN      (__LOCALE_DATA_WCctype_II_LEN + __LOCALE_DATA_WCctype_TI_LEN + __LOCALE_DATA_WCctype_UT_LEN)
+#define __LOCALE_DATA_WCuplow_TBL_LEN      (__LOCALE_DATA_WCuplow_II_LEN + __LOCALE_DATA_WCuplow_TI_LEN + __LOCALE_DATA_WCuplow_UT_LEN)
+#define __LOCALE_DATA_WCuplow_diff_TBL_LEN (2 * __LOCALE_DATA_WCuplow_diffs)
+/* #define WCcomb_TBL_LEN		(WCcomb_II_LEN + WCcomb_TI_LEN + WCcomb_UT_LEN) */
+#endif
+
+#undef __PASTE2
+#define __PASTE2(A,B)   A ## B
+#undef __PASTE3
+#define __PASTE3(A,B,C) A ## B ## C
+
+#define __LOCALE_DATA_COMMON_MMAP(X) \
+	unsigned char   __PASTE3(lc_,X,_data)[__PASTE3(__lc_,X,_data_LEN)];
+
+#define __LOCALE_DATA_COMMON_MMIDX(X) \
+	unsigned char   __PASTE3(lc_,X,_rows)[__PASTE3(__lc_,X,_rows_LEN)]; \
+	uint16_t        __PASTE3(lc_,X,_item_offsets)[__PASTE3(__lc_,X,_item_offsets_LEN)]; \
+	uint16_t        __PASTE3(lc_,X,_item_idx)[__PASTE3(__lc_,X,_item_idx_LEN)]; \
+
+
+typedef struct {
+#ifdef __LOCALE_DATA_MAGIC_SIZE
+	unsigned char magic[__LOCALE_DATA_MAGIC_SIZE];
+#endif
+
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	const unsigned char tbl8ctype[__LOCALE_DATA_Cctype_TBL_LEN];
+	const unsigned char tbl8uplow[__LOCALE_DATA_Cuplow_TBL_LEN];
+#ifdef __WCHAR_ENABLED
+	const uint16_t tbl8c2wc[__LOCALE_DATA_Cc2wc_TBL_LEN]; /* char > 0x7f to wide char */
+	const unsigned char tbl8wc2c[__LOCALE_DATA_Cwc2c_TBL_LEN];
+	/* translit  */
+#endif /* __WCHAR_ENABLED */
+#endif /* __CTYPE_HAS_8_BIT_LOCALES */
+#ifdef __WCHAR_ENABLED
+	const unsigned char tblwctype[__LOCALE_DATA_WCctype_TBL_LEN];
+	const unsigned char tblwuplow[__LOCALE_DATA_WCuplow_TBL_LEN];
+	const int16_t tblwuplow_diff[__LOCALE_DATA_WCuplow_diff_TBL_LEN];
+/* 	const unsigned char tblwcomb[WCcomb_TBL_LEN]; */
+	/* width?? */
+#endif
+
+	__LOCALE_DATA_COMMON_MMAP(ctype)
+	__LOCALE_DATA_COMMON_MMAP(numeric)
+	__LOCALE_DATA_COMMON_MMAP(monetary)
+	__LOCALE_DATA_COMMON_MMAP(time)
+	/* collate is different */
+	__LOCALE_DATA_COMMON_MMAP(messages)
+
+
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	const __codeset_8_bit_t codeset_8_bit[__LOCALE_DATA_NUM_CODESETS];
+#endif
+
+	__LOCALE_DATA_COMMON_MMIDX(ctype)
+	__LOCALE_DATA_COMMON_MMIDX(numeric)
+	__LOCALE_DATA_COMMON_MMIDX(monetary)
+	__LOCALE_DATA_COMMON_MMIDX(time)
+	/* collate is different */
+	__LOCALE_DATA_COMMON_MMIDX(messages)
+
+	const uint16_t collate_data[__lc_collate_data_LEN];
+
+	unsigned char lc_common_item_offsets_LEN[__LOCALE_DATA_CATEGORIES];
+	size_t lc_common_tbl_offsets[__LOCALE_DATA_CATEGORIES * 4];
+	/* offsets from start of locale_mmap_t */
+	/* rows, item_offsets, item_idx, data */
+
+#ifdef __LOCALE_DATA_NUM_LOCALES
+	unsigned char locales[__LOCALE_DATA_NUM_LOCALES * __LOCALE_DATA_WIDTH_LOCALES];
+	unsigned char locale_names5[5*__LOCALE_DATA_NUM_LOCALE_NAMES];
+	unsigned char locale_at_modifiers[__LOCALE_DATA_AT_MODIFIERS_LENGTH];
+#endif
+
+	unsigned char lc_names[__lc_names_LEN];
+#ifdef __CTYPE_HAS_8_BIT_LOCALES
+	unsigned char codeset_list[sizeof(__LOCALE_DATA_CODESET_LIST)]; /* TODO - fix */
+#endif
+} __locale_mmap_t;
+
+extern const __locale_mmap_t *__locale_mmap;
diff --git a/ap/build/uClibc/extra/locale/programs/categories.def b/ap/build/uClibc/extra/locale/programs/categories.def
new file mode 100644
index 0000000..c248ba7
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/programs/categories.def
@@ -0,0 +1,357 @@
+/*
+ *
+ * Copyright (c) 2008  STMicroelectronics Ltd
+ * Filippo Arcidiacono (filippo.arcidiacono@st.com)
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ *
+ * Taken from glibc 2.6
+ *
+ */
+
+
+/* Definition of all available locale categories and their items.  -*- C -*-
+
+   These definitions are used by the 'locale' the program.
+
+   The general format of the descriptions is like this:
+
+     DEFINE_CATEGORY (ID, name, ( items ), setlocale-postload)
+
+   where items itself is an array of entries in the form
+
+     { ID, name, standard, value-type, min, max }
+
+   The usage of the load, check, output functions depends on the individual
+   program code which loads this file.
+
+   The various value types for the items are `string', `stringarray', `byte'
+   `bytearray', and `word'.  These cover all possible values in the current
+   locale definitions.  `min' and `max' can be individually used again.  */
+
+#ifndef NO_POSTLOAD
+#define NO_POSTLOAD NULL
+#endif
+
+#if 0
+DEFINE_CATEGORY
+(
+ LC_COLLATE, "LC_COLLATE",
+ (
+  DEFINE_ELEMENT (_NL_COLLATE_NRULES,           "collate-nrules",           std, word)
+  DEFINE_ELEMENT (_NL_COLLATE_RULESETS,         "collate-rulesets",         std, string)
+  DEFINE_ELEMENT (_NL_COLLATE_TABLEMB,          "collate-tablemb",          std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_WEIGHTMB,         "collate-weightmb",         std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_EXTRAMB,          "collate-extramb",          std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_INDIRECTMB,       "collate-indirectmb",       std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_TABLEWC,          "collate-tablewc",          std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_WEIGHTWC,         "collate-weightwc",         std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_EXTRAWC,          "collate-extrawc",          std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_INDIRECTWC,       "collate-indirectwc",       std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_SYMB_HASH_SIZEMB, "collate-symb-hash-sizemb", std, word)
+  DEFINE_ELEMENT (_NL_COLLATE_SYMB_TABLEMB,     "collate-symb-tablemb",     std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_SYMB_EXTRAMB,     "collate-symb-extramb",     std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_COLLSEQMB,        "collate-collseqmb",        std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_COLLSEQWC,        "collate-collseqwc",        std, wstring)
+  DEFINE_ELEMENT (_NL_COLLATE_CODESET,		"collate-codeset",	    std, string)
+  ), NO_POSTLOAD)
+#endif
+
+
+/* The actual definition of ctype is meaningless here.  It is hard coded in
+   the code because it has to be handled very specially.  Only the names of
+   the functions and the value types are important.  */
+DEFINE_CATEGORY
+(
+ LC_CTYPE, "LC_CTYPE",
+ (
+#if 0
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS,	  "ctype-class",        std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TOUPPER,      "ctype-toupper",      std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TOLOWER,      "ctype-tolower",      std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS32,      "ctype-class32",      std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS_NAMES,  "ctype-class-names",  std, stringlist, 10, 32)
+  DEFINE_ELEMENT (_NL_CTYPE_MAP_NAMES,	  "ctype-map-names",    std, stringlist, 2, 32)
+  DEFINE_ELEMENT (_NL_CTYPE_WIDTH,	  "ctype-width",        std, bytearray)
+  DEFINE_ELEMENT (_NL_CTYPE_MB_CUR_MAX,	  "ctype-mb-cur-max",   std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_CODESET_NAME, "charmap",		std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_TOUPPER32,    "ctype-toupper32",    std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TOLOWER32,    "ctype-tolower32",    std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_CLASS_OFFSET, "ctype-class-offset", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_MAP_OFFSET,   "ctype-map-offset",   std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS_MB_LEN, "ctype-indigits_mb-len", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS0_MB, "ctype-indigits0_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS1_MB, "ctype-indigits1_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS2_MB, "ctype-indigits2_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS3_MB, "ctype-indigits3_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS4_MB, "ctype-indigits4_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS5_MB, "ctype-indigits5_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS6_MB, "ctype-indigits6_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS7_MB, "ctype-indigits7_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS8_MB, "ctype-indigits8_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS9_MB, "ctype-indigits9_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS_WC_LEN, "ctype-indigits_wc-len", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS0_WC, "ctype-indigits0_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS1_WC, "ctype-indigits1_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS2_WC, "ctype-indigits2_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS3_WC, "ctype-indigits3_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS4_WC, "ctype-indigits4_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS5_WC, "ctype-indigits5_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS6_WC, "ctype-indigits6_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS7_WC, "ctype-indigits7_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS8_WC, "ctype-indigits8_wc", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_INDIGITS9_WC, "ctype-indigits9_wc", std, wstring)
+#endif
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT0_MB, "ctype-outdigit0_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT1_MB, "ctype-outdigit1_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT2_MB, "ctype-outdigit2_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT3_MB, "ctype-outdigit3_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT4_MB, "ctype-outdigit4_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT5_MB, "ctype-outdigit5_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT6_MB, "ctype-outdigit6_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT7_MB, "ctype-outdigit7_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT8_MB, "ctype-outdigit8_mb", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT9_MB, "ctype-outdigit9_mb", std, string)
+#if 0
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT0_WC, "ctype-outdigit0_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT1_WC, "ctype-outdigit1_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT2_WC, "ctype-outdigit2_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT3_WC, "ctype-outdigit3_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT4_WC, "ctype-outdigit4_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT5_WC, "ctype-outdigit5_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT6_WC, "ctype-outdigit6_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT7_WC, "ctype-outdigit7_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT8_WC, "ctype-outdigit8_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_OUTDIGIT9_WC, "ctype-outdigit9_wc", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_TAB_SIZE, "ctype-translit-tab-size", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_FROM_IDX, "ctype-translit-from-idx", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_FROM_TBL, "ctype-translit-from-tbl", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_TO_IDX, "ctype-translit-to-idx", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_TO_TBL, "ctype-translit-to-tbl", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, "ctype-translit-default-missing-len", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_DEFAULT_MISSING, "ctype-translit-default-missing", std, wstring)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_IGNORE_LEN, "ctype-translit-ignore-len", std, word)
+  DEFINE_ELEMENT (_NL_CTYPE_TRANSLIT_IGNORE, "ctype-translit-ignore", std, string)
+  DEFINE_ELEMENT (_NL_CTYPE_MAP_TO_NONASCII, "map-to-nonascii", std, word)
+#endif
+  ), _nl_postload_ctype)
+
+
+DEFINE_CATEGORY
+(
+ LC_MONETARY, "LC_MONETARY",
+ (
+  DEFINE_ELEMENT (INT_CURR_SYMBOL,                     "int_curr_symbol",        std, string)
+  DEFINE_ELEMENT (CURRENCY_SYMBOL,                     "currency_symbol",        std, string)
+  DEFINE_ELEMENT (MON_DECIMAL_POINT,                   "mon_decimal_point",      std, string)
+  DEFINE_ELEMENT (MON_THOUSANDS_SEP,                   "mon_thousands_sep",      std, string)
+  DEFINE_ELEMENT (MON_GROUPING,                        "mon_grouping",           std, bytearray)
+  DEFINE_ELEMENT (POSITIVE_SIGN,                       "positive_sign",          std, string)
+  DEFINE_ELEMENT (NEGATIVE_SIGN,                       "negative_sign",          std, string)
+  DEFINE_ELEMENT (INT_FRAC_DIGITS,                     "int_frac_digits",        std, byte)
+  DEFINE_ELEMENT (FRAC_DIGITS,                         "frac_digits",            std, byte)
+  DEFINE_ELEMENT (P_CS_PRECEDES,                       "p_cs_precedes",          std, byte, 0, 1)
+  DEFINE_ELEMENT (P_SEP_BY_SPACE,                      "p_sep_by_space",         std, byte, 0, 2)
+  DEFINE_ELEMENT (N_CS_PRECEDES,                       "n_cs_precedes",          std, byte, 0, 1)
+  DEFINE_ELEMENT (N_SEP_BY_SPACE,                      "n_sep_by_space",         std, byte, 0, 2)
+  DEFINE_ELEMENT (P_SIGN_POSN,                         "p_sign_posn",            std, byte, 0, 4)
+  DEFINE_ELEMENT (N_SIGN_POSN,                         "n_sign_posn",            std, byte, 0, 4)
+  DEFINE_ELEMENT (__INT_P_CS_PRECEDES,                 "int_p_cs_precedes",      std, byte, 0, 1)
+  DEFINE_ELEMENT (__INT_P_SEP_BY_SPACE,                "int_p_sep_by_space",     std, byte, 0, 2)
+  DEFINE_ELEMENT (__INT_N_CS_PRECEDES,                 "int_n_cs_precedes",      std, byte, 0, 1)
+  DEFINE_ELEMENT (__INT_N_SEP_BY_SPACE,                "int_n_sep_by_space",     std, byte, 0, 2)
+  DEFINE_ELEMENT (__INT_P_SIGN_POSN,                   "int_p_sign_posn",        std, byte, 0, 4)
+  DEFINE_ELEMENT (__INT_N_SIGN_POSN,                   "int_n_sign_posn",        std, byte, 0, 4)
+#if 0
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_CURR_SYMBOL,    "duo_int_curr_symbol",    std, string)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_CURRENCY_SYMBOL,    "duo_currency_symbol",    std, string)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_FRAC_DIGITS,    "duo_int_frac_digits",    std, byte)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_FRAC_DIGITS,        "duo_frac_digits",        std, byte)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_P_CS_PRECEDES,      "duo_p_cs_precedes",      std, byte, 0, 1)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_P_SEP_BY_SPACE,     "duo_p_sep_by_space",     std, byte, 0, 2)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_N_CS_PRECEDES,      "duo_n_cs_precedes",      std, byte, 0, 1)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_N_SEP_BY_SPACE,     "duo_n_sep_by_space",     std, byte, 0, 2)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_CS_PRECEDES,  "duo_int_p_cs_precedes",  std, byte, 0, 1)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, "duo_int_p_sep_by_space", std, byte, 0, 2)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_CS_PRECEDES,  "duo_int_n_cs_precedes",  std, byte, 0, 1)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, "duo_int_n_sep_by_space", std, byte, 0, 2)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_P_SIGN_POSN,        "duo_p_sign_posn",        std, byte, 0, 4)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_N_SIGN_POSN,        "duo_n_sign_posn",        std, byte, 0, 4)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_P_SIGN_POSN,    "duo_int_p_sign_posn",    std, byte, 0, 4)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_INT_N_SIGN_POSN,    "duo_int_n_sign_posn",    std, byte, 0, 4)
+  DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_FROM,         "uno_valid_from",         std, word)
+  DEFINE_ELEMENT (_NL_MONETARY_UNO_VALID_TO,           "uno_valid_to",           std, word)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_FROM,         "duo_valid_from",         std, word)
+  DEFINE_ELEMENT (_NL_MONETARY_DUO_VALID_TO,           "duo_valid_to",           std, word)
+  DEFINE_ELEMENT (_NL_MONETARY_CONVERSION_RATE,        "conversion_rate",         std, wordarray, 2, 2)
+  DEFINE_ELEMENT (_NL_MONETARY_DECIMAL_POINT_WC,       "monetary-decimal-point-wc", std, word)
+  DEFINE_ELEMENT (_NL_MONETARY_THOUSANDS_SEP_WC,       "monetary-thousands-sep-wc", std, word)
+  DEFINE_ELEMENT (_NL_MONETARY_CODESET,		       "monetary-codeset",	    std, string)
+#else
+  DEFINE_ELEMENT (_NL_MONETARY_CRNCYSTR,	       "monetary-crncystr",	    std, string)
+#endif
+  ), NO_POSTLOAD)
+
+
+DEFINE_CATEGORY
+(
+ LC_NUMERIC, "LC_NUMERIC",
+ (
+  DEFINE_ELEMENT (DECIMAL_POINT, "decimal_point", std, string)
+  DEFINE_ELEMENT (THOUSANDS_SEP, "thousands_sep", std, string)
+  DEFINE_ELEMENT (GROUPING,      "grouping",      std, bytearray)
+#if 0
+  DEFINE_ELEMENT (_NL_NUMERIC_DECIMAL_POINT_WC, "numeric-decimal-point-wc", std, word)
+  DEFINE_ELEMENT (_NL_NUMERIC_THOUSANDS_SEP_WC, "numeric-thousands-sep-wc", std, word)
+  DEFINE_ELEMENT (_NL_NUMERIC_CODESET,		"numeric-codeset",	    std, string)
+#endif
+
+  ), NO_POSTLOAD)
+
+
+DEFINE_CATEGORY
+(
+ LC_TIME, "LC_TIME",
+ (
+  DEFINE_ELEMENT (ABDAY_1,     "abday",       std, stringarray,  7,  7)
+  DEFINE_ELEMENT (DAY_1,       "day",         std, stringarray,  7,  7)
+  DEFINE_ELEMENT (ABMON_1,     "abmon",       std, stringarray, 12, 12)
+  DEFINE_ELEMENT (MON_1,       "mon",         std, stringarray, 12, 12)
+  DEFINE_ELEMENT (AM_STR,      "am_pm",       std, stringarray,  2,  2)
+  DEFINE_ELEMENT (D_T_FMT,     "d_t_fmt",     std, string)
+  DEFINE_ELEMENT (D_FMT,       "d_fmt",       std, string)
+  DEFINE_ELEMENT (T_FMT,       "t_fmt",       std, string)
+  DEFINE_ELEMENT (T_FMT_AMPM,  "t_fmt_ampm",  std, string)
+  DEFINE_ELEMENT (ERA,         "era",         opt, stringlist, 0, 100)
+  DEFINE_ELEMENT (ERA_YEAR,    "era_year",    opt, string)
+  DEFINE_ELEMENT (ERA_D_FMT,   "era_d_fmt",   opt, string)
+  DEFINE_ELEMENT (ALT_DIGITS,  "alt_digits",  opt, stringlist,  100, 100)
+  DEFINE_ELEMENT (ERA_D_T_FMT, "era_d_t_fmt", opt, string)
+  DEFINE_ELEMENT (ERA_T_FMT,   "era_t_fmt",   opt, string)
+#if 0
+  DEFINE_ELEMENT (_NL_TIME_ERA_NUM_ENTRIES,    "time-era-num-entries",    opt, word)
+  DEFINE_ELEMENT (_NL_TIME_ERA_ENTRIES,   "time-era-entries", opt, string)
+  DEFINE_ELEMENT (_NL_WABDAY_1,  "wide-abday",    std, wstringarray,  7,  7)
+  DEFINE_ELEMENT (_NL_WDAY_1,    "wide-day",      std, wstringarray,  7,  7)
+  DEFINE_ELEMENT (_NL_WABMON_1,  "wide-abmon",    std, wstringarray, 12, 12)
+  DEFINE_ELEMENT (_NL_WMON_1,    "wide-mon",      std, wstringarray, 12, 12)
+  DEFINE_ELEMENT (_NL_WAM_STR,   "wide-am_pm",    std, wstringarray,  2,  2)
+  DEFINE_ELEMENT (_NL_WD_T_FMT,  "wide-d_t_fmt",  std, wstring)
+  DEFINE_ELEMENT (_NL_WD_FMT,    "wide-d_fmt",    std, wstring)
+  DEFINE_ELEMENT (_NL_WT_FMT,    "wide-t_fmt",    std, wstring)
+  DEFINE_ELEMENT (_NL_WT_FMT_AMPM, "wide-t_fmt_ampm", std, wstring)
+  DEFINE_ELEMENT (_NL_WERA_YEAR,   "wide-era_year",    opt, wstring)
+  DEFINE_ELEMENT (_NL_WERA_D_FMT,  "wide-era_d_fmt",   opt, wstring)
+  DEFINE_ELEMENT (_NL_WALT_DIGITS,  "wide-alt_digits",  opt, wstringlist, 1000, 100)
+  DEFINE_ELEMENT (_NL_WERA_D_T_FMT, "wide-era_d_t_fmt", opt, wstring)
+  DEFINE_ELEMENT (_NL_WERA_T_FMT,   "wide-era_t_fmt",   opt, wstring)
+  DEFINE_ELEMENT (_NL_TIME_WEEK_NDAYS,      "week-ndays",          std, byte)
+  DEFINE_ELEMENT (_NL_TIME_WEEK_1STDAY,     "week-1stday",         std, word)
+  DEFINE_ELEMENT (_NL_TIME_WEEK_1STWEEK,    "week-1stweek",        std, byte)
+  DEFINE_ELEMENT (_NL_TIME_FIRST_WEEKDAY,   "first_weekday",       std, byte)
+  DEFINE_ELEMENT (_NL_TIME_FIRST_WORKDAY,   "first_workday",       std, byte)
+  DEFINE_ELEMENT (_NL_TIME_CAL_DIRECTION,   "cal_direction",       std, byte)
+  DEFINE_ELEMENT (_NL_TIME_TIMEZONE,        "timezone",            std, string)
+  DEFINE_ELEMENT (_DATE_FMT,                "date_fmt",            opt, string)
+  DEFINE_ELEMENT (_NL_W_DATE_FMT,           "wide-date_fmt",       opt, wstring)
+  DEFINE_ELEMENT (_NL_TIME_CODESET,	    "time-codeset",	   std, string)
+#endif
+  ), NO_POSTLOAD)
+
+
+DEFINE_CATEGORY
+(
+ LC_MESSAGES, "LC_MESSAGES",
+ (
+  DEFINE_ELEMENT (YESEXPR, "yesexpr", std, string)
+  DEFINE_ELEMENT (NOEXPR,  "noexpr",  std, string)
+  DEFINE_ELEMENT (YESSTR,  "yesstr",  opt, string)
+  DEFINE_ELEMENT (NOSTR,   "nostr",   opt, string)
+#if 0
+  DEFINE_ELEMENT (_NL_MESSAGES_CODESET, "messages-codeset", std, string)
+#endif
+  ), NO_POSTLOAD)
+
+#if 0
+DEFINE_CATEGORY
+(
+ LC_PAPER, "LC_PAPER",
+ (
+  DEFINE_ELEMENT (_NL_PAPER_HEIGHT, "height", std, word)
+  DEFINE_ELEMENT (_NL_PAPER_WIDTH,  "width",  std, word)
+  DEFINE_ELEMENT (_NL_PAPER_CODESET, "paper-codeset", std, string)
+  ), NO_POSTLOAD)
+
+DEFINE_CATEGORY
+(
+ LC_NAME, "LC_NAME",
+ (
+  DEFINE_ELEMENT (_NL_NAME_NAME_FMT,  "name_fmt",  std, string)
+  DEFINE_ELEMENT (_NL_NAME_NAME_GEN,  "name_gen",  std, string)
+  DEFINE_ELEMENT (_NL_NAME_NAME_MR,   "name_mr",   std, string)
+  DEFINE_ELEMENT (_NL_NAME_NAME_MRS,  "name_mrs",  std, string)
+  DEFINE_ELEMENT (_NL_NAME_NAME_MISS, "name_miss", std, string)
+  DEFINE_ELEMENT (_NL_NAME_NAME_MS,   "name_ms",   std, string)
+  DEFINE_ELEMENT (_NL_NAME_CODESET,   "name-codeset", std, string)
+  ), NO_POSTLOAD)
+
+DEFINE_CATEGORY
+(
+ LC_ADDRESS, "LC_ADDRESS",
+ (
+  DEFINE_ELEMENT (_NL_ADDRESS_POSTAL_FMT,      "postal_fmt",      std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NAME,    "country_name",    std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_POST,    "country_post",    std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_AB2,     "country_ab2",     std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_AB3,     "country_ab3",     std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_CAR,     "country_car",     std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_NUM,     "country_num",     std, word)
+  DEFINE_ELEMENT (_NL_ADDRESS_COUNTRY_ISBN,    "country_isbn",    std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_LANG_NAME,       "lang_name",       std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_LANG_AB,         "lang_ab",         std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_LANG_TERM,       "lang_term",       std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_LANG_LIB,        "lang_lib",        std, string)
+  DEFINE_ELEMENT (_NL_ADDRESS_CODESET,	       "address-codeset", std, string)
+  ), NO_POSTLOAD)
+
+DEFINE_CATEGORY
+(
+ LC_TELEPHONE, "LC_TELEPHONE",
+ (
+  DEFINE_ELEMENT (_NL_TELEPHONE_TEL_INT_FMT, "tel_int_fmt", std, string)
+  DEFINE_ELEMENT (_NL_TELEPHONE_TEL_DOM_FMT, "tel_dom_fmt", std, string)
+  DEFINE_ELEMENT (_NL_TELEPHONE_INT_SELECT,  "int_select",  std, string)
+  DEFINE_ELEMENT (_NL_TELEPHONE_INT_PREFIX,  "int_prefix",  std, string)
+  DEFINE_ELEMENT (_NL_TELEPHONE_CODESET,     "telephone-codeset", std, string)
+  ), NO_POSTLOAD)
+
+DEFINE_CATEGORY
+(
+ LC_MEASUREMENT, "LC_MEASUREMENT",
+ (
+  DEFINE_ELEMENT (_NL_MEASUREMENT_MEASUREMENT, "measurement", std, byte)
+  DEFINE_ELEMENT (_NL_MEASUREMENT_CODESET,     "measurement-codeset", std, string)
+  ), NO_POSTLOAD)
+
+DEFINE_CATEGORY
+(
+ LC_IDENTIFICATION, "LC_IDENTIFICATION",
+ (
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_TITLE,        "title",        std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_SOURCE,       "source",       std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_ADDRESS,      "address",      std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_CONTACT,      "contact",      std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_EMAIL,        "email",        std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_TEL,          "tel",          std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_FAX,          "fax",          std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_LANGUAGE,     "language",     std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_TERRITORY,    "territory",    std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_AUDIENCE,     "audience",     std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_APPLICATION,  "application",  std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_ABBREVIATION, "abbreviation", std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_REVISION,     "revision",     std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_DATE,         "date",         std, string)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_CATEGORY,     "category",     std, stringarray, 13, 13)
+  DEFINE_ELEMENT (_NL_IDENTIFICATION_CODESET,	   "identification-codeset", std, string)
+  ), NO_POSTLOAD)
+#endif
diff --git a/ap/build/uClibc/extra/locale/programs/locale.c b/ap/build/uClibc/extra/locale/programs/locale.c
new file mode 100644
index 0000000..dfd2029
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/programs/locale.c
@@ -0,0 +1,486 @@
+/* vi: set sw=4 ts=4: */
+/*
+ *
+ * Copyright (c) 2008  STMicroelectronics Ltd
+ * Filippo Arcidiacono (filippo.arcidiacono@st.com)
+ *
+ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+ *
+ * A 'locale' command implementation for uClibc.
+ *
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <langinfo.h>
+#include <unistd.h>
+#ifdef __UCLIBC_HAS_GETOPT_LONG__
+#include <getopt.h>
+#endif
+
+typedef struct {
+	unsigned char idx_name;
+	char dot_cs;		/* 0 if no codeset specified */
+	char cs;
+	unsigned char lc_ctype_row;
+	unsigned char lc_numeric_row;
+	unsigned char lc_monetary_row;
+	unsigned char lc_time_row;
+	unsigned char lc_collate_row;
+	unsigned char lc_messages_row;
+} locale_entry;
+
+/* Need to include this before locale.h and xlocale.h! */
+#include <bits/uClibc_locale.h>
+
+#undef CODESET_LIST
+#define CODESET_LIST			(__locale_mmap->codeset_list)
+#include <locale.h>
+#define LOCALE_NAMES			(__locale_mmap->locale_names5)
+#define LOCALES					(__locale_mmap->locales)
+#define LOCALE_AT_MODIFIERS	(__locale_mmap->locale_at_modifiers)
+#define CATEGORY_NAMES			(__locale_mmap->lc_names)
+
+#define GET_CODESET_NAME(N)  (const char *)(CODESET_LIST + *(CODESET_LIST + N - 3))
+#define GET_LOCALE_ENTRY(R)  (locale_entry *)(LOCALES + (__LOCALE_DATA_WIDTH_LOCALES * R))
+#define GET_CATEGORY_NAME(X) (CATEGORY_NAMES + *(CATEGORY_NAMES + X))
+#define GET_LOCALE_NAME(I)   (const char *)(LOCALE_NAMES + 5 * (I - 1))
+
+static const char utf8[] = "UTF-8";
+static const char ascii[] = "ASCII";
+
+/* If set print the name of the category.  */
+static int show_category_name = 0;
+
+/* If set print the name of the item.  */
+static int show_keyword_name = 0;
+
+/* If set print the usage command.  */
+static int show_usage = 0;
+
+/* Print names of all available locales.  */
+static int do_all = 0;
+
+/* Print names of all available character maps.  */
+static int do_charmaps = 0;
+
+static int remaining = 0;
+
+/* We can map the types of the entries into a few categories.  */
+enum value_type {
+	none,
+	string,
+	stringarray,
+	byte,
+	bytearray,
+	word,
+	stringlist,
+	wordarray,
+	wstring,
+	wstringarray,
+	wstringlist
+};
+
+/* Definition of the data structure which represents a category and its
+   items.  */
+struct category {
+	int cat_id;
+	const char *name;
+	size_t number;
+	struct cat_item {
+		int item_id;
+		const char *name;
+		enum { std, opt } status;
+		enum value_type value_type;
+		int min;
+		int max;
+	} *item_desc;
+};
+
+/* Simple helper macro.  */
+#define NELEMS(arr) ((sizeof (arr)) / (sizeof (arr[0])))
+
+/* For some tricky stuff.  */
+#define NO_PAREN(Item, More...) Item, ## More
+
+/* We have all categories defined in `categories.def'.  Now construct
+   the description and data structure used for all categories.  */
+#define DEFINE_ELEMENT(Item, More...) { Item, ## More },
+#define DEFINE_CATEGORY(category, name, items, postload) \
+    static struct cat_item category##_desc[] =				      \
+      {									      \
+        NO_PAREN items							      \
+      };
+
+#include "categories.def"
+#undef DEFINE_CATEGORY
+
+static struct category category[] = {
+#define DEFINE_CATEGORY(category, name, items, postload) \
+    [category] = { _NL_NUM_##category, name, NELEMS (category##_desc),	      \
+		   category##_desc },
+#include "categories.def"
+#undef DEFINE_CATEGORY
+};
+
+#define NCATEGORIES NELEMS (category)
+
+static void usage(const char *name);
+static void usage(const char *name)
+{
+	const char *s;
+
+	s = basename(name);
+#ifdef __UCLIBC_HAS_GETOPT_LONG__
+	fprintf(stderr,
+			"Usage: %s [-a | -m] [FORMAT] name...\n\n"
+			"\t-a, --all-locales\tWrite names of all available locales\n"
+			"\t-m, --charmaps\tWrite names of available charmaps\n"
+			"\nFORMAT:\n"
+			"\t-c, --category-name\tWrite names of selected categories\n"
+			"\t-k, --keyword-name\tWrite names of selected keywords\n"
+			, s);
+#else
+	fprintf(stderr,
+			"Usage: %s [-a | -m] [FORMAT] name...\n\n"
+			"\t-a\tWrite names of all available locales\n"
+			"\t-m\tWrite names of available charmaps\n"
+			"\nFORMAT:\n"
+			"\t-c\tWrite names of selected categories\n"
+			"\t-k\tWrite names of selected keywords\n"
+			, s);
+#endif
+}
+
+static int argp_parse(int argc, char *argv[]);
+static int argp_parse(int argc, char *argv[])
+{
+	int c;
+	char *progname;
+#ifdef __UCLIBC_HAS_GETOPT_LONG__
+	static const struct option long_options[] = {
+		{"all-locales", no_argument, NULL, 'a'},
+		{"charmaps", no_argument, NULL, 'm'},
+		{"category-name", no_argument, NULL, 'c'},
+		{"keyword-name", no_argument, NULL, 'k'},
+		{"help", no_argument, NULL, 'h'},
+		{NULL, 0, NULL, 0}};
+#endif
+	progname = *argv;
+#ifdef __UCLIBC_HAS_GETOPT_LONG__
+	while ((c = getopt_long(argc, argv, "amckh", long_options, NULL)) >= 0)
+#else
+	while ((c = getopt(argc, argv, "amckh")) >= 0)
+#endif
+		switch (c) {
+		case 'a':
+			do_all = 1;
+			break;
+		case 'c':
+			show_category_name = 1;
+			break;
+		case 'm':
+			do_charmaps = 1;
+			break;
+		case 'k':
+			show_keyword_name = 1;
+			break;
+		case 'h':
+			show_usage = 1;
+			break;
+		case '?':
+			fprintf(stderr, "Unknown option.\n");
+			usage(progname);
+			return 1;
+
+		default:
+			fprintf(stderr, "This should never happen!\n");
+			return 1;
+		}
+
+	remaining = optind;
+
+	return 0;
+}
+
+static unsigned const char *find_at(char c);
+static unsigned const char *find_at(char c)
+{
+	const unsigned char *q;
+
+	q = LOCALE_AT_MODIFIERS;
+	do {
+		if (q[1] == c) {
+			return (unsigned const char *) q + 2;
+		}
+		q += 2 + *q;
+	} while (*q);
+
+	return NULL;
+}
+
+static void find_locale_string(locale_entry * loc_rec, char *loc)
+{
+	char at = 0;
+	unsigned char idx;
+	uint16_t dotcs, cs;
+
+	idx = loc_rec->idx_name;
+	if (!idx) {
+		*loc++ = 'C';	/* jump the first locale (C) */
+		*loc = '\0';
+	} else {
+		dotcs = (uint16_t) loc_rec->dot_cs;
+		cs = (uint16_t) loc_rec->cs;;
+		loc = strncpy(loc, GET_LOCALE_NAME(idx), 5);
+
+		if (loc[2] == '_') {
+			sprintf(loc, "%5.5s%c%s\0", loc, (dotcs != 0) ? '.' : ' ',
+					(cs == 1) ? ascii
+							: ((cs == 2) ?
+										utf8
+: GET_CODESET_NAME(cs)));
+		} else {
+			at = loc[2];
+			loc[2] = '_';
+			sprintf(loc, "%5.5s%c%s@%s\0", loc, (dotcs != 0) ? '.' : ' ',
+					(cs ==
+					 1) ? ascii : ((cs == 2) ? utf8 : GET_CODESET_NAME(cs)),
+					find_at(at));
+		}
+	}
+}
+
+static void list_locale(void);
+static void list_locale()
+{
+	char loc[40];
+	uint16_t n = 0;
+	locale_entry *locales = (locale_entry *) LOCALES;
+
+	do {
+		find_locale_string(locales, loc);
+		printf("%s\n", loc);
+		++n;
+		locales++;
+	} while (n < __LOCALE_DATA_NUM_LOCALES);
+}
+
+static void list_charmaps(void);
+static void list_charmaps()
+{
+	unsigned const char *cl;
+
+	cl = CODESET_LIST;
+	do {
+		printf("%s\n", CODESET_LIST + *cl);
+	} while (*++cl);
+
+}
+
+static void print_item(struct cat_item *item);
+static void print_item(struct cat_item *item)
+{
+	switch (item->value_type) {
+	case string:
+		if (show_keyword_name)
+			printf("%s=\"", item->name);
+		fputs(nl_langinfo(item->item_id) ? : "", stdout);
+		if (show_keyword_name)
+			putchar('"');
+		putchar('\n');
+		break;
+	case stringarray:
+	{
+		int cnt;
+		const char *val;
+
+		if (show_keyword_name)
+			printf("%s=\"", item->name);
+
+		for (cnt = 0; cnt < item->max - 1; ++cnt) {
+			val = nl_langinfo(item->item_id + cnt);
+			if (val != NULL)
+				fputs(val, stdout);
+			putchar(';');
+		}
+
+		val = nl_langinfo(item->item_id + cnt);
+		if (val != NULL)
+			fputs(val, stdout);
+
+		if (show_keyword_name)
+			putchar('"');
+		putchar('\n');
+	}
+		break;
+	case stringlist:
+	{
+		int first = 1;
+		const char *val = nl_langinfo(item->item_id) ? : "";
+		int cnt;
+
+		if (show_keyword_name)
+			printf("%s=", item->name);
+
+		for (cnt = 0; cnt < item->max && *val != '\0'; ++cnt) {
+			printf("%s%s%s%s", first ? "" : ";",
+				   show_keyword_name ? "\"" : "", val,
+				   show_keyword_name ? "\"" : "");
+			val = strchr(val, '\0') + 1;
+			first = 0;
+		}
+		putchar('\n');
+	}
+		break;
+	case byte:
+	{
+		const char *val = nl_langinfo(item->item_id);
+
+		if (show_keyword_name)
+			printf("%s=", item->name);
+
+		if (val != NULL)
+			printf("%d", *val == '\177' ? -1 : *val);
+		putchar('\n');
+	}
+		break;
+	case bytearray:
+	{
+		const char *val = nl_langinfo(item->item_id);
+		int cnt = val ? strlen(val) : 0;
+
+		if (show_keyword_name)
+			printf("%s=", item->name);
+
+		while (cnt > 1) {
+			printf("%d;", *val == '\177' ? -1 : *val);
+			--cnt;
+			++val;
+		}
+
+		printf("%d\n", cnt == 0 || *val == '\177' ? -1 : *val);
+	}
+		break;
+	case word:
+	{
+		union {
+			unsigned int word;
+			char *string;
+		} val;
+
+		val.string = nl_langinfo(item->item_id);
+		if (show_keyword_name)
+			printf("%s=", item->name);
+
+		printf("%d\n", val.word);
+	}
+		break;
+	case wstring:
+	case wstringarray:
+	case wstringlist:
+		/* We don't print wide character information since the same
+		   information is available in a multibyte string.  */
+	default:
+		break;
+
+	}
+}
+
+/* Show the information request for NAME.  */
+static void show_info(const char *name);
+static void show_info(const char *name)
+{
+	size_t cat_no, item_no;
+	const unsigned char *cat_name;
+
+	/* Now all categories in an unspecified order.  */
+	for (cat_no = 0; cat_no < __LC_ALL; ++cat_no) {
+		cat_name = GET_CATEGORY_NAME(cat_no);
+		if (strcmp(name, (const char *) cat_name) == 0) {
+			if (show_category_name)
+				printf("%s\n", name);
+
+			for (item_no = 0; item_no < category[cat_no].number; ++item_no)
+				print_item(&category[cat_no].item_desc[item_no]);
+
+			return;
+		}
+
+		for (item_no = 0; item_no < category[cat_no].number; ++item_no)
+			if (strcmp(name, category[cat_no].item_desc[item_no].name) == 0) {
+				if (show_category_name != 0)
+					puts(category[cat_no].name);
+
+				print_item(&category[cat_no].item_desc[item_no]);
+				return;
+			}
+	}
+}
+
+static void show_locale_vars(void);
+static void show_locale_vars()
+{
+	size_t cat_no;
+	int row;			/* locale row */
+	const char *lcall = getenv("LC_ALL");
+	const char *lang = getenv("LANG") ? : "";
+	unsigned char *cur_loc = __global_locale->cur_locale + 1;
+	char loc_name[40];
+	locale_entry *locales;
+
+	/* LANG has to be the first value.  */
+	printf("LANG=%s\n", lang);
+
+	/* Now all categories in an unspecified order.  */
+	for (cat_no = 0; cat_no < __LC_ALL; ++cat_no) {
+		row = (((int) (*cur_loc & 0x7f)) << 7) + (cur_loc[1] & 0x7f);
+/*		assert(row < __LOCALE_DATA_NUM_LOCALES); */
+
+		locales = GET_LOCALE_ENTRY(row);
+		find_locale_string(locales, loc_name);
+		printf("%s=%s\n", GET_CATEGORY_NAME(cat_no), loc_name);
+
+		cur_loc += 2;
+	}
+
+	/* The last is the LC_ALL value.  */
+	printf("LC_ALL=%s\n", lcall ? : "");
+}
+
+int main(int argc, char *argv[])
+{
+	/* Parse and process arguments.  */
+	if (argp_parse(argc, argv))
+		return 1;
+
+	if (do_all) {
+		list_locale();
+		exit(EXIT_SUCCESS);
+	}
+
+	if (do_charmaps) {
+		list_charmaps();
+		exit(EXIT_SUCCESS);
+	}
+
+	if (show_usage) {
+		usage(*argv);
+		exit(EXIT_SUCCESS);
+	}
+
+	/* If no real argument is given we have to print the contents of the
+	   current locale definition variables. These are LANG and the LC_*.  */
+	if (remaining == argc && show_category_name == 0
+		&& show_keyword_name == 0) {
+		show_locale_vars();
+		exit(EXIT_SUCCESS);
+	}
+
+	/* Process all given names.  */
+	while (remaining < argc)
+		show_info(argv[remaining++]);
+
+	exit(EXIT_SUCCESS);
+}
diff --git a/ap/build/uClibc/extra/locale/tst_nl_langinfo.c b/ap/build/uClibc/extra/locale/tst_nl_langinfo.c
new file mode 100644
index 0000000..fcf2fe2
--- /dev/null
+++ b/ap/build/uClibc/extra/locale/tst_nl_langinfo.c
@@ -0,0 +1,296 @@
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <langinfo.h>
+#include <nl_types.h>
+
+#if !defined(__UCLIBC__) && 0
+#define DO_EXTRA
+#endif
+
+int main(int argc, char **argv)
+{
+	char *l;
+	const unsigned char *x;
+/*  	const unsigned char *y; */
+	const unsigned char *p;
+
+	if (argc > 2) {
+		printf("invalid args\n");
+		return EXIT_FAILURE;
+	}
+	if (argc == 1) {
+		l = "";
+	} else {
+		l = *++argv;
+	}
+
+	if (!(x = setlocale(LC_ALL,l))) {
+		printf("couldn't set locale %s\n", l);
+		return EXIT_FAILURE;
+	}
+
+/*  	printf("\nsetlocale returned:\n  "); */
+/*  	do { */
+/*  		printf("\\x%02x", *x); */
+/*  	} while (*x++); */
+/*  	printf("\n"); */
+
+#ifndef __BCC__
+#define STR(X) #X
+#else
+#define STR(X) __STR(X)
+#endif
+#define __PASTE2(A,B) A.B
+
+#define DO_NL_I(X) \
+	printf( STR(X) " = %d\n", (int) nl_langinfo(X) );
+#define DO_NL_S(X) \
+	printf( STR(X) " = \"%s\"\n", nl_langinfo(X) );
+#define DO_NL_C(X) \
+	printf( STR(X) " = \"\\x%02x\"\n", *((unsigned char *) nl_langinfo(X)) );
+
+	printf("ctype\n");
+
+		DO_NL_S(CODESET);
+#ifdef DO_EXTRA
+		DO_NL_I(_NL_CTYPE_INDIGITS_MB_LEN);
+		DO_NL_S(_NL_CTYPE_INDIGITS0_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS1_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS2_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS3_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS4_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS5_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS6_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS7_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS8_MB);
+		DO_NL_S(_NL_CTYPE_INDIGITS9_MB);
+#endif
+		DO_NL_S(_NL_CTYPE_OUTDIGIT0_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT1_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT2_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT3_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT4_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT5_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT6_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT7_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT8_MB);
+		DO_NL_S(_NL_CTYPE_OUTDIGIT9_MB);
+
+
+	printf("numeric\n");
+
+		DO_NL_S(RADIXCHAR);		/* DECIMAL_POINT */
+		DO_NL_S(THOUSEP);		/* THOUSANDS_SEP */
+/*  		DO_NL_S(GROUPING); */
+
+	printf("GROUPING = \"");
+	for (p = (unsigned char *) nl_langinfo(GROUPING) ; *p ; p++) {
+		printf("\\x%02x", *p);
+	}
+	printf("\"\n\n");
+
+	printf("monetary\n");
+
+		DO_NL_S(INT_CURR_SYMBOL);
+		DO_NL_S(CURRENCY_SYMBOL);
+		DO_NL_S(MON_DECIMAL_POINT);
+		DO_NL_S(MON_THOUSANDS_SEP);
+/*  		DO_NL_S(MON_GROUPING); */
+
+	printf("MON_GROUPING = \"");
+	for (p = (unsigned char *) nl_langinfo(MON_GROUPING) ; *p ; p++) {
+		printf("\\x%02x", *p);
+	}
+	printf("\"\n\n");
+
+		DO_NL_S(POSITIVE_SIGN);
+		DO_NL_S(NEGATIVE_SIGN);
+		DO_NL_C(INT_FRAC_DIGITS);
+		DO_NL_C(FRAC_DIGITS);
+		DO_NL_C(P_CS_PRECEDES);
+		DO_NL_C(P_SEP_BY_SPACE);
+		DO_NL_C(N_CS_PRECEDES);
+		DO_NL_C(N_SEP_BY_SPACE);
+		DO_NL_C(P_SIGN_POSN);
+		DO_NL_C(N_SIGN_POSN);
+		DO_NL_C(INT_P_CS_PRECEDES);
+		DO_NL_C(INT_P_SEP_BY_SPACE);
+		DO_NL_C(INT_N_CS_PRECEDES);
+		DO_NL_C(INT_N_SEP_BY_SPACE);
+		DO_NL_C(INT_P_SIGN_POSN);
+		DO_NL_C(INT_N_SIGN_POSN);
+
+		DO_NL_S(CRNCYSTR);		/* CURRENCY_SYMBOL */
+
+
+	printf("time\n");
+
+		DO_NL_S(ABDAY_1);
+		DO_NL_S(ABDAY_2);
+		DO_NL_S(ABDAY_3);
+		DO_NL_S(ABDAY_4);
+		DO_NL_S(ABDAY_5);
+		DO_NL_S(ABDAY_6);
+		DO_NL_S(ABDAY_7);
+
+		DO_NL_S(DAY_1);
+		DO_NL_S(DAY_2);
+		DO_NL_S(DAY_3);
+		DO_NL_S(DAY_4);
+		DO_NL_S(DAY_5);
+		DO_NL_S(DAY_6);
+		DO_NL_S(DAY_7);
+
+		DO_NL_S(ABMON_1);
+		DO_NL_S(ABMON_2);
+		DO_NL_S(ABMON_3);
+		DO_NL_S(ABMON_4);
+		DO_NL_S(ABMON_5);
+		DO_NL_S(ABMON_6);
+		DO_NL_S(ABMON_7);
+		DO_NL_S(ABMON_8);
+		DO_NL_S(ABMON_9);
+		DO_NL_S(ABMON_10);
+		DO_NL_S(ABMON_11);
+		DO_NL_S(ABMON_12);
+
+		DO_NL_S(MON_1);
+		DO_NL_S(MON_2);
+		DO_NL_S(MON_3);
+		DO_NL_S(MON_4);
+		DO_NL_S(MON_5);
+		DO_NL_S(MON_6);
+		DO_NL_S(MON_7);
+		DO_NL_S(MON_8);
+		DO_NL_S(MON_9);
+		DO_NL_S(MON_10);
+		DO_NL_S(MON_11);
+		DO_NL_S(MON_12);
+
+		DO_NL_S(AM_STR);
+		DO_NL_S(PM_STR);
+
+		DO_NL_S(D_T_FMT);
+		DO_NL_S(D_FMT);
+		DO_NL_S(T_FMT);
+		DO_NL_S(T_FMT_AMPM);
+/* 		DO_NL_S(ERA); */
+		{
+		    const char *p = nl_langinfo(ERA);
+		    if (!p || !*p) {
+			printf("ERA = (none)\n");
+		    } else {
+			int i;
+			printf("ERA:\n");
+			for (i=0 ; i < 100 ; i++) {
+			    printf("  %3d: \"%s\"\n", i, p);
+			    while (*p) ++p;
+			    ++p;
+			    if (!*p) break;
+			}
+		    }
+		}
+
+		DO_NL_S(ERA_YEAR);		/* non SuSv3 */
+		DO_NL_S(ERA_D_FMT);
+/* 		DO_NL_S(ALT_DIGITS); */
+		{
+		    const char *p = nl_langinfo(ALT_DIGITS);
+		    if (!p || !*p) {
+			printf("ALT_DIGITS = (none)\n");
+		    } else {
+			int i;
+			printf("ALT_DIGITS:\n");
+			for (i=0 ; i < 100 ; i++) {
+			    printf("  %3d: \"%s\"\n", i, p);
+			    while (*p) ++p;
+			    ++p;
+			}
+		    }
+		}
+		DO_NL_S(ERA_D_T_FMT);
+		DO_NL_S(ERA_T_FMT);
+
+#ifdef DO_EXTRA
+		DO_NL_C(_NL_TIME_WEEK_NDAYS);
+		DO_NL_I(_NL_TIME_WEEK_1STDAY); /* grr... this won't work with 16bit ptrs */
+		DO_NL_C(_NL_TIME_WEEK_1STWEEK);
+		DO_NL_C(_NL_TIME_FIRST_WEEKDAY);
+		DO_NL_C(_NL_TIME_FIRST_WORKDAY);
+		DO_NL_C(_NL_TIME_CAL_DIRECTION);
+		DO_NL_S(_NL_TIME_TIMEZONE);
+		DO_NL_S(_DATE_FMT);
+#endif
+
+	printf("messages\n");
+
+		DO_NL_S(YESEXPR);
+		DO_NL_S(NOEXPR);
+		DO_NL_S(YESSTR);
+		DO_NL_S(NOSTR);
+
+#ifdef DO_EXTRA
+
+	printf("paper\n");
+
+		DO_NL_I(_NL_PAPER_HEIGHT);
+		DO_NL_I(_NL_PAPER_WIDTH);
+
+	printf("name\n");
+
+		DO_NL_S(_NL_NAME_NAME_FMT);
+		DO_NL_S(_NL_NAME_NAME_GEN);
+		DO_NL_S(_NL_NAME_NAME_MR);
+		DO_NL_S(_NL_NAME_NAME_MRS);
+		DO_NL_S(_NL_NAME_NAME_MISS);
+		DO_NL_S(_NL_NAME_NAME_MS);
+
+	printf("address\n");
+
+		DO_NL_S(_NL_ADDRESS_POSTAL_FMT);
+		DO_NL_S(_NL_ADDRESS_COUNTRY_NAME);
+		DO_NL_S(_NL_ADDRESS_COUNTRY_POST);
+		DO_NL_S(_NL_ADDRESS_COUNTRY_AB2);
+		DO_NL_S(_NL_ADDRESS_COUNTRY_AB3);
+		DO_NL_S(_NL_ADDRESS_COUNTRY_CAR);
+		DO_NL_I(_NL_ADDRESS_COUNTRY_NUM);
+		DO_NL_S(_NL_ADDRESS_COUNTRY_ISBN);
+		DO_NL_S(_NL_ADDRESS_LANG_NAME);
+		DO_NL_S(_NL_ADDRESS_LANG_AB);
+		DO_NL_S(_NL_ADDRESS_LANG_TERM);
+		DO_NL_S(_NL_ADDRESS_LANG_LIB);
+
+	printf("telephone\n");
+
+		DO_NL_S(_NL_TELEPHONE_TEL_INT_FMT);
+		DO_NL_S(_NL_TELEPHONE_TEL_DOM_FMT);
+		DO_NL_S(_NL_TELEPHONE_INT_SELECT);
+		DO_NL_S(_NL_TELEPHONE_INT_PREFIX);
+
+	printf("measurement\n");
+
+		DO_NL_C(_NL_MEASUREMENT_MEASUREMENT); /* 1 is metric, 2 is US */
+
+	printf("identification\n");
+
+		DO_NL_S(_NL_IDENTIFICATION_TITLE);
+		DO_NL_S(_NL_IDENTIFICATION_SOURCE);
+		DO_NL_S(_NL_IDENTIFICATION_ADDRESS);
+		DO_NL_S(_NL_IDENTIFICATION_CONTACT);
+		DO_NL_S(_NL_IDENTIFICATION_EMAIL);
+		DO_NL_S(_NL_IDENTIFICATION_TEL);
+		DO_NL_S(_NL_IDENTIFICATION_FAX);
+		DO_NL_S(_NL_IDENTIFICATION_LANGUAGE);
+		DO_NL_S(_NL_IDENTIFICATION_TERRITORY);
+		DO_NL_S(_NL_IDENTIFICATION_AUDIENCE);
+		DO_NL_S(_NL_IDENTIFICATION_APPLICATION);
+		DO_NL_S(_NL_IDENTIFICATION_ABBREVIATION);
+		DO_NL_S(_NL_IDENTIFICATION_REVISION);
+		DO_NL_S(_NL_IDENTIFICATION_DATE);
+		DO_NL_S(_NL_IDENTIFICATION_CATEGORY);
+
+#endif
+
+	return EXIT_SUCCESS;
+}
diff --git a/ap/build/uClibc/extra/scripts/MAKEALL b/ap/build/uClibc/extra/scripts/MAKEALL
new file mode 100755
index 0000000..f46d3bd
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/MAKEALL
@@ -0,0 +1,146 @@
+#!/bin/sh
+#
+# helper script to quick build testing with cross-compilers
+#
+
+: ${MAKE:=make}
+
+: ${BUILD_NCPUS:=$(getconf _NPROCESSORS_ONLN)}
+if [ "$BUILD_NCPUS" -gt 1 ] ; then
+	JOBS=-j$((BUILD_NCPUS + 1))
+else
+	JOBS=""
+fi
+MAKE="${MAKE} ${JOBS}"
+
+: ${CROSS_COMPILE:=${CROSS_COMPILER_PREFIX}}
+
+setconfig()
+{
+	local opt=$1
+	shift
+	case $1 in
+		[yn])   ;;
+		[0-9]*) ;;
+		*)      set -- '"'$*'"'
+	esac
+	sed -i \
+		-e "/${opt}=/s:=.*:=$*:" \
+		.config
+	echo "  ## setconfig ${opt} $*"
+}
+
+get_arches()
+{
+	case $1 in
+		hppa) echo hppa hppa2.0 hppa1.1 hppa1.0;;
+		i386) echo i386 i486 i586 i686;;
+		sh) echo sh4 sh2 sh3 sh1 sh;;
+		sparc) echo sparc sparc64;;
+		*)  echo $1;;
+	esac
+}
+
+find_compiler()
+{
+	local t a v o l
+	for a in $(get_arches $1) ; do
+		for l in uclibc gnu gnueabi "" ; do
+			for v in unknown pc gentoo "" ; do
+				for o in linux uclinux "" ; do
+					t="${a}${v:+-${v}}${o:+-${o}}${l:+-${l}}"
+					if ${t}-gcc --help > /dev/null 2>&1 ; then
+						echo ${t}-
+						return 0
+					fi
+				done
+			done
+		done
+	done
+}
+
+do_make()
+{
+	echo "  ## ${MAKE} -s $*"
+	${MAKE} -s "$@"
+}
+
+mark_arch()
+{
+	local r=$1 a=$2
+	eval $r=\"\$$r $a\"
+}
+
+if [ -z "$*" ] ; then
+	set -- $(awk \
+		'$0 ~ /^config TARGET_/ { sub("TARGET_",""); print $NF }' \
+		extra/Configs/Config.in | grep -v SUBARCH)
+fi
+pass=""
+fail=""
+skip=""
+for a in "$@" ; do
+	if [ -z "${CROSS_COMPILE}" ] ; then
+		CROSS_COMPILE=$(find_compiler ${a})
+	fi
+
+	if [ -z "${CROSS_COMPILE}" ] ; then
+		mark_arch skip $a
+		echo " ### SKIP: ${a}: could not find compiler"
+		continue
+	fi
+
+	rm -f ${a}.log ${a}.fail
+	(
+	set -e
+
+	echo " ### Building target ${a} (${CROSS_COMPILE})"
+
+	do_make distclean
+	do_make ARCH=$a defconfig
+	do_make oldconfig
+
+	setconfig CROSS_COMPILER_PREFIX ${CROSS_COMPILE}
+
+	header_path=${KERNEL_HEADERS:-$(echo '#include <linux/version.h>' | ${CROSS_COMPILE}cpp 2>/dev/null | grep -o '[^"]*linux/version.h')} || :
+	if [ -z "${header_path}" ] ; then
+		for p in /usr/${CROSS_COMPILE%-}/usr/include ; do
+			if [ -e ${p}/linux/version.h ] ; then
+				header_path=${p}
+				break
+			fi
+		done
+		if [ -z "${header_path}" ] ; then
+			echo "  ## unable to locate KERNEL_HEADERS"
+		fi
+	fi
+	setconfig KERNEL_HEADERS ${header_path%/linux/version.h}
+
+	if do_make ; then
+		echo "  ## PASS"
+	else
+		echo "  ## FAIL"
+		touch ${a}.fail
+	fi
+	) 2>&1 | tee ${a}.log
+
+	if [ -e ${a}.fail ] ; then
+		rm -f ${a}.fail
+		mark_arch fail $a
+	else
+		mark_arch pass $a
+	fi
+
+	unset CROSS_COMPILE
+done
+
+if [ -n "${skip}" ] ; then
+	printf '\nSKIPPED: %s\n' "${skip}"
+fi
+if [ -n "${fail}" ] ; then
+	printf '\nPASSED: %s\nFAILED: %s\n\n' "${pass}" "${fail}"
+	exit 1
+else
+	printf '\nAll arches passed!\n\n'
+	exit 0
+fi
diff --git a/ap/build/uClibc/extra/scripts/Makefile.arch.lvl3 b/ap/build/uClibc/extra/scripts/Makefile.arch.lvl3
new file mode 100644
index 0000000..ac00637
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.arch.lvl3
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../../../
+top_builddir=../../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.arch
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.arch.lvl4 b/ap/build/uClibc/extra/scripts/Makefile.arch.lvl4
new file mode 100644
index 0000000..633c91f
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.arch.lvl4
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../../../../
+top_builddir=../../../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.arch
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.libs.lvl0 b/ap/build/uClibc/extra/scripts/Makefile.libs.lvl0
new file mode 100644
index 0000000..4709fc2
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.libs.lvl0
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=./
+top_builddir=./
+#include $(top_builddir)Rules.mak
+#all: libs
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.libs.lvl1 b/ap/build/uClibc/extra/scripts/Makefile.libs.lvl1
new file mode 100644
index 0000000..c8dc9b4
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.libs.lvl1
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../
+top_builddir=../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.libs.lvl2 b/ap/build/uClibc/extra/scripts/Makefile.libs.lvl2
new file mode 100644
index 0000000..f910021
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.libs.lvl2
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../../
+top_builddir=../../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.objs.lvl2 b/ap/build/uClibc/extra/scripts/Makefile.objs.lvl2
new file mode 100644
index 0000000..11f362a
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.objs.lvl2
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../../
+top_builddir=../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.objs.lvl3 b/ap/build/uClibc/extra/scripts/Makefile.objs.lvl3
new file mode 100644
index 0000000..4a8f4a0
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.objs.lvl3
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../../../
+top_builddir=../../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.objs.lvl4 b/ap/build/uClibc/extra/scripts/Makefile.objs.lvl4
new file mode 100644
index 0000000..3ed177a
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.objs.lvl4
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../../../../
+top_builddir=../../../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/Makefile.utils.lvl1 b/ap/build/uClibc/extra/scripts/Makefile.utils.lvl1
new file mode 100644
index 0000000..bdaea9f
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/Makefile.utils.lvl1
@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+top_srcdir=../
+top_builddir=../
+include $(top_builddir)Rules.mak
+all: utils
+include Makefile.in
+include $(top_srcdir)Makerules
diff --git a/ap/build/uClibc/extra/scripts/conf-header.sh b/ap/build/uClibc/extra/scripts/conf-header.sh
new file mode 100755
index 0000000..8044f8c
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/conf-header.sh
@@ -0,0 +1,27 @@
+#!/bin/sh -e
+
+# Turn .config into a header file
+
+if [ -z "$1" ] ; then
+	echo "Usage: conf-header.sh <.config>"
+	exit 1
+fi
+
+cat <<EOF
+#if !defined _FEATURES_H && !defined __need_uClibc_config_h
+# error Never include <bits/uClibc_config.h> directly; use <features.h> instead
+#endif
+
+#define __UCLIBC_MAJOR__ ${MAJOR_VERSION}
+#define __UCLIBC_MINOR__ ${MINOR_VERSION}
+#define __UCLIBC_SUBLEVEL__ ${SUBLEVEL}
+EOF
+
+exec \
+sed \
+	-e '/^#$/d' \
+	-e '/^[^#]/s:^\([^=]*\)=\(.*\):#define __\1__ \2:' \
+	-e '/^#define /s: y$: 1:' \
+	-e '/^# .* is not set$/s:^# \(.*\) is not set$:#undef __\1__:' \
+	-e 's:^# \(.*\)$:/* \1 */:' \
+	$1
diff --git a/ap/build/uClibc/extra/scripts/cppcheck.sh b/ap/build/uClibc/extra/scripts/cppcheck.sh
new file mode 100755
index 0000000..127c509
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/cppcheck.sh
@@ -0,0 +1,56 @@
+#! /bin/sh
+
+# usage:
+#
+# make \
+#	REAL_CC=gcc-mine \
+#	CC=extra/scripts/cppcheck.sh \
+#	CPPCHECK_FLAGS="--enable=style,performance,portability,information,missingInclude --max-configs=256 -j $(($(getconf _NPROCESSORS_ONLN)-1))" \
+#	CPPCHECK_LIMIT="yes"
+
+# CPPCHECK_FLAGS are optional and are not set per default.
+# CPPCHECK_LIMIT limits cppcheck to the -D and -U that would be passed to CC.
+# Setting CPPCHECK_LIMIT greatly improves the check-time but obviously
+# just checks a small subset of the defines found in a file.
+
+: ${REAL_CC:=gcc}
+${REAL_CC} $@
+args=""
+limits=""
+next_arg=0
+next_limit=0
+
+for i in $@
+do
+  if [ $next_arg -eq 1 ] ; then
+	next_arg=0
+	case "/$i" in
+	/-*) exit 0 ;;
+	esac
+    [ "x$args" = "x" ] && args="$i" || args="$args $i"
+	continue
+  fi
+  if [ $next_limit -eq 1 ] ; then
+	next_limit=0
+    [ "x$limits" = "x" ] && limits="$i" || limits="$limits $i"
+	continue
+  fi
+  case "/$i" in
+  /-c) next_arg=1 ;;
+  /-isystem)
+		next_arg=1;
+		[ "x$args" = "x" ] && args="-I" || args="$args -I" ;;
+  /-I)
+		next_arg=1;
+		[ "x$args" = "x" ] && args="$i" || args="$args $i" ;;
+  /-I*) [ "x$args" = "x" ] && args="$i" || args="$args $i" ;;
+  /-D|/-U)
+		next_limit=1;
+		[ "x$limit" = "x" ] && limit="$i" || limit="$limit $i" ;;
+  /-D*) [ "x$limits" = "x" ] && limits="$i" || limits="$limits $i" ;;
+  /-s|/-S|/-dump*|/--print*|/-print*) exit 0 ;;
+  *) ;;
+  esac
+done
+[ -z "${CPPCHECK_LIMIT}" ] && limits=""
+[ -z "${args}" ] || exec cppcheck ${CPPCHECK_FLAGS} ${args} ${limits}
diff --git a/ap/build/uClibc/extra/scripts/create_makefiles.sh b/ap/build/uClibc/extra/scripts/create_makefiles.sh
new file mode 100755
index 0000000..1d94b0d
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/create_makefiles.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# Creates the necessary Makefiles to build w/ the Makefile.{arch,in} files
+
+DIRS="ldso libc libcrypt libintl libm libnsl libpthread libresolv librt libutil"
+
+if [ ! -f Makerules ] ; then
+	echo "Run this command in top_srcdir"
+	exit 1
+fi
+
+if [ -z "${USE_CMD}" ] ; then
+USE_CMD="cp"
+fi
+
+RM="rm -f"
+${RM} Makefile
+${USE_CMD} extra/scripts/Makefile.libs.lvl0 Makefile
+
+#for x in ${DIRS} ; do
+#	find ./${x} -name Makefile -exec rm -f {} \;
+#done
+
+for x in */Makefile.in ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.libs.lvl1 `dirname ${x}`/Makefile
+done
+
+for x in utils/Makefile.in ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.utils.lvl1 `dirname ${x}`/Makefile
+done
+
+for x in */*/Makefile.in ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.objs.lvl2 `dirname ${x}`/Makefile
+done
+
+# overwrites the earlier ones, we do not add arch specific to libm/arch
+for x in ldso/*/Makefile.in libpthread/*/Makefile.in ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.libs.lvl2 `dirname ${x}`/Makefile
+done
+
+for x in */*/*/Makefile.in ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.objs.lvl3 `dirname ${x}`/Makefile
+done
+
+for x in libc/*/*/Makefile.arch ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.arch.lvl3 `dirname ${x}`/Makefile
+done
+
+for x in */*/*/*/Makefile.in ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.objs.lvl4 `dirname ${x}`/Makefile
+done
+
+# we do not add these to libpthread/PTNAME/sysdeps/arch
+for x in libc/*/*/*/Makefile.arch ; do
+	${RM} `dirname ${x}`/Makefile
+	${USE_CMD} extra/scripts/Makefile.arch.lvl4 `dirname ${x}`/Makefile
+done
+
+exit 0
diff --git a/ap/build/uClibc/extra/scripts/defs.awk b/ap/build/uClibc/extra/scripts/defs.awk
new file mode 100644
index 0000000..1716fb1
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/defs.awk
@@ -0,0 +1,27 @@
+/^[ 	]*\.endp/	 { need_endp = 1 }
+/^[ 	]*\.end/	 { need_end = 1 }
+/^[ 	]*\.align/ { if($2 > max) max = $2; }
+
+END {
+    if(need_endp)
+    {
+	print "#define END_INIT .endp _init";
+	print "#define END_FINI .endp _fini";
+    } else if(need_end)
+    {
+	print "#define END_INIT .end _init";
+	print "#define END_FINI .end _fini";
+    }
+    else
+    {
+	print "#define END_INIT";
+	print "#define END_FINI";
+    }
+    if(max)
+	print "#define ALIGN .align", max;
+    else
+	print "#define ALIGN";
+
+    print "#include <libc-symbols.h>";
+    #print "weak_extern (__gmon_start__)";
+}
diff --git a/ap/build/uClibc/extra/scripts/format.lds b/ap/build/uClibc/extra/scripts/format.lds
new file mode 100644
index 0000000..c20212e
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/format.lds
@@ -0,0 +1,3 @@
+/* GNU ld script
+ * Use the shared library, but some functions are only in
+ * the static library, so try that secondarily. */
diff --git a/ap/build/uClibc/extra/scripts/gen-as-const.awk b/ap/build/uClibc/extra/scripts/gen-as-const.awk
new file mode 100644
index 0000000..013bd6e
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/gen-as-const.awk
@@ -0,0 +1,33 @@
+# Script used in producing headers of assembly constants from C expressions.
+# The input to this script looks like:
+#	#cpp-directive ...
+#	NAME1
+#	NAME2 expression ...
+# The output of this script is C code to be run through gcc -S and then
+# massaged to extract the integer constant values of the given C expressions.
+# A line giving just a name implies an expression consisting of just that name.
+
+BEGIN { started = 0 }
+
+# cpp directives go straight through.
+/^#/ { print; next }
+
+NF >= 1 && !started {
+  printf "void dummy(void);\n";
+  print "void dummy(void) {";
+  started = 1;
+}
+
+# Separator.
+$1 == "--" { next }
+
+NF == 1 { sub(/^.*$/, "& &"); }
+
+NF > 1 {
+  name = $1;
+  sub(/^[^ 	]+[ 	]+/, "");
+  printf "__asm__ (\"@@@name@@@%s@@@value@@@%%0@@@end@@@\" : : \"i\" ((long) %s));\n",
+    name, $0;
+}
+
+END { if (started) print "}" }
diff --git a/ap/build/uClibc/extra/scripts/gen_bits_syscall_h.sh b/ap/build/uClibc/extra/scripts/gen_bits_syscall_h.sh
new file mode 100755
index 0000000..f6353ba
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/gen_bits_syscall_h.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# Copyright (C) 2001 Manuel Novoa III <mjn3@uclibc.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# June 27, 2001         Manuel Novoa III
+#
+# This script expects top_builddir and CC (as used in the Makefiles) to be set
+# in the environment, and outputs the appropriate
+# $top_builddir/include/bits/sysnum.h # corresponding to
+# $top_builddir/include/asm/unistd.h to stdout.
+#
+# Warning!!! This does _no_ error checking!!!
+
+INCLUDE_OPTS="-nostdinc -I${KERNEL_HEADERS}"
+
+case $CC in
+*icc*) CC_SYSNUM_ARGS="-dM" ;;
+*)     CC_SYSNUM_ARGS="-dN" ;;
+esac
+
+( echo "#include <asm/unistd.h>";
+  echo "#include <asm/unistd.h>" |
+  $CC -E $CC_SYSNUM_ARGS $INCLUDE_OPTS - |
+  sed -ne 's/^[ ]*#define[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UCLIBC\1\2 \1\2/gp' \
+      -e 's/^[ ]*#undef[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UNDEFUCLIBC\1\2 \1\2/gp' # needed to strip out any kernel-internal defines
+) |
+$CC -E $INCLUDE_OPTS - |
+( echo "/* WARNING!!! AUTO-GENERATED FILE!!! DO NOT EDIT!!! */" ;
+  echo ;
+  echo "#ifndef _BITS_SYSNUM_H" ;
+  echo "#define _BITS_SYSNUM_H" ;
+  echo ;
+  echo "#ifndef _SYSCALL_H" ;
+  echo "# error \"Never use <bits/sysnum.h> directly; include <sys/syscall.h> instead.\"" ;
+  echo "#endif" ; echo ;
+  sed -ne 's/^UCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\) *\(.*\)/#undef \1\2\
+#define \1\2 \3\
+#define SYS_\2 \1\2/gp' \
+     -e 's/^UNDEFUCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/#undef \1\2/gp'
+  echo ;
+  echo "#endif" ;
+)
diff --git a/ap/build/uClibc/extra/scripts/getent b/ap/build/uClibc/extra/scripts/getent
new file mode 100755
index 0000000..30d515b
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/getent
@@ -0,0 +1,43 @@
+#!/bin/sh
+# $Header: /var/cvs/uClibc/extra/scripts/getent,v 1.2 2005/02/02 14:18:01 solar Exp $
+#
+# Closely (not perfectly) emulate the behavior of glibc's getent utility
+#
+#passwd|shadow|group|aliases|hosts|networks|ethers|netgroup|protocols|services|rpc
+# only returns the first match (by design)
+# dns based search is not supported (hosts,networks)
+# case-insensitive matches not supported (ethers; others?)
+# may return false-positives (hosts,protocols,rpc,services,ethers)
+
+export PATH="${PATH}:/bin:/usr/bin"
+
+file="/etc/$1"
+case $1 in
+	passwd|group)
+		match="^$2:\|^[^:]*:[^:]*:$2:" ;;
+	shadow)
+		match="^$2:" ;;
+	networks|netgroup)
+		match="^[[:space:]]*$2\>" ;;
+	hosts|protocols|rpc|services|ethers)
+		match="\<$2\>" ;;
+	aliases)
+		match="^[[:space:]]*$2[[:space:]]*:" ;;
+	""|-h|--help)
+		echo "USAGE: $0 database [key]"
+		exit 0 ;;
+	*)
+		echo "$0: Unknown database: $1" 1>&2
+		exit 1 ;;
+esac
+
+if [ ! -f "$file" ] ; then
+	echo "$0: Could not find database file for $1" 1>&2
+	exit 1
+fi
+
+if [ $# -eq 1 ] ; then
+	exec cat "$file"
+else
+	sed "s/#.*//; /$match/q; d" "$file" | grep . || exit 2
+fi
diff --git a/ap/build/uClibc/extra/scripts/install_headers.sh b/ap/build/uClibc/extra/scripts/install_headers.sh
new file mode 100755
index 0000000..14d64dc
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/install_headers.sh
@@ -0,0 +1,76 @@
+#!/bin/sh
+# Parameters:
+# $1 = source dir
+# $2 = dst dir
+# $top_builddir = well you guessed it
+
+srcdir=${1:-include}
+dstdir=${2:-`. ./.config 2>/dev/null && echo ${DEVEL_PREFIX}/include`}
+: ${top_builddir:=.}
+
+die_if_not_dir()
+{
+	for dir in "$@"; do
+		test -d "$dir" && continue
+		echo "Error: '$dir' is not a directory"
+		exit 1
+	done
+}
+
+
+# Ensure that created dirs/files have 755/644 perms
+umask 022
+
+
+# Sanity tests
+die_if_not_dir "${srcdir}"
+mkdir -p "${dstdir}" 2>/dev/null
+die_if_not_dir "${dstdir}"
+die_if_not_dir "$top_builddir"
+if ! test -x "$top_builddir/extra/scripts/unifdef"; then
+	echo "Error: need '$top_builddir/extra/scripts/unifdef' executable"
+	exit 1
+fi
+
+
+# Sanitize and copy uclibc headers
+(
+# We must cd, or else we'll prepend "${srcdir}" to filenames!
+cd "${srcdir}" || exit 1
+find . ! -name '.' -a ! -path '*/.*' | sed -e 's/^\.\///' -e '/^config\//d' \
+	-e '/^config$/d'
+) | \
+(
+IFS=''
+while read -r filename; do
+	if test -d "${srcdir}/$filename"; then
+		mkdir -p "${dstdir}/$filename" 2>/dev/null
+		continue
+	fi
+	if test x"${filename##libc-*.h}" = x""; then
+		# Do not install libc-XXXX.h files
+		continue
+	fi
+	# NB: unifdef exits with 1 if output is not
+	# exactly the same as input. That's ok.
+	# Do not abort the script if unifdef "fails"!
+	# NB2: careful with sed command arguments, they contain tab character
+	"$top_builddir/extra/scripts/unifdef" \
+		-U_LIBC \
+		-U__UCLIBC_GEN_LOCALE \
+		-U__NO_CTYPE \
+		"${srcdir}/$filename" \
+	| sed -e '/^rtld_hidden_proto[ 	]*([a-zA-Z0-9_]*)$/d' \
+	| sed -e '/^lib\(c\|m\|resolv\|dl\|intl\|rt\|nsl\|util\|crypt\|pthread\)_hidden_proto[ 	]*([a-zA-Z0-9_]*)$/d' \
+	>"${dstdir}/$filename"
+done
+)
+
+
+# Fix mode/owner bits
+cd "${dstdir}" || exit 1
+chmod -R u=rwX,go=rX . >/dev/null 2>&1
+chown -R `id | sed 's/^uid=\([0-9]*\).*gid=\([0-9]*\).*$/\1:\2/'` . >/dev/null 2>&1
+
+# ignore errors on unrelated files
+exit 0
diff --git a/ap/build/uClibc/extra/scripts/randconfig.sh b/ap/build/uClibc/extra/scripts/randconfig.sh
new file mode 100755
index 0000000..4c7126b
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/randconfig.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+# build random configurations
+# Usage:
+# ARCH=i386 nohup ./extra/scripts/randconfig.sh & sleep 1800 && touch STOP
+#
+# The above builds random i386 configs and automatically stops after 30 minutes
+
+test "x$AWK" = "x" && AWK=awk
+test "x$ARCH" = "x" && ARCH=`uname -m`
+KCONFIG_ALLCONFIG=.config.allconfig
+(echo TARGET_$ARCH=y
+ echo '# UCLIBC_PREGENERATED_LOCALE_DATA is not set'
+ echo '# DOMULTI is not set'
+ echo '# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set'
+) > $KCONFIG_ALLCONFIG
+export KCONFIG_ALLCONFIG
+
+if test "x$NCPU" = "x"
+then
+  test -r /proc/cpuinfo && \
+  eval `$AWK 'BEGIN{NCPU=0}
+/processor/{let NCPU++}
+END{if (NCPU<1) {NCPU=1}; print("NCPU="NCPU);}' /proc/cpuinfo` || \
+  NCPU=1
+fi
+MAKELEVEL="-j$NCPU"
+i=0
+while test ! -f STOP
+do
+  ARCH=$ARCH make $* randconfig > /dev/null
+  ARCH=$ARCH make $* silentoldconfig > /dev/null
+  if (make $MAKELEVEL $*) 2>&1 >& mk.log
+  then
+    :
+  else
+    i=`expr $i + 1`
+    num=`printf "%.5d" $i`
+    mv .config FAILED.$num.config
+    mv mk.log FAILED.$num.log
+  fi
+  make distclean > /dev/null || true
+done
+rm -f STOP
diff --git a/ap/build/uClibc/extra/scripts/relative_path.sh b/ap/build/uClibc/extra/scripts/relative_path.sh
new file mode 100755
index 0000000..4dddefa
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/relative_path.sh
@@ -0,0 +1,47 @@
+#! /bin/sh
+#
+# Copyright 2003 Alexandre Oliva <aoliva@redhat.com>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# This script computes a relative pathname from $1 to $2
+# They are assumed to not contain . or .. pathname components,
+# but if both directories exist and cd/pwd canonicalizes pathnames,
+# this shouldn't matter.  PWD_CMD may be set to some pwd command that does.
+
+from=`(cd $1 > /dev/null && ${PWD_CMD-pwd} || echo $1) 2>/dev/null | sed 's,//*,/,g;s,/*$,,'`
+target=`(cd $2 > /dev/null && ${PWD_CMD-pwd} || echo $2) 2>/dev/null | sed 's,//*,/,g;s,/*$,,'`
+
+case $from in /* | "") ;; *) from=`${PWD_CMD-pwd}`/$from ;; esac
+case $target in /* | "") ;; *) target=`${PWD_CMD-pwd}`/$target ;; esac
+
+case $target in
+"$from" | "$from/"*)
+  dots=`echo $from | sed s,.,.,g`
+  echo $target | sed "s,^$dots/*,,;s,[^/]$,&/,"
+  exit 0
+  ;;
+esac
+
+case $from in
+"$target/"*)
+  dots=`echo $target | sed s,.,.,g`
+  echo $from/ | sed "s,^$dots/*,,;s,[^/]$,&/,;s,[^/]*/*,../,g;s,[^/]$,&/,"
+  exit 0
+  ;;
+esac
+
+# Without trailing slash, from=/usr/lib and target=/uclibc/lib
+# mistakenly concludes that prefix=/u
+#prefix=`echo $from///$target | sed 's,\(\(/[^/]*\)*\).*///\1.*,\1,'`
+prefix=`echo $from///$target | sed 's,\(\(/[^/]*\)*/\).*///\1.*,\1,'`
+dots=`echo $prefix | sed s,.,.,g`
+from=`echo $from | sed "s,^$dots,,"`
+target=`echo $target | sed "s,^$dots,,"`
+
+from=`echo $from | sed 's,[^/][^/]*,..,g;s,.$,&/,'`
+echo ${from}$target/
+
+exit 0
diff --git a/ap/build/uClibc/extra/scripts/relinfo.pl b/ap/build/uClibc/extra/scripts/relinfo.pl
new file mode 100755
index 0000000..ec4a5df
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/relinfo.pl
@@ -0,0 +1,78 @@
+#! /usr/bin/perl
+eval "exec /usr/bin/perl -S $0 $*"
+    if 0;
+# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
+# Written by Ulrich Drepper <drepper@redhat.com>, 2000.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+for ($cnt = 0; $cnt <= $#ARGV; ++$cnt) {
+  $relent = 0;
+  $relsz = 0;
+  $relcount = 0;
+  $pltrelsz = 0;
+  $extplt = 0;
+  $users = 0;
+
+  open (READLINK, "readlink -f $ARGV[$cnt] |") || die "cannot open readlink";
+  while (<READLINK>) {
+        chop;
+        $fullpath = $_;
+  }
+  close (READLINK);
+
+  open (READELF, "eu-readelf -d $ARGV[$cnt] |") || die "cannot open $ARGV[$cnt]";
+  while (<READELF>) {
+    chop;
+    if (/.* RELA?ENT *([0-9]*).*/) {
+      $relent = $1 + 0;
+    } elsif (/.* RELA?SZ *([0-9]*).*/) {
+      $relsz = $1 + 0;
+    } elsif (/.* RELA?COUNT *([0-9]*).*/) {
+      $relcount = $1 + 0;
+    } elsif (/.* PLTRELSZ *([0-9]*).*/) {
+      $pltrelsz = $1 + 0;
+    }
+  }
+  close (READELF);
+
+  open (READELF, "eu-readelf -r $ARGV[$cnt] | sed '/'.gnu.conflict'/,/^\$/d' |") || die "cannot open $ARGV[$cnt]";
+  while (<READELF>) {
+    chop;
+    if (/.*JU?MP_SLOT *0+ .*/) {
+      ++$extplt;
+    }
+  }
+  close (READELF);
+
+  if (open (PRELINK, "/usr/sbin/prelink -p 2>/dev/null | fgrep \"$fullpath\" |")) {
+    while (<PRELINK>) {
+      ++$users;
+    }
+    close(PRELINK);
+  } else {
+    $users = -1;
+  }
+
+  printf ("%s: %d relocations, %d relative (%d%%), %d PLT entries, %d for local syms (%d%%)",
+	  $ARGV[$cnt], $relent == 0 ? 0 : $relsz / $relent, $relcount,
+	  $relent == 0 ? 0 : ($relcount * 100) / ($relsz / $relent),
+	  $relent == 0 ? 0 : $pltrelsz / $relent,
+	  $relent == 0 ? 0 : $pltrelsz / $relent - $extplt,
+	  $relent == 0 ? 0 : (($pltrelsz / $relent - $extplt) * 100) / ($pltrelsz / $relent));
+  if ($users >= 0) {
+    printf(", %d users", $users);
+  }
+  printf("\n");
+}
diff --git a/ap/build/uClibc/extra/scripts/unifdef.c b/ap/build/uClibc/extra/scripts/unifdef.c
new file mode 100644
index 0000000..56abf89
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/unifdef.c
@@ -0,0 +1,1072 @@
+/*
+ * Copyright (c) 2002 - 2005 Tony Finch <dot@dotat.at>.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by Dave Yost.
+ * It was rewritten to support ANSI C by Tony Finch. The original version of
+ * unifdef carried the following copyright notice. None of its code remains
+ * in this version (though some of the names remain).
+ *
+ * Copyright (c) 1985, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+
+#ifndef lint
+#if 0
+static const char copyright[] =
+"@(#) Copyright (c) 1985, 1993\n\
+	The Regents of the University of California.  All rights reserved.\n";
+#endif
+#ifdef __IDSTRING
+__IDSTRING(Berkeley, "@(#)unifdef.c	8.1 (Berkeley) 6/6/93");
+__IDSTRING(NetBSD, "$NetBSD: unifdef.c,v 1.8 2000/07/03 02:51:36 matt Exp $");
+__IDSTRING(dotat, "$dotat: things/unifdef.c,v 1.171 2005/03/08 12:38:48 fanf2 Exp $");
+#endif
+#endif /* not lint */
+#ifdef __FBSDID
+__FBSDID("$FreeBSD: /repoman/r/ncvs/src/usr.bin/unifdef/unifdef.c,v 1.20 2005/05/21 09:55:09 ru Exp $");
+#endif
+
+/*
+ * unifdef - remove ifdef'ed lines
+ *
+ *  Wishlist:
+ *      provide an option which will append the name of the
+ *        appropriate symbol after #else's and #endif's
+ *      provide an option which will check symbols after
+ *        #else's and #endif's to see that they match their
+ *        corresponding #ifdef or #ifndef
+ *
+ *   The first two items above require better buffer handling, which would
+ *     also make it possible to handle all "dodgy" directives correctly.
+ */
+
+#include <errno.h>
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+/* Avoid err.h since uClibc can disable these things */
+#define vwarnx(fmt, args)   ({ fprintf(stderr, "unifdef: "); vfprintf(stderr, fmt, args); fprintf(stderr, "\n"); })
+#define warnx(fmt, args...) fprintf(stderr, "unifdef: " fmt "\n", ## args)
+#define errx(exit_code, fmt, args...) ({ warnx(fmt, ## args); exit(exit_code); })
+#define err(exit_code, fmt, args...)  errx(exit_code, fmt ": %s", ## args, strerror(errno))
+
+/* types of input lines: */
+typedef enum {
+	LT_TRUEI,		/* a true #if with ignore flag */
+	LT_FALSEI,		/* a false #if with ignore flag */
+	LT_IF,			/* an unknown #if */
+	LT_TRUE,		/* a true #if */
+	LT_FALSE,		/* a false #if */
+	LT_ELIF,		/* an unknown #elif */
+	LT_ELTRUE,		/* a true #elif */
+	LT_ELFALSE,		/* a false #elif */
+	LT_ELSE,		/* #else */
+	LT_ENDIF,		/* #endif */
+	LT_DODGY,		/* flag: directive is not on one line */
+	LT_DODGY_LAST = LT_DODGY + LT_ENDIF,
+	LT_PLAIN,		/* ordinary line */
+	LT_EOF,			/* end of file */
+	LT_COUNT
+} Linetype;
+
+static char const * const linetype_name[] = {
+	"TRUEI", "FALSEI", "IF", "TRUE", "FALSE",
+	"ELIF", "ELTRUE", "ELFALSE", "ELSE", "ENDIF",
+	"DODGY TRUEI", "DODGY FALSEI",
+	"DODGY IF", "DODGY TRUE", "DODGY FALSE",
+	"DODGY ELIF", "DODGY ELTRUE", "DODGY ELFALSE",
+	"DODGY ELSE", "DODGY ENDIF",
+	"PLAIN", "EOF"
+};
+
+/* state of #if processing */
+typedef enum {
+	IS_OUTSIDE,
+	IS_FALSE_PREFIX,	/* false #if followed by false #elifs */
+	IS_TRUE_PREFIX,		/* first non-false #(el)if is true */
+	IS_PASS_MIDDLE,		/* first non-false #(el)if is unknown */
+	IS_FALSE_MIDDLE,	/* a false #elif after a pass state */
+	IS_TRUE_MIDDLE,		/* a true #elif after a pass state */
+	IS_PASS_ELSE,		/* an else after a pass state */
+	IS_FALSE_ELSE,		/* an else after a true state */
+	IS_TRUE_ELSE,		/* an else after only false states */
+	IS_FALSE_TRAILER,	/* #elifs after a true are false */
+	IS_COUNT
+} Ifstate;
+
+static char const * const ifstate_name[] = {
+	"OUTSIDE", "FALSE_PREFIX", "TRUE_PREFIX",
+	"PASS_MIDDLE", "FALSE_MIDDLE", "TRUE_MIDDLE",
+	"PASS_ELSE", "FALSE_ELSE", "TRUE_ELSE",
+	"FALSE_TRAILER"
+};
+
+/* state of comment parser */
+typedef enum {
+	NO_COMMENT = false,	/* outside a comment */
+	C_COMMENT,		/* in a comment like this one */
+	CXX_COMMENT,		/* between // and end of line */
+	STARTING_COMMENT,	/* just after slash-backslash-newline */
+	FINISHING_COMMENT,	/* star-backslash-newline in a C comment */
+	CHAR_LITERAL,		/* inside '' */
+	STRING_LITERAL		/* inside "" */
+} Comment_state;
+
+static char const * const comment_name[] = {
+	"NO", "C", "CXX", "STARTING", "FINISHING", "CHAR", "STRING"
+};
+
+/* state of preprocessor line parser */
+typedef enum {
+	LS_START,		/* only space and comments on this line */
+	LS_HASH,		/* only space, comments, and a hash */
+	LS_DIRTY		/* this line can't be a preprocessor line */
+} Line_state;
+
+static char const * const linestate_name[] = {
+	"START", "HASH", "DIRTY"
+};
+
+/*
+ * Minimum translation limits from ISO/IEC 9899:1999 5.2.4.1
+ */
+#define	MAXDEPTH        64			/* maximum #if nesting */
+#define	MAXLINE         4096			/* maximum length of line */
+#define	MAXSYMS         4096			/* maximum number of symbols */
+
+/*
+ * Sometimes when editing a keyword the replacement text is longer, so
+ * we leave some space at the end of the tline buffer to accommodate this.
+ */
+#define	EDITSLOP        10
+
+/*
+ * Globals.
+ */
+
+static bool             complement;		/* -c: do the complement */
+static bool             debugging;		/* -d: debugging reports */
+static bool             iocccok;		/* -e: fewer IOCCC errors */
+static bool             killconsts;		/* -k: eval constant #ifs */
+static bool             lnblank;		/* -l: blank deleted lines */
+static bool             lnnum;			/* -n: add #line directives */
+static bool             symlist;		/* -s: output symbol list */
+static bool             text;			/* -t: this is a text file */
+
+static const char      *symname[MAXSYMS];	/* symbol name */
+static const char      *value[MAXSYMS];		/* -Dsym=value */
+static bool             ignore[MAXSYMS];	/* -iDsym or -iUsym */
+static int              nsyms;			/* number of symbols */
+
+static FILE            *input;			/* input file pointer */
+static const char      *filename;		/* input file name */
+static int              linenum;		/* current line number */
+
+static char             tline[MAXLINE+EDITSLOP];/* input buffer plus space */
+static char            *keyword;		/* used for editing #elif's */
+
+static Comment_state    incomment;		/* comment parser state */
+static Line_state       linestate;		/* #if line parser state */
+static Ifstate          ifstate[MAXDEPTH];	/* #if processor state */
+static bool             ignoring[MAXDEPTH];	/* ignore comments state */
+static int              stifline[MAXDEPTH];	/* start of current #if */
+static int              depth;			/* current #if nesting */
+static int              delcount;		/* count of deleted lines */
+static bool             keepthis;		/* don't delete constant #if */
+
+static int              exitstat;		/* program exit status */
+
+static void             addsym(bool, bool, char *);
+static void             debug(const char *, ...);
+static void             done(void);
+static void             error(const char *);
+static int              findsym(const char *);
+static void             flushline(bool);
+static Linetype         get_line(void);
+static Linetype         ifeval(const char **);
+static void             ignoreoff(void);
+static void             ignoreon(void);
+static void             keywordedit(const char *);
+static void             nest(void);
+static void             process(void);
+static const char      *skipcomment(const char *);
+static const char      *skipsym(const char *);
+static void             state(Ifstate);
+static int              strlcmp(const char *, const char *, size_t);
+static void             unnest(void);
+static void             usage(void);
+
+#define endsym(c) (!isalpha((unsigned char)c) && !isdigit((unsigned char)c) && c != '_')
+
+/*
+ * The main program.
+ */
+int
+main(int argc, char *argv[])
+{
+	int opt;
+
+	while ((opt = getopt(argc, argv, "i:D:U:I:cdeklnst")) != -1)
+		switch (opt) {
+		case 'i': /* treat stuff controlled by these symbols as text */
+			/*
+			 * For strict backwards-compatibility the U or D
+			 * should be immediately after the -i but it doesn't
+			 * matter much if we relax that requirement.
+			 */
+			opt = *optarg++;
+			if (opt == 'D')
+				addsym(true, true, optarg);
+			else if (opt == 'U')
+				addsym(true, false, optarg);
+			else
+				usage();
+			break;
+		case 'D': /* define a symbol */
+			addsym(false, true, optarg);
+			break;
+		case 'U': /* undef a symbol */
+			addsym(false, false, optarg);
+			break;
+		case 'I':
+			/* no-op for compatibility with cpp */
+			break;
+		case 'c': /* treat -D as -U and vice versa */
+			complement = true;
+			break;
+		case 'd':
+			debugging = true;
+			break;
+		case 'e': /* fewer errors from dodgy lines */
+			iocccok = true;
+			break;
+		case 'k': /* process constant #ifs */
+			killconsts = true;
+			break;
+		case 'l': /* blank deleted lines instead of omitting them */
+			lnblank = true;
+			break;
+		case 'n': /* add #line directive after deleted lines */
+			lnnum = true;
+			break;
+		case 's': /* only output list of symbols that control #ifs */
+			symlist = true;
+			break;
+		case 't': /* don't parse C comments */
+			text = true;
+			break;
+		default:
+			usage();
+		}
+	argc -= optind;
+	argv += optind;
+	if (argc > 1) {
+		errx(2, "can only do one file");
+	} else if (argc == 1 && strcmp(*argv, "-") != 0) {
+		filename = *argv;
+		input = fopen(filename, "r");
+		if (input == NULL)
+			err(2, "can't open %s", filename);
+	} else {
+		filename = "[stdin]";
+		input = stdin;
+	}
+	process();
+	debug("bug at line %d", __LINE__);
+	abort(); /* bug */
+}
+
+static void
+usage(void)
+{
+	fprintf(stderr, "usage: unifdef [-cdeklnst] [-Ipath]"
+	    " [-Dsym[=val]] [-Usym] [-iDsym[=val]] [-iUsym] ... [file]\n");
+	exit(2);
+}
+
+/*
+ * A state transition function alters the global #if processing state
+ * in a particular way. The table below is indexed by the current
+ * processing state and the type of the current line.
+ *
+ * Nesting is handled by keeping a stack of states; some transition
+ * functions increase or decrease the depth. They also maintain the
+ * ignore state on a stack. In some complicated cases they have to
+ * alter the preprocessor directive, as follows.
+ *
+ * When we have processed a group that starts off with a known-false
+ * #if/#elif sequence (which has therefore been deleted) followed by a
+ * #elif that we don't understand and therefore must keep, we edit the
+ * latter into a #if to keep the nesting correct.
+ *
+ * When we find a true #elif in a group, the following block will
+ * always be kept and the rest of the sequence after the next #elif or
+ * #else will be discarded. We edit the #elif into a #else and the
+ * following directive to #endif since this has the desired behaviour.
+ *
+ * "Dodgy" directives are split across multiple lines, the most common
+ * example being a multi-line comment hanging off the right of the
+ * directive. We can handle them correctly only if there is no change
+ * from printing to dropping (or vice versa) caused by that directive.
+ * If the directive is the first of a group we have a choice between
+ * failing with an error, or passing it through unchanged instead of
+ * evaluating it. The latter is not the default to avoid questions from
+ * users about unifdef unexpectedly leaving behind preprocessor directives.
+ */
+typedef void state_fn(void);
+
+/* report an error */
+static void Eelif (void) { error("Inappropriate #elif"); }
+static void Eelse (void) { error("Inappropriate #else"); }
+static void Eendif(void) { error("Inappropriate #endif"); }
+static void Eeof  (void) { error("Premature EOF"); }
+static void Eioccc(void) { error("Obfuscated preprocessor control line"); }
+/* plain line handling */
+static void print (void) { flushline(true); }
+static void drop  (void) { flushline(false); }
+/* output lacks group's start line */
+static void Strue (void) { drop();  ignoreoff(); state(IS_TRUE_PREFIX); }
+static void Sfalse(void) { drop();  ignoreoff(); state(IS_FALSE_PREFIX); }
+static void Selse (void) { drop();               state(IS_TRUE_ELSE); }
+/* print/pass this block */
+static void Pelif (void) { print(); ignoreoff(); state(IS_PASS_MIDDLE); }
+static void Pelse (void) { print();              state(IS_PASS_ELSE); }
+static void Pendif(void) { print(); unnest(); }
+/* discard this block */
+static void Dfalse(void) { drop();  ignoreoff(); state(IS_FALSE_TRAILER); }
+static void Delif (void) { drop();  ignoreoff(); state(IS_FALSE_MIDDLE); }
+static void Delse (void) { drop();               state(IS_FALSE_ELSE); }
+static void Dendif(void) { drop();  unnest(); }
+/* first line of group */
+static void Fdrop (void) { nest();  Dfalse(); }
+static void Fpass (void) { nest();  Pelif(); }
+static void Ftrue (void) { nest();  Strue(); }
+static void Ffalse(void) { nest();  Sfalse(); }
+/* variable pedantry for obfuscated lines */
+static void Oiffy (void) { if (!iocccok) Eioccc(); Fpass(); ignoreon(); }
+static void Oif   (void) { if (!iocccok) Eioccc(); Fpass(); }
+static void Oelif (void) { if (!iocccok) Eioccc(); Pelif(); }
+/* ignore comments in this block */
+static void Idrop (void) { Fdrop();  ignoreon(); }
+static void Itrue (void) { Ftrue();  ignoreon(); }
+static void Ifalse(void) { Ffalse(); ignoreon(); }
+/* edit this line */
+static void Mpass (void) { strncpy(keyword, "if  ", 4); Pelif(); }
+static void Mtrue (void) { keywordedit("else\n");  state(IS_TRUE_MIDDLE); }
+static void Melif (void) { keywordedit("endif\n"); state(IS_FALSE_TRAILER); }
+static void Melse (void) { keywordedit("endif\n"); state(IS_FALSE_ELSE); }
+
+static state_fn * const trans_table[IS_COUNT][LT_COUNT] = {
+/* IS_OUTSIDE */
+{ Itrue, Ifalse,Fpass, Ftrue, Ffalse,Eelif, Eelif, Eelif, Eelse, Eendif,
+  Oiffy, Oiffy, Fpass, Oif,   Oif,   Eelif, Eelif, Eelif, Eelse, Eendif,
+  print, done },
+/* IS_FALSE_PREFIX */
+{ Idrop, Idrop, Fdrop, Fdrop, Fdrop, Mpass, Strue, Sfalse,Selse, Dendif,
+  Idrop, Idrop, Fdrop, Fdrop, Fdrop, Mpass, Eioccc,Eioccc,Eioccc,Eioccc,
+  drop,  Eeof },
+/* IS_TRUE_PREFIX */
+{ Itrue, Ifalse,Fpass, Ftrue, Ffalse,Dfalse,Dfalse,Dfalse,Delse, Dendif,
+  Oiffy, Oiffy, Fpass, Oif,   Oif,   Eioccc,Eioccc,Eioccc,Eioccc,Eioccc,
+  print, Eeof },
+/* IS_PASS_MIDDLE */
+{ Itrue, Ifalse,Fpass, Ftrue, Ffalse,Pelif, Mtrue, Delif, Pelse, Pendif,
+  Oiffy, Oiffy, Fpass, Oif,   Oif,   Pelif, Oelif, Oelif, Pelse, Pendif,
+  print, Eeof },
+/* IS_FALSE_MIDDLE */
+{ Idrop, Idrop, Fdrop, Fdrop, Fdrop, Pelif, Mtrue, Delif, Pelse, Pendif,
+  Idrop, Idrop, Fdrop, Fdrop, Fdrop, Eioccc,Eioccc,Eioccc,Eioccc,Eioccc,
+  drop,  Eeof },
+/* IS_TRUE_MIDDLE */
+{ Itrue, Ifalse,Fpass, Ftrue, Ffalse,Melif, Melif, Melif, Melse, Pendif,
+  Oiffy, Oiffy, Fpass, Oif,   Oif,   Eioccc,Eioccc,Eioccc,Eioccc,Pendif,
+  print, Eeof },
+/* IS_PASS_ELSE */
+{ Itrue, Ifalse,Fpass, Ftrue, Ffalse,Eelif, Eelif, Eelif, Eelse, Pendif,
+  Oiffy, Oiffy, Fpass, Oif,   Oif,   Eelif, Eelif, Eelif, Eelse, Pendif,
+  print, Eeof },
+/* IS_FALSE_ELSE */
+{ Idrop, Idrop, Fdrop, Fdrop, Fdrop, Eelif, Eelif, Eelif, Eelse, Dendif,
+  Idrop, Idrop, Fdrop, Fdrop, Fdrop, Eelif, Eelif, Eelif, Eelse, Eioccc,
+  drop,  Eeof },
+/* IS_TRUE_ELSE */
+{ Itrue, Ifalse,Fpass, Ftrue, Ffalse,Eelif, Eelif, Eelif, Eelse, Dendif,
+  Oiffy, Oiffy, Fpass, Oif,   Oif,   Eelif, Eelif, Eelif, Eelse, Eioccc,
+  print, Eeof },
+/* IS_FALSE_TRAILER */
+{ Idrop, Idrop, Fdrop, Fdrop, Fdrop, Dfalse,Dfalse,Dfalse,Delse, Dendif,
+  Idrop, Idrop, Fdrop, Fdrop, Fdrop, Dfalse,Dfalse,Dfalse,Delse, Eioccc,
+  drop,  Eeof }
+/*TRUEI  FALSEI IF     TRUE   FALSE  ELIF   ELTRUE ELFALSE ELSE  ENDIF
+  TRUEI  FALSEI IF     TRUE   FALSE  ELIF   ELTRUE ELFALSE ELSE  ENDIF (DODGY)
+  PLAIN  EOF */
+};
+
+/*
+ * State machine utility functions
+ */
+static void
+done(void)
+{
+	if (incomment)
+		error("EOF in comment");
+	exit(exitstat);
+}
+static void
+ignoreoff(void)
+{
+	if (depth == 0) {
+		debug("bug at line %d", __LINE__);
+		abort(); /* bug */
+	}
+	ignoring[depth] = ignoring[depth-1];
+}
+static void
+ignoreon(void)
+{
+	ignoring[depth] = true;
+}
+static void
+keywordedit(const char *replacement)
+{
+	size_t size = tline + sizeof(tline) - keyword;
+	char *dst = keyword;
+	const char *src = replacement;
+	if (size != 0) {
+		while ((--size != 0) && (*src != '\0'))
+			*dst++ = *src++;
+		*dst = '\0';
+	}
+	print();
+}
+static void
+nest(void)
+{
+	depth += 1;
+	if (depth >= MAXDEPTH)
+		error("Too many levels of nesting");
+	stifline[depth] = linenum;
+}
+static void
+unnest(void)
+{
+	if (depth == 0) {
+		debug("bug at line %d", __LINE__);
+		abort(); /* bug */
+	}
+	depth -= 1;
+}
+static void
+state(Ifstate is)
+{
+	ifstate[depth] = is;
+}
+
+/*
+ * Write a line to the output or not, according to command line options.
+ */
+static void
+flushline(bool keep)
+{
+	if (symlist)
+		return;
+	if (keep ^ complement) {
+		if (lnnum && delcount > 0)
+			printf("#line %d\n", linenum);
+		fputs(tline, stdout);
+		delcount = 0;
+	} else {
+		if (lnblank)
+			putc('\n', stdout);
+		exitstat = 1;
+		delcount += 1;
+	}
+}
+
+/*
+ * The driver for the state machine.
+ */
+static void
+process(void)
+{
+	Linetype lineval;
+
+	for (;;) {
+		linenum++;
+		lineval = get_line();
+		trans_table[ifstate[depth]][lineval]();
+		debug("process %s -> %s depth %d",
+		    linetype_name[lineval],
+		    ifstate_name[ifstate[depth]], depth);
+	}
+}
+
+/*
+ * Parse a line and determine its type. We keep the preprocessor line
+ * parser state between calls in the global variable linestate, with
+ * help from skipcomment().
+ */
+static Linetype
+get_line(void)
+{
+	const char *cp;
+	int cursym;
+	int kwlen;
+	Linetype retval;
+	Comment_state wascomment;
+
+	if (fgets(tline, MAXLINE, input) == NULL)
+		return (LT_EOF);
+	retval = LT_PLAIN;
+	wascomment = incomment;
+	cp = skipcomment(tline);
+	if (linestate == LS_START) {
+		if (*cp == '#') {
+			linestate = LS_HASH;
+			cp = skipcomment(cp + 1);
+		} else if (*cp != '\0')
+			linestate = LS_DIRTY;
+	}
+	if (!incomment && linestate == LS_HASH) {
+		keyword = tline + (cp - tline);
+		cp = skipsym(cp);
+		kwlen = cp - keyword;
+		/* no way can we deal with a continuation inside a keyword */
+		if (strncmp(cp, "\\\n", 2) == 0)
+			Eioccc();
+		if (strlcmp("ifdef", keyword, kwlen) == 0 ||
+		    strlcmp("ifndef", keyword, kwlen) == 0) {
+			cp = skipcomment(cp);
+			if ((cursym = findsym(cp)) < 0)
+				retval = LT_IF;
+			else {
+				retval = (keyword[2] == 'n')
+				    ? LT_FALSE : LT_TRUE;
+				if (value[cursym] == NULL)
+					retval = (retval == LT_TRUE)
+					    ? LT_FALSE : LT_TRUE;
+				if (ignore[cursym])
+					retval = (retval == LT_TRUE)
+					    ? LT_TRUEI : LT_FALSEI;
+			}
+			cp = skipsym(cp);
+		} else if (strlcmp("if", keyword, kwlen) == 0)
+			retval = ifeval(&cp);
+		else if (strlcmp("elif", keyword, kwlen) == 0)
+			retval = ifeval(&cp) - LT_IF + LT_ELIF;
+		else if (strlcmp("else", keyword, kwlen) == 0)
+			retval = LT_ELSE;
+		else if (strlcmp("endif", keyword, kwlen) == 0)
+			retval = LT_ENDIF;
+		else {
+			linestate = LS_DIRTY;
+			retval = LT_PLAIN;
+		}
+		cp = skipcomment(cp);
+		if (*cp != '\0') {
+			linestate = LS_DIRTY;
+			if (retval == LT_TRUE || retval == LT_FALSE ||
+			    retval == LT_TRUEI || retval == LT_FALSEI)
+				retval = LT_IF;
+			if (retval == LT_ELTRUE || retval == LT_ELFALSE)
+				retval = LT_ELIF;
+		}
+		if (retval != LT_PLAIN && (wascomment || incomment)) {
+			retval += LT_DODGY;
+			if (incomment)
+				linestate = LS_DIRTY;
+		}
+		/* skipcomment should have changed the state */
+// Hmm hppens sometimes on valid files
+//		if (linestate == LS_HASH) {
+//			debug("bug at line %d", __LINE__);
+//			abort(); /* bug */
+//		}
+	}
+	if (linestate == LS_DIRTY) {
+		while (*cp != '\0')
+			cp = skipcomment(cp + 1);
+	}
+	debug("parser %s comment %s line",
+	    comment_name[incomment], linestate_name[linestate]);
+	return (retval);
+}
+
+/*
+ * These are the binary operators that are supported by the expression
+ * evaluator. Note that if support for division is added then we also
+ * need short-circuiting booleans because of divide-by-zero.
+ */
+static int op_lt(int a, int b) { return (a < b); }
+static int op_gt(int a, int b) { return (a > b); }
+static int op_le(int a, int b) { return (a <= b); }
+static int op_ge(int a, int b) { return (a >= b); }
+static int op_eq(int a, int b) { return (a == b); }
+static int op_ne(int a, int b) { return (a != b); }
+static int op_or(int a, int b) { return (a || b); }
+static int op_and(int a, int b) { return (a && b); }
+
+/*
+ * An evaluation function takes three arguments, as follows: (1) a pointer to
+ * an element of the precedence table which lists the operators at the current
+ * level of precedence; (2) a pointer to an integer which will receive the
+ * value of the expression; and (3) a pointer to a char* that points to the
+ * expression to be evaluated and that is updated to the end of the expression
+ * when evaluation is complete. The function returns LT_FALSE if the value of
+ * the expression is zero, LT_TRUE if it is non-zero, or LT_IF if the
+ * expression could not be evaluated.
+ */
+struct ops;
+
+typedef Linetype eval_fn(const struct ops *, int *, const char **);
+
+static eval_fn eval_table, eval_unary;
+
+/*
+ * The precedence table. Expressions involving binary operators are evaluated
+ * in a table-driven way by eval_table. When it evaluates a subexpression it
+ * calls the inner function with its first argument pointing to the next
+ * element of the table. Innermost expressions have special non-table-driven
+ * handling.
+ */
+static const struct ops {
+	eval_fn *inner;
+	struct op {
+		const char *str;
+		int short_circuit_val;
+		int (*fn)(int, int);
+	} op[5];
+} eval_ops[] = {
+	{ eval_table, { { "||", 1, op_or } } },
+	{ eval_table, { { "&&", 0, op_and } } },
+	{ eval_table, { { "==", -1, op_eq },
+			{ "!=", -1, op_ne } } },
+	{ eval_unary, { { "<=", -1, op_le },
+			{ ">=", -1, op_ge },
+			{ "<", -1, op_lt },
+			{ ">", -1, op_gt } } }
+};
+
+/*
+ * Function for evaluating the innermost parts of expressions, viz.
+ * "!expr", "(expr)", "defined(symbol)", "defined symbol", "symbol", "number".
+ * We reset the keepthis flag when we find a non-constant subexpression.
+ */
+// TODO: we use LT_IF both as "I don't know whether it's false or true"
+// (example: "#if defined FOO") and when we see syntax error
+// (example: "#if (1 || 2" - no closing paren!), but this is wrong.
+// Binary && and || need to distinguish these cases in order to handle this:
+// "#if defined KNOWN_UNDEFINED && FOO" - discard
+// "#if defined KNOWN_UNDEFINED && (syntax_error_here" - do not discard!
+static Linetype
+eval_unary(const struct ops *ops, int *valp, const char **cpp)
+{
+	const char *cp;
+	char *ep;
+	int sym;
+
+	cp = skipcomment(*cpp);
+	if (*cp == '!') {
+		debug("eval%d !", ops - eval_ops);
+		cp++;
+		if (eval_unary(ops, valp, &cp) == LT_IF) {
+			*cpp = cp;
+			return (LT_IF);
+		}
+		*valp = !*valp;
+
+	} else if (*cp == '(') {
+		Linetype expr_res;
+
+		cp++;
+		debug("eval%d (%s", ops - eval_ops, cp);
+		expr_res = eval_table(eval_ops, valp, &cp);
+		cp = skipcomment(cp);
+		*cpp = cp;
+		if (*cp++ != ')')
+			return (LT_IF);
+		*cpp = cp;
+		if (expr_res == LT_IF)
+			return (LT_IF);
+
+	} else if (isdigit((unsigned char)*cp)) {
+		debug("eval%d number", ops - eval_ops);
+		*valp = strtol(cp, &ep, 0);
+		cp = skipsym(cp);
+
+	} else if (strncmp(cp, "defined", 7) == 0 && endsym(cp[7])) {
+		bool parens;
+
+		cp = skipcomment(cp+7);
+		debug("eval%d defined '%s'", ops - eval_ops, cp);
+		parens = (*cp == '(');
+		if (parens)
+			cp = skipcomment(cp+1);
+		sym = findsym(cp);
+		cp = skipsym(cp);
+		cp = skipcomment(cp);
+		if (parens) {
+			if (*cp != ')')
+				return (LT_IF);
+			cp = skipcomment(cp+1);
+		}
+		*cpp = cp;
+		if (sym < 0) {
+			debug("sym not found, returning LT_IF");
+			return (LT_IF);
+		}
+		*valp = (value[sym] != NULL);
+		keepthis = false;
+
+	} else if (!endsym(*cp)) {
+		debug("eval%d symbol", ops - eval_ops);
+		sym = findsym(cp);
+		cp = skipsym(cp);
+		*cpp = cp;
+		if (sym < 0)
+			return (LT_IF);
+		if (value[sym] == NULL)
+			*valp = 0;
+		else {
+			*valp = strtol(value[sym], &ep, 0);
+			if (*ep != '\0' || ep == value[sym])
+				return (LT_IF);
+		}
+		keepthis = false;
+
+	} else {
+		debug("eval%d bad expr", ops - eval_ops);
+		return (LT_IF);
+	}
+
+	*cpp = cp;
+	debug("eval%d = %d", ops - eval_ops, *valp);
+	return (*valp ? LT_TRUE : LT_FALSE);
+}
+
+/*
+ * Table-driven evaluation of binary operators.
+ */
+static Linetype
+eval_table(const struct ops *ops, int *valp, const char **cpp)
+{
+	Linetype left_side;
+	const struct op *op;
+	const char *cp;
+	int val;
+
+	debug("eval%d '%s'", ops - eval_ops, *cpp);
+	left_side = ops->inner(ops+1, valp, cpp);
+	cp = *cpp;
+
+	for (;;) {
+		Linetype right_side;
+
+		cp = skipcomment(cp);
+		for (op = ops->op; op->str != NULL; op++)
+			if (strncmp(cp, op->str, strlen(op->str)) == 0)
+				break;
+		if (op->str == NULL)
+			break;
+		cp += strlen(op->str);
+		debug("eval%d '%s'", ops - eval_ops, op->str);
+		right_side = ops->inner(ops+1, &val, &cp);
+		*cpp = cp;
+
+		/* If short_circuit_val is 0 or 1, we can ignore
+		 * right side if left size is known, and its value
+		 * (i.e., *valp) is 0 or !0, respectively */
+		if (left_side != LT_IF && op->short_circuit_val == !!*valp) {
+			debug("op->short_circuit_val:%d *valp:%d cp:'%s'",
+					op->short_circuit_val, *valp, cp);
+			*valp = !!*valp;
+			break;
+		}
+		/* Same for the right side */
+		if (right_side != LT_IF && op->short_circuit_val == !!val) {
+			debug("op->short_circuit_val:%d val:%d cp:'%s'",
+					op->short_circuit_val, val, cp);
+			left_side = right_side;
+			*valp = !!val;
+			break;
+		}
+
+		if (left_side == LT_IF || right_side == LT_IF)
+			return (LT_IF);
+		*valp = op->fn(*valp, val);
+		left_side = right_side;
+	}
+
+	debug("eval%d = %d LT_IF:%d", ops - eval_ops, *valp, (left_side == LT_IF));
+	if (left_side == LT_IF)
+		return (LT_IF);
+	return (*valp ? LT_TRUE : LT_FALSE);
+}
+
+/*
+ * Evaluate the expression on a #if or #elif line. If we can work out
+ * the result we return LT_TRUE or LT_FALSE accordingly, otherwise we
+ * return just a generic LT_IF.
+ */
+static Linetype
+ifeval(const char **cpp)
+{
+	int ret;
+	int val;
+
+	debug("eval %s", *cpp);
+	keepthis = killconsts ? false : true;
+	ret = eval_table(eval_ops, &val, cpp);
+	debug("val:%d ret:%d keepthis:%d", val, ret, keepthis);
+	return (keepthis ? LT_IF : ret);
+}
+
+/*
+ * Skip over comments, strings, and character literals and stop at the
+ * next character position that is not whitespace. Between calls we keep
+ * the comment state in the global variable incomment, and we also adjust
+ * the global variable linestate when we see a newline.
+ * XXX: doesn't cope with the buffer splitting inside a state transition.
+ */
+static const char *
+skipcomment(const char *cp)
+{
+	if (text || ignoring[depth]) {
+		for (; isspace((unsigned char)*cp); cp++)
+			if (*cp == '\n')
+				linestate = LS_START;
+		return (cp);
+	}
+	while (*cp != '\0')
+		/* don't reset to LS_START after a line continuation */
+		if (strncmp(cp, "\\\n", 2) == 0)
+			cp += 2;
+		else switch (incomment) {
+		case NO_COMMENT:
+			if (strncmp(cp, "/\\\n", 3) == 0) {
+				incomment = STARTING_COMMENT;
+				cp += 3;
+			} else if (strncmp(cp, "/*", 2) == 0) {
+				incomment = C_COMMENT;
+				cp += 2;
+			} else if (strncmp(cp, "//", 2) == 0) {
+				incomment = CXX_COMMENT;
+				cp += 2;
+			} else if (strncmp(cp, "\'", 1) == 0) {
+				incomment = CHAR_LITERAL;
+				linestate = LS_DIRTY;
+				cp += 1;
+			} else if (strncmp(cp, "\"", 1) == 0) {
+				incomment = STRING_LITERAL;
+				linestate = LS_DIRTY;
+				cp += 1;
+			} else if (strncmp(cp, "\n", 1) == 0) {
+				linestate = LS_START;
+				cp += 1;
+			} else if (strchr(" \t", *cp) != NULL) {
+				cp += 1;
+			} else
+				return (cp);
+			continue;
+		case CXX_COMMENT:
+			if (strncmp(cp, "\n", 1) == 0) {
+				incomment = NO_COMMENT;
+				linestate = LS_START;
+			}
+			cp += 1;
+			continue;
+		case CHAR_LITERAL:
+		case STRING_LITERAL:
+			if ((incomment == CHAR_LITERAL && cp[0] == '\'') ||
+			    (incomment == STRING_LITERAL && cp[0] == '\"')) {
+				incomment = NO_COMMENT;
+				cp += 1;
+			} else if (cp[0] == '\\') {
+				if (cp[1] == '\0')
+					cp += 1;
+				else
+					cp += 2;
+			} else if (strncmp(cp, "\n", 1) == 0) {
+				if (incomment == CHAR_LITERAL)
+					error("unterminated char literal");
+				else
+					error("unterminated string literal");
+			} else
+				cp += 1;
+			continue;
+		case C_COMMENT:
+			if (strncmp(cp, "*\\\n", 3) == 0) {
+				incomment = FINISHING_COMMENT;
+				cp += 3;
+			} else if (strncmp(cp, "*/", 2) == 0) {
+				incomment = NO_COMMENT;
+				cp += 2;
+			} else
+				cp += 1;
+			continue;
+		case STARTING_COMMENT:
+			if (*cp == '*') {
+				incomment = C_COMMENT;
+				cp += 1;
+			} else if (*cp == '/') {
+				incomment = CXX_COMMENT;
+				cp += 1;
+			} else {
+				incomment = NO_COMMENT;
+				linestate = LS_DIRTY;
+			}
+			continue;
+		case FINISHING_COMMENT:
+			if (*cp == '/') {
+				incomment = NO_COMMENT;
+				cp += 1;
+			} else
+				incomment = C_COMMENT;
+			continue;
+		default:
+			debug("bug at line %d", __LINE__);
+			abort(); /* bug */
+		}
+	return (cp);
+}
+
+/*
+ * Skip over an identifier.
+ */
+static const char *
+skipsym(const char *cp)
+{
+	while (!endsym(*cp))
+		++cp;
+	return (cp);
+}
+
+/*
+ * Look for the symbol in the symbol table. If is is found, we return
+ * the symbol table index, else we return -1.
+ */
+static int
+findsym(const char *str)
+{
+	const char *cp;
+	int symind;
+
+	cp = skipsym(str);
+	if (cp == str)
+		return (-1);
+	if (symlist) {
+		printf("%.*s\n", (int)(cp-str), str);
+		/* we don't care about the value of the symbol */
+		return (0);
+	}
+	for (symind = 0; symind < nsyms; ++symind) {
+		if (strlcmp(symname[symind], str, cp-str) == 0) {
+			debug("findsym %s %s", symname[symind],
+			    value[symind] ? value[symind] : "");
+			return (symind);
+		}
+	}
+	return (-1);
+}
+
+/*
+ * Add a symbol to the symbol table.
+ */
+static void
+addsym(bool ignorethis, bool definethis, char *sym)
+{
+	int symind;
+	char *val;
+
+	symind = findsym(sym);
+	if (symind < 0) {
+		if (nsyms >= MAXSYMS)
+			errx(2, "too many symbols");
+		symind = nsyms++;
+	}
+	symname[symind] = sym;
+	ignore[symind] = ignorethis;
+	val = sym + (skipsym(sym) - sym);
+	if (definethis) {
+		if (*val == '=') {
+			value[symind] = val+1;
+			*val = '\0';
+		} else if (*val == '\0')
+			value[symind] = "";
+		else
+			usage();
+	} else {
+		if (*val != '\0')
+			usage();
+		value[symind] = NULL;
+	}
+}
+
+/*
+ * Compare s with n characters of t.
+ * The same as strncmp() except that it checks that s[n] == '\0'.
+ */
+static int
+strlcmp(const char *s, const char *t, size_t n)
+{
+	while (n-- && *t != '\0')
+		if (*s != *t)
+			return ((unsigned char)*s - (unsigned char)*t);
+		else
+			++s, ++t;
+	return ((unsigned char)*s);
+}
+
+/*
+ * Diagnostics.
+ */
+static void
+debug(const char *msg, ...)
+{
+	va_list ap;
+
+	if (debugging) {
+		va_start(ap, msg);
+		vwarnx(msg, ap);
+		va_end(ap);
+	}
+}
+
+static void
+error(const char *msg)
+{
+	if (depth == 0)
+		warnx("%s: %d: %s", filename, linenum, msg);
+	else
+		warnx("%s: %d: %s (#if line %d depth %d)",
+		    filename, linenum, msg, stifline[depth], depth);
+	errx(2, "output may be truncated");
+}
diff --git a/ap/build/uClibc/extra/scripts/unifdef.test b/ap/build/uClibc/extra/scripts/unifdef.test
new file mode 100644
index 0000000..5ba4e48
--- /dev/null
+++ b/ap/build/uClibc/extra/scripts/unifdef.test
@@ -0,0 +1,67 @@
+Run me through unifdef -UA
+*** Nothing should be visible here:
+#if defined A && defined B
+hello world
+#endif
+#if defined A && B
+hello world
+#endif
+#if defined A && 1
+hello world
+#endif
+#if defined A && (1 > 0)
+hello world
+#endif
+#if defined B && defined A
+hello world
+#endif
+#if B && defined A
+hello world
+#endif
+#if 1 && defined A
+hello world
+#endif
+#if (1 > 0) && defined A
+hello world
+#endif
+#if defined A && (defined FOO || defined BAR)
+hello world
+#endif
+#if (defined FOO || defined BAR) && defined A
+hello world
+#endif
+
+*** Everything should be visible here, but #if/#endif removed:
+#if defined B || !defined A
+hello world 1
+#endif
+#if !defined A || defined B
+hello world 2 (last)
+#endif
+
+*** This should be unchanged (#if/#endif not removed):
+#if defined A || defined B
+I am here 1
+#endif
+#if defined B || defined A
+I am here 2
+#endif
+I am here 3
+#if !defined FOO && !defined BAR \
+    && !defined BAZ
+# error "I am here 4"
+#endif
+I am here 5
+#if (!defined FOO \
+     && (defined BAR || defined BAZ \
+         || defined XYZ))
+I am here 6
+#endif
+I am here 7
+#if !defined FOO \
+    && defined BAR
+I am here 8
+#endif
+I am here 9 (last)
+
+*** End