]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Merge remote-tracking branch 'origin/kernel-update' into glibc-update2
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 13 Aug 2012 20:34:23 +0000 (16:34 -0400)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 13 Aug 2012 20:34:23 +0000 (16:34 -0400)
186 files changed:
config/rootfiles/common/armv5tel/gcc
config/rootfiles/common/hddtemp [deleted file]
config/rootfiles/common/i586/glibc
config/rootfiles/common/libsafe [deleted file]
config/rootfiles/common/sed
config/rootfiles/common/sysfsutils
config/rootfiles/common/uClibc [deleted file]
config/rootfiles/packages/libogg
config/rootfiles/packages/libvorbis
config/uClibc/busybox.config [deleted file]
config/uClibc/codesets.txt [deleted file]
config/uClibc/locales.txt [deleted file]
config/uClibc/uClibc.config-i586 [deleted file]
lfs/binutils
lfs/capi4k-utils
lfs/ccache
lfs/cleanup-toolchain
lfs/coreutils
lfs/dbus
lfs/gcc
lfs/gettext
lfs/glibc
lfs/gmp
lfs/gmp-compat [moved from lfs/libsafe with 83% similarity]
lfs/grep
lfs/hwdata
lfs/imspector
lfs/inetutils
lfs/kbd
lfs/kudzu
lfs/libnl
lfs/libogg
lfs/libvorbis
lfs/m4
lfs/make
lfs/misc-progs
lfs/mpfr [moved from lfs/hddtemp with 91% similarity]
lfs/ncurses
lfs/netpbm
lfs/newt
lfs/openldap
lfs/pciutils
lfs/pcmciautils
lfs/popt
lfs/pptp
lfs/qemu
lfs/reiserfsprogs
lfs/sed
lfs/slang
lfs/stage2
lfs/strip
lfs/sysfsutils
lfs/sysvinit
lfs/udev
lfs/util-linux
lfs/wget
lfs/xfsprogs
lfs/zlib
make.sh
src/install+setup/install/Makefile
src/install+setup/libsmooth/Makefile
src/patches/binutils-2.18-configure-1.patch [deleted file]
src/patches/coreutils-5.96-futimes.patch [new file with mode: 0644]
src/patches/dbus-1.0.3-compile-fix-1.patch [new file with mode: 0644]
src/patches/gcc-4.0.4-specs-1.patch [deleted file]
src/patches/gcc-4.1.2-arm-linux-soft-float.patch [deleted file]
src/patches/gcc-4.1.2-fix_linker_version_detection.patch [deleted file]
src/patches/gcc-4.1.2-gcc_eh.patch [deleted file]
src/patches/gcc-4.1.2-specs-1.patch [deleted file]
src/patches/gcc-4.4.3-startfiles_fix-1.patch [new file with mode: 0644]
src/patches/gcc-libstdc++-pic.patch [deleted file]
src/patches/gcc-sdk-libstdc++-includes.patch [deleted file]
src/patches/gcc-uclibc-conf.patch [deleted file]
src/patches/gcc-uclibc-locale.patch [deleted file]
src/patches/glibc-cfi-entry-not-closed.patch [new file with mode: 0644]
src/patches/glibc-ports-avoid-using-asm-procinfo.patch [deleted file]
src/patches/glibc-remove-ctors-dtors-output-sections.patch [new file with mode: 0644]
src/patches/glibc-resolv-stack_chk_fail.patch [new file with mode: 0644]
src/patches/glibc/glibc-aliasing.patch [new file with mode: 0644]
src/patches/glibc/glibc-fedora.patch [new file with mode: 0644]
src/patches/glibc/glibc-getlogin-r.patch [new file with mode: 0644]
src/patches/glibc/glibc-localedata.patch [new file with mode: 0644]
src/patches/glibc/glibc-recvmmsg.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh580498.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh582738.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh587360.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh593396.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh593686.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh601686.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh607010.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh607461.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh615090.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh615701.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh621959.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh623187.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh625893.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh630801.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh631011.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh641128.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh642584.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh643822.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh645672.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh646954.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh647448.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh652661.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh656014.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh656530.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh657572.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh661982.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh667974.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh676076.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh676591.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh681054.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh688720.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh688980.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh689471.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh692177.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh692838.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh694386.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh695595.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh695963.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh696472.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh697421.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh699724.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh700507.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh703480.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh703481.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh705465.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh711927.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh711987.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh712248.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh713134.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh714823.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh718057.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh726517.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh730379.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh731042.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh736346.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh737778.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh738665.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh738763.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh739184.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh739971.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh740506-2.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh740506.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh749188.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh750531.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh751750.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh752122.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh757888.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh766513.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh767146.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh767693-2.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh767693.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh767746.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh771342.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh782585.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh784402.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh785984.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh788959-2.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh788959.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh789189.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh789209.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh789238-2.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh789238.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh794817-2.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh794817.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh795498.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh797094-1.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh797094-2.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh804630.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh804689.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh808337.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh808545.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh809602.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh833716.patch [new file with mode: 0644]
src/patches/glibc/glibc-rh837026.patch [new file with mode: 0644]
src/patches/libnl-1.1-ULONG_MAX.patch [new file with mode: 0644]
src/patches/libsafe-alpha.diff [deleted file]
src/patches/libsafe-functioncaching.diff [deleted file]
src/patches/netpbm-10.26.46-getline.patch [new file with mode: 0644]
src/patches/pptp-1.7.2-compat.patch [new file with mode: 0644]
src/patches/slang-1.4.9-uclibc.patch [deleted file]
src/patches/uClibc-gcc4-genwctype.patch [deleted file]
src/stripper [new file with mode: 0755]
tools/make-functions

index 2295ae92f45af11504cc7ae8b30e12b5c5794030..c7f169034ec7675be326d62e8a539bb660a359d0 100644 (file)
@@ -2,7 +2,7 @@
 #usr/bin/armv5tel-unknown-linux-gnueabi-c++
 #usr/bin/armv5tel-unknown-linux-gnueabi-g++
 #usr/bin/armv5tel-unknown-linux-gnueabi-gcc
-#usr/bin/armv5tel-unknown-linux-gnueabi-gcc-4.1.2
+#usr/bin/armv5tel-unknown-linux-gnueabi-gcc-4.4.7
 #usr/bin/c++
 #usr/bin/cc
 #usr/bin/cpp
 #usr/bin/gccbug
 #usr/bin/gcov
 #usr/include/c++
-#usr/include/c++/4.1.2
-#usr/include/c++/4.1.2/algorithm
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/atomic_word.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/basic_file.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/c++allocator.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/c++config.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/c++io.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/c++locale.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/cpu_defines.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/ctype_base.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/ctype_inline.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/ctype_noninline.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/cxxabi_tweaks.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/gthr-default.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/gthr-posix.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/gthr-single.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/gthr-tpf.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/gthr.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/messages_members.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/os_defines.h
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/stdc++.h.gch
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/stdc++.h.gch/O0g.gch
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/stdc++.h.gch/O2g.gch
-#usr/include/c++/4.1.2/armv5tel-unknown-linux-gnueabi/bits/time_members.h
-#usr/include/c++/4.1.2/backward
-#usr/include/c++/4.1.2/backward/algo.h
-#usr/include/c++/4.1.2/backward/algobase.h
-#usr/include/c++/4.1.2/backward/alloc.h
-#usr/include/c++/4.1.2/backward/backward_warning.h
-#usr/include/c++/4.1.2/backward/bvector.h
-#usr/include/c++/4.1.2/backward/complex.h
-#usr/include/c++/4.1.2/backward/defalloc.h
-#usr/include/c++/4.1.2/backward/deque.h
-#usr/include/c++/4.1.2/backward/fstream.h
-#usr/include/c++/4.1.2/backward/function.h
-#usr/include/c++/4.1.2/backward/hash_map.h
-#usr/include/c++/4.1.2/backward/hash_set.h
-#usr/include/c++/4.1.2/backward/hashtable.h
-#usr/include/c++/4.1.2/backward/heap.h
-#usr/include/c++/4.1.2/backward/iomanip.h
-#usr/include/c++/4.1.2/backward/iostream.h
-#usr/include/c++/4.1.2/backward/istream.h
-#usr/include/c++/4.1.2/backward/iterator.h
-#usr/include/c++/4.1.2/backward/list.h
-#usr/include/c++/4.1.2/backward/map.h
-#usr/include/c++/4.1.2/backward/multimap.h
-#usr/include/c++/4.1.2/backward/multiset.h
-#usr/include/c++/4.1.2/backward/new.h
-#usr/include/c++/4.1.2/backward/ostream.h
-#usr/include/c++/4.1.2/backward/pair.h
-#usr/include/c++/4.1.2/backward/queue.h
-#usr/include/c++/4.1.2/backward/rope.h
-#usr/include/c++/4.1.2/backward/set.h
-#usr/include/c++/4.1.2/backward/slist.h
-#usr/include/c++/4.1.2/backward/stack.h
-#usr/include/c++/4.1.2/backward/stream.h
-#usr/include/c++/4.1.2/backward/streambuf.h
-#usr/include/c++/4.1.2/backward/strstream
-#usr/include/c++/4.1.2/backward/tempbuf.h
-#usr/include/c++/4.1.2/backward/tree.h
-#usr/include/c++/4.1.2/backward/vector.h
-#usr/include/c++/4.1.2/bits
-#usr/include/c++/4.1.2/bits/allocator.h
-#usr/include/c++/4.1.2/bits/atomicity.h
-#usr/include/c++/4.1.2/bits/basic_ios.h
-#usr/include/c++/4.1.2/bits/basic_ios.tcc
-#usr/include/c++/4.1.2/bits/basic_string.h
-#usr/include/c++/4.1.2/bits/basic_string.tcc
-#usr/include/c++/4.1.2/bits/boost_concept_check.h
-#usr/include/c++/4.1.2/bits/char_traits.h
-#usr/include/c++/4.1.2/bits/cmath.tcc
-#usr/include/c++/4.1.2/bits/codecvt.h
-#usr/include/c++/4.1.2/bits/concept_check.h
-#usr/include/c++/4.1.2/bits/concurrence.h
-#usr/include/c++/4.1.2/bits/cpp_type_traits.h
-#usr/include/c++/4.1.2/bits/deque.tcc
-#usr/include/c++/4.1.2/bits/fstream.tcc
-#usr/include/c++/4.1.2/bits/functexcept.h
-#usr/include/c++/4.1.2/bits/gslice.h
-#usr/include/c++/4.1.2/bits/gslice_array.h
-#usr/include/c++/4.1.2/bits/indirect_array.h
-#usr/include/c++/4.1.2/bits/ios_base.h
-#usr/include/c++/4.1.2/bits/istream.tcc
-#usr/include/c++/4.1.2/bits/list.tcc
-#usr/include/c++/4.1.2/bits/locale_classes.h
-#usr/include/c++/4.1.2/bits/locale_facets.h
-#usr/include/c++/4.1.2/bits/locale_facets.tcc
-#usr/include/c++/4.1.2/bits/localefwd.h
-#usr/include/c++/4.1.2/bits/mask_array.h
-#usr/include/c++/4.1.2/bits/ostream.tcc
-#usr/include/c++/4.1.2/bits/postypes.h
-#usr/include/c++/4.1.2/bits/slice_array.h
-#usr/include/c++/4.1.2/bits/sstream.tcc
-#usr/include/c++/4.1.2/bits/stl_algo.h
-#usr/include/c++/4.1.2/bits/stl_algobase.h
-#usr/include/c++/4.1.2/bits/stl_bvector.h
-#usr/include/c++/4.1.2/bits/stl_construct.h
-#usr/include/c++/4.1.2/bits/stl_deque.h
-#usr/include/c++/4.1.2/bits/stl_function.h
-#usr/include/c++/4.1.2/bits/stl_heap.h
-#usr/include/c++/4.1.2/bits/stl_iterator.h
-#usr/include/c++/4.1.2/bits/stl_iterator_base_funcs.h
-#usr/include/c++/4.1.2/bits/stl_iterator_base_types.h
-#usr/include/c++/4.1.2/bits/stl_list.h
-#usr/include/c++/4.1.2/bits/stl_map.h
-#usr/include/c++/4.1.2/bits/stl_multimap.h
-#usr/include/c++/4.1.2/bits/stl_multiset.h
-#usr/include/c++/4.1.2/bits/stl_numeric.h
-#usr/include/c++/4.1.2/bits/stl_pair.h
-#usr/include/c++/4.1.2/bits/stl_queue.h
-#usr/include/c++/4.1.2/bits/stl_raw_storage_iter.h
-#usr/include/c++/4.1.2/bits/stl_relops.h
-#usr/include/c++/4.1.2/bits/stl_set.h
-#usr/include/c++/4.1.2/bits/stl_stack.h
-#usr/include/c++/4.1.2/bits/stl_tempbuf.h
-#usr/include/c++/4.1.2/bits/stl_tree.h
-#usr/include/c++/4.1.2/bits/stl_uninitialized.h
-#usr/include/c++/4.1.2/bits/stl_vector.h
-#usr/include/c++/4.1.2/bits/stream_iterator.h
-#usr/include/c++/4.1.2/bits/streambuf.tcc
-#usr/include/c++/4.1.2/bits/streambuf_iterator.h
-#usr/include/c++/4.1.2/bits/stringfwd.h
-#usr/include/c++/4.1.2/bits/valarray_after.h
-#usr/include/c++/4.1.2/bits/valarray_array.h
-#usr/include/c++/4.1.2/bits/valarray_array.tcc
-#usr/include/c++/4.1.2/bits/valarray_before.h
-#usr/include/c++/4.1.2/bits/vector.tcc
-#usr/include/c++/4.1.2/bitset
-#usr/include/c++/4.1.2/cassert
-#usr/include/c++/4.1.2/cctype
-#usr/include/c++/4.1.2/cerrno
-#usr/include/c++/4.1.2/cfloat
-#usr/include/c++/4.1.2/ciso646
-#usr/include/c++/4.1.2/climits
-#usr/include/c++/4.1.2/clocale
-#usr/include/c++/4.1.2/cmath
-#usr/include/c++/4.1.2/complex
-#usr/include/c++/4.1.2/csetjmp
-#usr/include/c++/4.1.2/csignal
-#usr/include/c++/4.1.2/cstdarg
-#usr/include/c++/4.1.2/cstddef
-#usr/include/c++/4.1.2/cstdio
-#usr/include/c++/4.1.2/cstdlib
-#usr/include/c++/4.1.2/cstring
-#usr/include/c++/4.1.2/ctime
-#usr/include/c++/4.1.2/cwchar
-#usr/include/c++/4.1.2/cwctype
-#usr/include/c++/4.1.2/cxxabi.h
-#usr/include/c++/4.1.2/debug
-#usr/include/c++/4.1.2/debug/bitset
-#usr/include/c++/4.1.2/debug/debug.h
-#usr/include/c++/4.1.2/debug/deque
-#usr/include/c++/4.1.2/debug/formatter.h
-#usr/include/c++/4.1.2/debug/functions.h
-#usr/include/c++/4.1.2/debug/hash_map
-#usr/include/c++/4.1.2/debug/hash_map.h
-#usr/include/c++/4.1.2/debug/hash_multimap.h
-#usr/include/c++/4.1.2/debug/hash_multiset.h
-#usr/include/c++/4.1.2/debug/hash_set
-#usr/include/c++/4.1.2/debug/hash_set.h
-#usr/include/c++/4.1.2/debug/list
-#usr/include/c++/4.1.2/debug/macros.h
-#usr/include/c++/4.1.2/debug/map
-#usr/include/c++/4.1.2/debug/map.h
-#usr/include/c++/4.1.2/debug/multimap.h
-#usr/include/c++/4.1.2/debug/multiset.h
-#usr/include/c++/4.1.2/debug/safe_base.h
-#usr/include/c++/4.1.2/debug/safe_iterator.h
-#usr/include/c++/4.1.2/debug/safe_iterator.tcc
-#usr/include/c++/4.1.2/debug/safe_sequence.h
-#usr/include/c++/4.1.2/debug/set
-#usr/include/c++/4.1.2/debug/set.h
-#usr/include/c++/4.1.2/debug/string
-#usr/include/c++/4.1.2/debug/vector
-#usr/include/c++/4.1.2/deque
-#usr/include/c++/4.1.2/exception
-#usr/include/c++/4.1.2/exception_defines.h
-#usr/include/c++/4.1.2/ext
-#usr/include/c++/4.1.2/ext/algorithm
-#usr/include/c++/4.1.2/ext/array_allocator.h
-#usr/include/c++/4.1.2/ext/bitmap_allocator.h
-#usr/include/c++/4.1.2/ext/codecvt_specializations.h
-#usr/include/c++/4.1.2/ext/debug_allocator.h
-#usr/include/c++/4.1.2/ext/functional
-#usr/include/c++/4.1.2/ext/hash_fun.h
-#usr/include/c++/4.1.2/ext/hash_map
-#usr/include/c++/4.1.2/ext/hash_set
-#usr/include/c++/4.1.2/ext/hashtable.h
-#usr/include/c++/4.1.2/ext/iterator
-#usr/include/c++/4.1.2/ext/malloc_allocator.h
-#usr/include/c++/4.1.2/ext/memory
-#usr/include/c++/4.1.2/ext/mt_allocator.h
-#usr/include/c++/4.1.2/ext/new_allocator.h
-#usr/include/c++/4.1.2/ext/numeric
-#usr/include/c++/4.1.2/ext/pb_assoc
-#usr/include/c++/4.1.2/ext/pb_assoc/assoc_cntnr.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/data_type.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/assoc_cntnr_base.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_hash_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/cond_dealtor.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ds_trait_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/eq_fn
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_hash_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/hash_types_traits.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/lu_map_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/map_debug_base.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/mapping_level_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ms_category_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ms_trait_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/order_statistics_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/node.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/resize_policy/size_base.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/node.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/standard_policies.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/standard_sizes.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_assoc_cntnr
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_policy
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/type_utils.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_append.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_apply.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_at_index.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_contains.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_filter.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_transform.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/types_traits.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/unordered_iterator/iterator.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/iterator.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/ds_trait.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/exception.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/hash_policy.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/lu_policy.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/ms_trait.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/tree_policy.hpp
-#usr/include/c++/4.1.2/ext/pb_assoc/trivial_iterator_def.hpp
-#usr/include/c++/4.1.2/ext/pod_char_traits.h
-#usr/include/c++/4.1.2/ext/pool_allocator.h
-#usr/include/c++/4.1.2/ext/rb_tree
-#usr/include/c++/4.1.2/ext/rc_string_base.h
-#usr/include/c++/4.1.2/ext/rope
-#usr/include/c++/4.1.2/ext/ropeimpl.h
-#usr/include/c++/4.1.2/ext/slist
-#usr/include/c++/4.1.2/ext/sso_string_base.h
-#usr/include/c++/4.1.2/ext/stdio_filebuf.h
-#usr/include/c++/4.1.2/ext/stdio_sync_filebuf.h
-#usr/include/c++/4.1.2/ext/typelist.h
-#usr/include/c++/4.1.2/ext/vstring.h
-#usr/include/c++/4.1.2/ext/vstring.tcc
-#usr/include/c++/4.1.2/ext/vstring_fwd.h
-#usr/include/c++/4.1.2/ext/vstring_util.h
-#usr/include/c++/4.1.2/fstream
-#usr/include/c++/4.1.2/functional
-#usr/include/c++/4.1.2/iomanip
-#usr/include/c++/4.1.2/ios
-#usr/include/c++/4.1.2/iosfwd
-#usr/include/c++/4.1.2/iostream
-#usr/include/c++/4.1.2/istream
-#usr/include/c++/4.1.2/iterator
-#usr/include/c++/4.1.2/limits
-#usr/include/c++/4.1.2/list
-#usr/include/c++/4.1.2/locale
-#usr/include/c++/4.1.2/map
-#usr/include/c++/4.1.2/memory
-#usr/include/c++/4.1.2/new
-#usr/include/c++/4.1.2/numeric
-#usr/include/c++/4.1.2/ostream
-#usr/include/c++/4.1.2/queue
-#usr/include/c++/4.1.2/set
-#usr/include/c++/4.1.2/sstream
-#usr/include/c++/4.1.2/stack
-#usr/include/c++/4.1.2/stdexcept
-#usr/include/c++/4.1.2/streambuf
-#usr/include/c++/4.1.2/string
-#usr/include/c++/4.1.2/tr1
-#usr/include/c++/4.1.2/tr1/array
-#usr/include/c++/4.1.2/tr1/bind_iterate.h
-#usr/include/c++/4.1.2/tr1/bind_repeat.h
-#usr/include/c++/4.1.2/tr1/boost_shared_ptr.h
-#usr/include/c++/4.1.2/tr1/functional
-#usr/include/c++/4.1.2/tr1/functional_iterate.h
-#usr/include/c++/4.1.2/tr1/hashtable
-#usr/include/c++/4.1.2/tr1/memory
-#usr/include/c++/4.1.2/tr1/mu_iterate.h
-#usr/include/c++/4.1.2/tr1/ref_fwd.h
-#usr/include/c++/4.1.2/tr1/ref_wrap_iterate.h
-#usr/include/c++/4.1.2/tr1/repeat.h
-#usr/include/c++/4.1.2/tr1/tuple
-#usr/include/c++/4.1.2/tr1/tuple_iterate.h
-#usr/include/c++/4.1.2/tr1/type_traits
-#usr/include/c++/4.1.2/tr1/type_traits_fwd.h
-#usr/include/c++/4.1.2/tr1/unordered_map
-#usr/include/c++/4.1.2/tr1/unordered_set
-#usr/include/c++/4.1.2/tr1/utility
-#usr/include/c++/4.1.2/typeinfo
-#usr/include/c++/4.1.2/utility
-#usr/include/c++/4.1.2/valarray
-#usr/include/c++/4.1.2/vector
+#usr/include/c++/4.4.7
+#usr/include/c++/4.4.7/algorithm
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/atomic_word.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/basic_file.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/c++allocator.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/c++config.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/c++io.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/c++locale.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/cpu_defines.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/ctype_base.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/ctype_inline.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/ctype_noninline.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/cxxabi_tweaks.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/error_constants.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/extc++.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/gthr-default.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/gthr-posix.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/gthr-single.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/gthr-tpf.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/gthr.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/messages_members.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/os_defines.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/stdc++.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/stdtr1c++.h
+#usr/include/c++/4.4.7/armv5tel-unknown-linux-gnueabi/bits/time_members.h
+#usr/include/c++/4.4.7/array
+#usr/include/c++/4.4.7/backward
+#usr/include/c++/4.4.7/backward/auto_ptr.h
+#usr/include/c++/4.4.7/backward/backward_warning.h
+#usr/include/c++/4.4.7/backward/binders.h
+#usr/include/c++/4.4.7/backward/hash_fun.h
+#usr/include/c++/4.4.7/backward/hash_map
+#usr/include/c++/4.4.7/backward/hash_set
+#usr/include/c++/4.4.7/backward/hashtable.h
+#usr/include/c++/4.4.7/backward/strstream
+#usr/include/c++/4.4.7/bits
+#usr/include/c++/4.4.7/bits/algorithmfwd.h
+#usr/include/c++/4.4.7/bits/allocator.h
+#usr/include/c++/4.4.7/bits/atomic_0.h
+#usr/include/c++/4.4.7/bits/atomic_2.h
+#usr/include/c++/4.4.7/bits/atomicfwd_c.h
+#usr/include/c++/4.4.7/bits/atomicfwd_cxx.h
+#usr/include/c++/4.4.7/bits/basic_ios.h
+#usr/include/c++/4.4.7/bits/basic_ios.tcc
+#usr/include/c++/4.4.7/bits/basic_string.h
+#usr/include/c++/4.4.7/bits/basic_string.tcc
+#usr/include/c++/4.4.7/bits/boost_concept_check.h
+#usr/include/c++/4.4.7/bits/char_traits.h
+#usr/include/c++/4.4.7/bits/cmath.tcc
+#usr/include/c++/4.4.7/bits/codecvt.h
+#usr/include/c++/4.4.7/bits/concept_check.h
+#usr/include/c++/4.4.7/bits/cpp_type_traits.h
+#usr/include/c++/4.4.7/bits/deque.tcc
+#usr/include/c++/4.4.7/bits/forward_list.h
+#usr/include/c++/4.4.7/bits/forward_list.tcc
+#usr/include/c++/4.4.7/bits/fstream.tcc
+#usr/include/c++/4.4.7/bits/functexcept.h
+#usr/include/c++/4.4.7/bits/functional_hash.h
+#usr/include/c++/4.4.7/bits/gslice.h
+#usr/include/c++/4.4.7/bits/gslice_array.h
+#usr/include/c++/4.4.7/bits/hashtable.h
+#usr/include/c++/4.4.7/bits/indirect_array.h
+#usr/include/c++/4.4.7/bits/ios_base.h
+#usr/include/c++/4.4.7/bits/istream.tcc
+#usr/include/c++/4.4.7/bits/list.tcc
+#usr/include/c++/4.4.7/bits/locale_classes.h
+#usr/include/c++/4.4.7/bits/locale_classes.tcc
+#usr/include/c++/4.4.7/bits/locale_facets.h
+#usr/include/c++/4.4.7/bits/locale_facets.tcc
+#usr/include/c++/4.4.7/bits/locale_facets_nonio.h
+#usr/include/c++/4.4.7/bits/locale_facets_nonio.tcc
+#usr/include/c++/4.4.7/bits/localefwd.h
+#usr/include/c++/4.4.7/bits/mask_array.h
+#usr/include/c++/4.4.7/bits/move.h
+#usr/include/c++/4.4.7/bits/ostream.tcc
+#usr/include/c++/4.4.7/bits/ostream_insert.h
+#usr/include/c++/4.4.7/bits/postypes.h
+#usr/include/c++/4.4.7/bits/shared_ptr.h
+#usr/include/c++/4.4.7/bits/slice_array.h
+#usr/include/c++/4.4.7/bits/sstream.tcc
+#usr/include/c++/4.4.7/bits/stl_algo.h
+#usr/include/c++/4.4.7/bits/stl_algobase.h
+#usr/include/c++/4.4.7/bits/stl_bvector.h
+#usr/include/c++/4.4.7/bits/stl_construct.h
+#usr/include/c++/4.4.7/bits/stl_deque.h
+#usr/include/c++/4.4.7/bits/stl_function.h
+#usr/include/c++/4.4.7/bits/stl_heap.h
+#usr/include/c++/4.4.7/bits/stl_iterator.h
+#usr/include/c++/4.4.7/bits/stl_iterator_base_funcs.h
+#usr/include/c++/4.4.7/bits/stl_iterator_base_types.h
+#usr/include/c++/4.4.7/bits/stl_list.h
+#usr/include/c++/4.4.7/bits/stl_map.h
+#usr/include/c++/4.4.7/bits/stl_multimap.h
+#usr/include/c++/4.4.7/bits/stl_multiset.h
+#usr/include/c++/4.4.7/bits/stl_numeric.h
+#usr/include/c++/4.4.7/bits/stl_pair.h
+#usr/include/c++/4.4.7/bits/stl_queue.h
+#usr/include/c++/4.4.7/bits/stl_raw_storage_iter.h
+#usr/include/c++/4.4.7/bits/stl_relops.h
+#usr/include/c++/4.4.7/bits/stl_set.h
+#usr/include/c++/4.4.7/bits/stl_stack.h
+#usr/include/c++/4.4.7/bits/stl_tempbuf.h
+#usr/include/c++/4.4.7/bits/stl_tree.h
+#usr/include/c++/4.4.7/bits/stl_uninitialized.h
+#usr/include/c++/4.4.7/bits/stl_vector.h
+#usr/include/c++/4.4.7/bits/stream_iterator.h
+#usr/include/c++/4.4.7/bits/streambuf.tcc
+#usr/include/c++/4.4.7/bits/streambuf_iterator.h
+#usr/include/c++/4.4.7/bits/stringfwd.h
+#usr/include/c++/4.4.7/bits/unique_ptr.h
+#usr/include/c++/4.4.7/bits/valarray_after.h
+#usr/include/c++/4.4.7/bits/valarray_array.h
+#usr/include/c++/4.4.7/bits/valarray_array.tcc
+#usr/include/c++/4.4.7/bits/valarray_before.h
+#usr/include/c++/4.4.7/bits/vector.tcc
+#usr/include/c++/4.4.7/bitset
+#usr/include/c++/4.4.7/c++0x_warning.h
+#usr/include/c++/4.4.7/cassert
+#usr/include/c++/4.4.7/ccomplex
+#usr/include/c++/4.4.7/cctype
+#usr/include/c++/4.4.7/cerrno
+#usr/include/c++/4.4.7/cfenv
+#usr/include/c++/4.4.7/cfloat
+#usr/include/c++/4.4.7/chrono
+#usr/include/c++/4.4.7/cinttypes
+#usr/include/c++/4.4.7/ciso646
+#usr/include/c++/4.4.7/climits
+#usr/include/c++/4.4.7/clocale
+#usr/include/c++/4.4.7/cmath
+#usr/include/c++/4.4.7/complex
+#usr/include/c++/4.4.7/complex.h
+#usr/include/c++/4.4.7/condition_variable
+#usr/include/c++/4.4.7/csetjmp
+#usr/include/c++/4.4.7/csignal
+#usr/include/c++/4.4.7/cstdarg
+#usr/include/c++/4.4.7/cstdatomic
+#usr/include/c++/4.4.7/cstdbool
+#usr/include/c++/4.4.7/cstddef
+#usr/include/c++/4.4.7/cstdint
+#usr/include/c++/4.4.7/cstdio
+#usr/include/c++/4.4.7/cstdlib
+#usr/include/c++/4.4.7/cstring
+#usr/include/c++/4.4.7/ctgmath
+#usr/include/c++/4.4.7/ctime
+#usr/include/c++/4.4.7/cwchar
+#usr/include/c++/4.4.7/cwctype
+#usr/include/c++/4.4.7/cxxabi-forced.h
+#usr/include/c++/4.4.7/cxxabi.h
+#usr/include/c++/4.4.7/debug
+#usr/include/c++/4.4.7/debug/bitset
+#usr/include/c++/4.4.7/debug/debug.h
+#usr/include/c++/4.4.7/debug/deque
+#usr/include/c++/4.4.7/debug/formatter.h
+#usr/include/c++/4.4.7/debug/functions.h
+#usr/include/c++/4.4.7/debug/list
+#usr/include/c++/4.4.7/debug/macros.h
+#usr/include/c++/4.4.7/debug/map
+#usr/include/c++/4.4.7/debug/map.h
+#usr/include/c++/4.4.7/debug/multimap.h
+#usr/include/c++/4.4.7/debug/multiset.h
+#usr/include/c++/4.4.7/debug/safe_base.h
+#usr/include/c++/4.4.7/debug/safe_iterator.h
+#usr/include/c++/4.4.7/debug/safe_iterator.tcc
+#usr/include/c++/4.4.7/debug/safe_sequence.h
+#usr/include/c++/4.4.7/debug/set
+#usr/include/c++/4.4.7/debug/set.h
+#usr/include/c++/4.4.7/debug/string
+#usr/include/c++/4.4.7/debug/unordered_map
+#usr/include/c++/4.4.7/debug/unordered_set
+#usr/include/c++/4.4.7/debug/vector
+#usr/include/c++/4.4.7/deque
+#usr/include/c++/4.4.7/exception
+#usr/include/c++/4.4.7/exception_defines.h
+#usr/include/c++/4.4.7/exception_ptr.h
+#usr/include/c++/4.4.7/ext
+#usr/include/c++/4.4.7/ext/algorithm
+#usr/include/c++/4.4.7/ext/array_allocator.h
+#usr/include/c++/4.4.7/ext/atomicity.h
+#usr/include/c++/4.4.7/ext/bitmap_allocator.h
+#usr/include/c++/4.4.7/ext/cast.h
+#usr/include/c++/4.4.7/ext/codecvt_specializations.h
+#usr/include/c++/4.4.7/ext/concurrence.h
+#usr/include/c++/4.4.7/ext/debug_allocator.h
+#usr/include/c++/4.4.7/ext/enc_filebuf.h
+#usr/include/c++/4.4.7/ext/extptr_allocator.h
+#usr/include/c++/4.4.7/ext/functional
+#usr/include/c++/4.4.7/ext/hash_map
+#usr/include/c++/4.4.7/ext/hash_set
+#usr/include/c++/4.4.7/ext/iterator
+#usr/include/c++/4.4.7/ext/malloc_allocator.h
+#usr/include/c++/4.4.7/ext/memory
+#usr/include/c++/4.4.7/ext/mt_allocator.h
+#usr/include/c++/4.4.7/ext/new_allocator.h
+#usr/include/c++/4.4.7/ext/numeric
+#usr/include/c++/4.4.7/ext/numeric_traits.h
+#usr/include/c++/4.4.7/ext/pb_ds
+#usr/include/c++/4.4.7/ext/pb_ds/assoc_container.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail
+#usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy
+#usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/basic_types.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/cond_dealtor.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/container_base_dispatch.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/debug_map_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn
+#usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/child_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/head.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/internal_node.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/leaf.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_iterators.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/point_iterators.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/node.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/node.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/standard_policies.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy
+#usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/tree_trace_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/type_utils.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/types_traits.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator
+#usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/exception.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/hash_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/list_update_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/priority_queue.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/tag_and_trait.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/tree_policy.hpp
+#usr/include/c++/4.4.7/ext/pb_ds/trie_policy.hpp
+#usr/include/c++/4.4.7/ext/pod_char_traits.h
+#usr/include/c++/4.4.7/ext/pointer.h
+#usr/include/c++/4.4.7/ext/pool_allocator.h
+#usr/include/c++/4.4.7/ext/rb_tree
+#usr/include/c++/4.4.7/ext/rc_string_base.h
+#usr/include/c++/4.4.7/ext/rope
+#usr/include/c++/4.4.7/ext/ropeimpl.h
+#usr/include/c++/4.4.7/ext/slist
+#usr/include/c++/4.4.7/ext/sso_string_base.h
+#usr/include/c++/4.4.7/ext/stdio_filebuf.h
+#usr/include/c++/4.4.7/ext/stdio_sync_filebuf.h
+#usr/include/c++/4.4.7/ext/string_conversions.h
+#usr/include/c++/4.4.7/ext/throw_allocator.h
+#usr/include/c++/4.4.7/ext/type_traits.h
+#usr/include/c++/4.4.7/ext/typelist.h
+#usr/include/c++/4.4.7/ext/vstring.h
+#usr/include/c++/4.4.7/ext/vstring.tcc
+#usr/include/c++/4.4.7/ext/vstring_fwd.h
+#usr/include/c++/4.4.7/ext/vstring_util.h
+#usr/include/c++/4.4.7/fenv.h
+#usr/include/c++/4.4.7/forward_list
+#usr/include/c++/4.4.7/fstream
+#usr/include/c++/4.4.7/functional
+#usr/include/c++/4.4.7/initializer_list
+#usr/include/c++/4.4.7/iomanip
+#usr/include/c++/4.4.7/ios
+#usr/include/c++/4.4.7/iosfwd
+#usr/include/c++/4.4.7/iostream
+#usr/include/c++/4.4.7/istream
+#usr/include/c++/4.4.7/iterator
+#usr/include/c++/4.4.7/limits
+#usr/include/c++/4.4.7/list
+#usr/include/c++/4.4.7/locale
+#usr/include/c++/4.4.7/map
+#usr/include/c++/4.4.7/memory
+#usr/include/c++/4.4.7/mutex
+#usr/include/c++/4.4.7/new
+#usr/include/c++/4.4.7/numeric
+#usr/include/c++/4.4.7/ostream
+#usr/include/c++/4.4.7/parallel
+#usr/include/c++/4.4.7/parallel/algo.h
+#usr/include/c++/4.4.7/parallel/algobase.h
+#usr/include/c++/4.4.7/parallel/algorithm
+#usr/include/c++/4.4.7/parallel/algorithmfwd.h
+#usr/include/c++/4.4.7/parallel/balanced_quicksort.h
+#usr/include/c++/4.4.7/parallel/base.h
+#usr/include/c++/4.4.7/parallel/basic_iterator.h
+#usr/include/c++/4.4.7/parallel/checkers.h
+#usr/include/c++/4.4.7/parallel/compatibility.h
+#usr/include/c++/4.4.7/parallel/compiletime_settings.h
+#usr/include/c++/4.4.7/parallel/equally_split.h
+#usr/include/c++/4.4.7/parallel/features.h
+#usr/include/c++/4.4.7/parallel/find.h
+#usr/include/c++/4.4.7/parallel/find_selectors.h
+#usr/include/c++/4.4.7/parallel/for_each.h
+#usr/include/c++/4.4.7/parallel/for_each_selectors.h
+#usr/include/c++/4.4.7/parallel/iterator.h
+#usr/include/c++/4.4.7/parallel/list_partition.h
+#usr/include/c++/4.4.7/parallel/losertree.h
+#usr/include/c++/4.4.7/parallel/merge.h
+#usr/include/c++/4.4.7/parallel/multiseq_selection.h
+#usr/include/c++/4.4.7/parallel/multiway_merge.h
+#usr/include/c++/4.4.7/parallel/multiway_mergesort.h
+#usr/include/c++/4.4.7/parallel/numeric
+#usr/include/c++/4.4.7/parallel/numericfwd.h
+#usr/include/c++/4.4.7/parallel/omp_loop.h
+#usr/include/c++/4.4.7/parallel/omp_loop_static.h
+#usr/include/c++/4.4.7/parallel/par_loop.h
+#usr/include/c++/4.4.7/parallel/parallel.h
+#usr/include/c++/4.4.7/parallel/partial_sum.h
+#usr/include/c++/4.4.7/parallel/partition.h
+#usr/include/c++/4.4.7/parallel/queue.h
+#usr/include/c++/4.4.7/parallel/quicksort.h
+#usr/include/c++/4.4.7/parallel/random_number.h
+#usr/include/c++/4.4.7/parallel/random_shuffle.h
+#usr/include/c++/4.4.7/parallel/search.h
+#usr/include/c++/4.4.7/parallel/set_operations.h
+#usr/include/c++/4.4.7/parallel/settings.h
+#usr/include/c++/4.4.7/parallel/sort.h
+#usr/include/c++/4.4.7/parallel/tags.h
+#usr/include/c++/4.4.7/parallel/types.h
+#usr/include/c++/4.4.7/parallel/unique_copy.h
+#usr/include/c++/4.4.7/parallel/workstealing.h
+#usr/include/c++/4.4.7/queue
+#usr/include/c++/4.4.7/random
+#usr/include/c++/4.4.7/ratio
+#usr/include/c++/4.4.7/regex
+#usr/include/c++/4.4.7/set
+#usr/include/c++/4.4.7/sstream
+#usr/include/c++/4.4.7/stack
+#usr/include/c++/4.4.7/stdatomic.h
+#usr/include/c++/4.4.7/stdexcept
+#usr/include/c++/4.4.7/streambuf
+#usr/include/c++/4.4.7/string
+#usr/include/c++/4.4.7/system_error
+#usr/include/c++/4.4.7/tgmath.h
+#usr/include/c++/4.4.7/thread
+#usr/include/c++/4.4.7/tr1
+#usr/include/c++/4.4.7/tr1/array
+#usr/include/c++/4.4.7/tr1/bessel_function.tcc
+#usr/include/c++/4.4.7/tr1/beta_function.tcc
+#usr/include/c++/4.4.7/tr1/ccomplex
+#usr/include/c++/4.4.7/tr1/cctype
+#usr/include/c++/4.4.7/tr1/cfenv
+#usr/include/c++/4.4.7/tr1/cfloat
+#usr/include/c++/4.4.7/tr1/cinttypes
+#usr/include/c++/4.4.7/tr1/climits
+#usr/include/c++/4.4.7/tr1/cmath
+#usr/include/c++/4.4.7/tr1/complex
+#usr/include/c++/4.4.7/tr1/complex.h
+#usr/include/c++/4.4.7/tr1/cstdarg
+#usr/include/c++/4.4.7/tr1/cstdbool
+#usr/include/c++/4.4.7/tr1/cstdint
+#usr/include/c++/4.4.7/tr1/cstdio
+#usr/include/c++/4.4.7/tr1/cstdlib
+#usr/include/c++/4.4.7/tr1/ctgmath
+#usr/include/c++/4.4.7/tr1/ctime
+#usr/include/c++/4.4.7/tr1/ctype.h
+#usr/include/c++/4.4.7/tr1/cwchar
+#usr/include/c++/4.4.7/tr1/cwctype
+#usr/include/c++/4.4.7/tr1/ell_integral.tcc
+#usr/include/c++/4.4.7/tr1/exp_integral.tcc
+#usr/include/c++/4.4.7/tr1/fenv.h
+#usr/include/c++/4.4.7/tr1/float.h
+#usr/include/c++/4.4.7/tr1/functional
+#usr/include/c++/4.4.7/tr1/functional_hash.h
+#usr/include/c++/4.4.7/tr1/gamma.tcc
+#usr/include/c++/4.4.7/tr1/hashtable.h
+#usr/include/c++/4.4.7/tr1/hypergeometric.tcc
+#usr/include/c++/4.4.7/tr1/inttypes.h
+#usr/include/c++/4.4.7/tr1/legendre_function.tcc
+#usr/include/c++/4.4.7/tr1/limits.h
+#usr/include/c++/4.4.7/tr1/math.h
+#usr/include/c++/4.4.7/tr1/memory
+#usr/include/c++/4.4.7/tr1/modified_bessel_func.tcc
+#usr/include/c++/4.4.7/tr1/poly_hermite.tcc
+#usr/include/c++/4.4.7/tr1/poly_laguerre.tcc
+#usr/include/c++/4.4.7/tr1/random
+#usr/include/c++/4.4.7/tr1/regex
+#usr/include/c++/4.4.7/tr1/riemann_zeta.tcc
+#usr/include/c++/4.4.7/tr1/shared_ptr.h
+#usr/include/c++/4.4.7/tr1/special_function_util.h
+#usr/include/c++/4.4.7/tr1/stdarg.h
+#usr/include/c++/4.4.7/tr1/stdbool.h
+#usr/include/c++/4.4.7/tr1/stdint.h
+#usr/include/c++/4.4.7/tr1/stdio.h
+#usr/include/c++/4.4.7/tr1/stdlib.h
+#usr/include/c++/4.4.7/tr1/tgmath.h
+#usr/include/c++/4.4.7/tr1/tuple
+#usr/include/c++/4.4.7/tr1/type_traits
+#usr/include/c++/4.4.7/tr1/unordered_map
+#usr/include/c++/4.4.7/tr1/unordered_set
+#usr/include/c++/4.4.7/tr1/utility
+#usr/include/c++/4.4.7/tr1/wchar.h
+#usr/include/c++/4.4.7/tr1/wctype.h
+#usr/include/c++/4.4.7/tr1_impl
+#usr/include/c++/4.4.7/tr1_impl/array
+#usr/include/c++/4.4.7/tr1_impl/boost_sp_counted_base.h
+#usr/include/c++/4.4.7/tr1_impl/cctype
+#usr/include/c++/4.4.7/tr1_impl/cfenv
+#usr/include/c++/4.4.7/tr1_impl/cinttypes
+#usr/include/c++/4.4.7/tr1_impl/cmath
+#usr/include/c++/4.4.7/tr1_impl/complex
+#usr/include/c++/4.4.7/tr1_impl/cstdint
+#usr/include/c++/4.4.7/tr1_impl/cstdio
+#usr/include/c++/4.4.7/tr1_impl/cstdlib
+#usr/include/c++/4.4.7/tr1_impl/cwchar
+#usr/include/c++/4.4.7/tr1_impl/cwctype
+#usr/include/c++/4.4.7/tr1_impl/functional
+#usr/include/c++/4.4.7/tr1_impl/functional_hash.h
+#usr/include/c++/4.4.7/tr1_impl/hashtable
+#usr/include/c++/4.4.7/tr1_impl/hashtable_policy.h
+#usr/include/c++/4.4.7/tr1_impl/random
+#usr/include/c++/4.4.7/tr1_impl/random.tcc
+#usr/include/c++/4.4.7/tr1_impl/regex
+#usr/include/c++/4.4.7/tr1_impl/type_traits
+#usr/include/c++/4.4.7/tr1_impl/unordered_map
+#usr/include/c++/4.4.7/tr1_impl/unordered_set
+#usr/include/c++/4.4.7/tr1_impl/utility
+#usr/include/c++/4.4.7/tuple
+#usr/include/c++/4.4.7/type_traits
+#usr/include/c++/4.4.7/typeinfo
+#usr/include/c++/4.4.7/unordered_map
+#usr/include/c++/4.4.7/unordered_set
+#usr/include/c++/4.4.7/utility
+#usr/include/c++/4.4.7/valarray
+#usr/include/c++/4.4.7/vector
+#usr/info
 #usr/info/cpp.info
 #usr/info/cppinternals.info
+#usr/info/dir
 #usr/info/gcc.info
 #usr/info/gccinstall.info
 #usr/info/gccint.info
+#usr/info/libgomp.info
 #usr/lib/gcc
 #usr/lib/gcc/armv5tel-unknown-linux-gnueabi
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/cc1
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/cc1plus
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/collect2
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/crtbegin.o
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/crtbeginS.o
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/crtbeginT.o
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/crtend.o
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/crtendS.o
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/README
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/float.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/iso646.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/limits.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/mmintrin.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/stdarg.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/stdbool.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/stddef.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/syslimits.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/unwind.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/include/varargs.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/fixinc.sh
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/fixincl
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/gsyslimits.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/README
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/float.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/iso646.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/limits.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/mmintrin.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/stdarg.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/stdbool.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/stddef.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/unwind.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/include/varargs.h
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/macro_list
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/mkheaders
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/install-tools/mkheaders.conf
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/libgcc.a
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/libgcc_eh.a
-#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.1.2/libgcov.a
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/cc1
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/cc1plus
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/collect2
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/crtbegin.o
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/crtbeginS.o
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/crtbeginT.o
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/crtend.o
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/crtendS.o
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/finclude
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include-fixed
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include-fixed/README
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include-fixed/limits.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include-fixed/syslimits.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/arm_neon.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/float.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/iso646.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/mf-runtime.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/mmintrin.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/omp.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/ssp
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/ssp/ssp.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/ssp/stdio.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/ssp/string.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/ssp/unistd.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/stdarg.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/stdbool.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/stddef.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/stdfix.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/unwind.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/include/varargs.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/fixinc.sh
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/fixinc_list
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/fixincl
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/gsyslimits.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/include
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/include/README
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/include/limits.h
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/macro_list
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/mkheaders
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/mkheaders.conf
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/install-tools/mkinstalldirs
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/libgcc.a
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/libgcc_eh.a
+#usr/lib/gcc/armv5tel-unknown-linux-gnueabi/4.4.7/libgcov.a
+#usr/lib/libgomp.a
+#usr/lib/libgomp.la
+#usr/lib/libgomp.so
+usr/lib/libgomp.so.1
+usr/lib/libgomp.so.1.0.0
+#usr/lib/libgomp.spec
+#usr/lib/libmudflap.a
+#usr/lib/libmudflap.la
+#usr/lib/libmudflap.so
+usr/lib/libmudflap.so.0
+usr/lib/libmudflap.so.0.0.0
+#usr/lib/libmudflapth.a
+#usr/lib/libmudflapth.la
+#usr/lib/libmudflapth.so
+usr/lib/libmudflapth.so.0
+usr/lib/libmudflapth.so.0.0.0
+#usr/lib/libssp.a
+#usr/lib/libssp.la
+#usr/lib/libssp.so
+usr/lib/libssp.so.0
+usr/lib/libssp.so.0.0.0
+#usr/lib/libssp_nonshared.a
+#usr/lib/libssp_nonshared.la
 #usr/lib/libstdc++.a
-#usr/lib/libstdc++.la
-#usr/lib/libstdc++.so
-usr/lib/libstdc++.so.6
-usr/lib/libstdc++.so.6.0.8
+usr/lib/libstdc++.so.6.0.13
 #usr/lib/libsupc++.a
 #usr/lib/libsupc++.la
 #usr/man/man1/cpp.1
diff --git a/config/rootfiles/common/hddtemp b/config/rootfiles/common/hddtemp
deleted file mode 100644 (file)
index bc4c8d7..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#usr/man/man8/hddtemp.8
-usr/sbin/hddtemp
-#usr/share/locale/fr/LC_MESSAGES/hddtemp.mo
-#usr/share/locale/ru/LC_MESSAGES/hddtemp.mo
index 4e05e8ef093a17f70baff261d5a52be0da140974..499cdf222635a231056e819875402fb851d3c1bf 100644 (file)
@@ -1,46 +1,48 @@
 #etc/ld.so.cache
 etc/localtime
 #etc/rpc
-lib/ld-2.5.so
+lib/ld-2.12.2.so
 lib/ld-linux.so.2
-lib/libBrokenLocale-2.5.so
+lib/libBrokenLocale-2.12.2.so
 lib/libBrokenLocale.so.1
 #lib/libSegFault.so
-lib/libanl-2.5.so
+lib/libanl-2.12.2.so
 lib/libanl.so.1
-lib/libc-2.5.so
+lib/libc-2.12.2.so
 lib/libc.so.6
-lib/libcrypt-2.5.so
+lib/libcidn-2.12.2.so
+lib/libcidn.so.1
+lib/libcrypt-2.12.2.so
 lib/libcrypt.so.1
-lib/libdl-2.5.so
+lib/libdl-2.12.2.so
 lib/libdl.so.2
-lib/libm-2.5.so
+lib/libm-2.12.2.so
 lib/libm.so.6
 #lib/libmemusage.so
-lib/libnsl-2.5.so
+lib/libnsl-2.12.2.so
 lib/libnsl.so.1
-lib/libnss_compat-2.5.so
+lib/libnss_compat-2.12.2.so
 lib/libnss_compat.so.2
-lib/libnss_dns-2.5.so
+lib/libnss_dns-2.12.2.so
 lib/libnss_dns.so.2
-lib/libnss_files-2.5.so
+lib/libnss_files-2.12.2.so
 lib/libnss_files.so.2
-lib/libnss_hesiod-2.5.so
+lib/libnss_hesiod-2.12.2.so
 lib/libnss_hesiod.so.2
-lib/libnss_nis-2.5.so
+lib/libnss_nis-2.12.2.so
 lib/libnss_nis.so.2
-lib/libnss_nisplus-2.5.so
+lib/libnss_nisplus-2.12.2.so
 lib/libnss_nisplus.so.2
 #lib/libpcprofile.so
-lib/libpthread-2.5.so
+lib/libpthread-2.12.2.so
 lib/libpthread.so.0
-lib/libresolv-2.5.so
+lib/libresolv-2.12.2.so
 lib/libresolv.so.2
-lib/librt-2.5.so
+lib/librt-2.12.2.so
 lib/librt.so.1
 lib/libthread_db-1.0.so
 lib/libthread_db.so.1
-lib/libutil-2.5.so
+lib/libutil-2.12.2.so
 lib/libutil.so.1
 sbin/ldconfig
 #sbin/sln
@@ -86,7 +88,9 @@ usr/bin/ldd
 #usr/include/bits/endian.h
 #usr/include/bits/environments.h
 #usr/include/bits/errno.h
+#usr/include/bits/error.h
 #usr/include/bits/fcntl.h
+#usr/include/bits/fcntl2.h
 #usr/include/bits/fenv.h
 #usr/include/bits/fenvinline.h
 #usr/include/bits/huge_val.h
@@ -110,6 +114,7 @@ usr/bin/ldd
 #usr/include/bits/mman.h
 #usr/include/bits/monetary-ldbl.h
 #usr/include/bits/mqueue.h
+#usr/include/bits/mqueue2.h
 #usr/include/bits/msq.h
 #usr/include/bits/nan.h
 #usr/include/bits/netdb.h
@@ -125,6 +130,7 @@ usr/bin/ldd
 #usr/include/bits/sem.h
 #usr/include/bits/semaphore.h
 #usr/include/bits/setjmp.h
+#usr/include/bits/setjmp2.h
 #usr/include/bits/shm.h
 #usr/include/bits/sigaction.h
 #usr/include/bits/sigcontext.h
@@ -207,6 +213,7 @@ usr/bin/ldd
 #usr/include/gnu/stubs-32.h
 #usr/include/gnu/stubs.h
 #usr/include/grp.h
+#usr/include/gshadow.h
 #usr/include/iconv.h
 #usr/include/ieee754.h
 #usr/include/ifaddrs.h
@@ -262,6 +269,8 @@ usr/bin/ldd
 #usr/include/netinet/udp.h
 #usr/include/netipx
 #usr/include/netipx/ipx.h
+#usr/include/netiucv
+#usr/include/netiucv/iucv.h
 #usr/include/netpacket
 #usr/include/netpacket/packet.h
 #usr/include/netrom
@@ -347,8 +356,6 @@ usr/bin/ldd
 #usr/include/rpcsvc/yppasswd.x
 #usr/include/rpcsvc/ypupd.h
 #usr/include/sched.h
-#usr/include/scsi
-#usr/include/scsi/scsi.h
 #usr/include/scsi/scsi_ioctl.h
 #usr/include/scsi/sg.h
 #usr/include/search.h
@@ -375,6 +382,7 @@ usr/bin/ldd
 #usr/include/sys/elf.h
 #usr/include/sys/epoll.h
 #usr/include/sys/errno.h
+#usr/include/sys/eventfd.h
 #usr/include/sys/fcntl.h
 #usr/include/sys/file.h
 #usr/include/sys/fsuid.h
@@ -411,6 +419,7 @@ usr/bin/ldd
 #usr/include/sys/sendfile.h
 #usr/include/sys/shm.h
 #usr/include/sys/signal.h
+#usr/include/sys/signalfd.h
 #usr/include/sys/socket.h
 #usr/include/sys/socketvar.h
 #usr/include/sys/soundcard.h
@@ -427,6 +436,7 @@ usr/bin/ldd
 #usr/include/sys/termios.h
 #usr/include/sys/time.h
 #usr/include/sys/timeb.h
+#usr/include/sys/timerfd.h
 #usr/include/sys/times.h
 #usr/include/sys/timex.h
 #usr/include/sys/ttychars.h
@@ -470,20 +480,6 @@ usr/bin/ldd
 #usr/include/wctype.h
 #usr/include/wordexp.h
 #usr/include/xlocale.h
-#usr/info
-#usr/info/dir
-#usr/info/libc.info
-#usr/info/libc.info-1
-#usr/info/libc.info-10
-#usr/info/libc.info-11
-#usr/info/libc.info-2
-#usr/info/libc.info-3
-#usr/info/libc.info-4
-#usr/info/libc.info-5
-#usr/info/libc.info-6
-#usr/info/libc.info-7
-#usr/info/libc.info-8
-#usr/info/libc.info-9
 #usr/lib/Mcrt1.o
 #usr/lib/Scrt1.o
 #usr/lib/crt1.o
@@ -495,6 +491,7 @@ usr/lib/gconv
 #usr/lib/gconv/ASMO_449.so
 #usr/lib/gconv/BIG5.so
 #usr/lib/gconv/BIG5HKSCS.so
+#usr/lib/gconv/BRF.so
 #usr/lib/gconv/CP10007.so
 #usr/lib/gconv/CP1125.so
 #usr/lib/gconv/CP1250.so
@@ -545,7 +542,11 @@ usr/lib/gconv
 #usr/lib/gconv/GREEK-CCITT.so
 #usr/lib/gconv/GREEK7-OLD.so
 #usr/lib/gconv/GREEK7.so
+#usr/lib/gconv/HP-GREEK8.so
 #usr/lib/gconv/HP-ROMAN8.so
+#usr/lib/gconv/HP-ROMAN9.so
+#usr/lib/gconv/HP-THAI8.so
+#usr/lib/gconv/HP-TURKISH8.so
 #usr/lib/gconv/IBM037.so
 #usr/lib/gconv/IBM038.so
 #usr/lib/gconv/IBM1004.so
@@ -686,6 +687,7 @@ usr/lib/gconv
 #usr/lib/gconv/ISO8859-7.so
 #usr/lib/gconv/ISO8859-8.so
 #usr/lib/gconv/ISO8859-9.so
+#usr/lib/gconv/ISO8859-9E.so
 #usr/lib/gconv/ISO_10367-BOX.so
 #usr/lib/gconv/ISO_11548-1.so
 #usr/lib/gconv/ISO_2033.so
@@ -697,10 +699,12 @@ usr/lib/gconv
 #usr/lib/gconv/JOHAB.so
 #usr/lib/gconv/KOI-8.so
 #usr/lib/gconv/KOI8-R.so
+#usr/lib/gconv/KOI8-RU.so
 #usr/lib/gconv/KOI8-T.so
 #usr/lib/gconv/KOI8-U.so
 #usr/lib/gconv/LATIN-GREEK-1.so
 #usr/lib/gconv/LATIN-GREEK.so
+#usr/lib/gconv/MAC-CENTRALEUROPE.so
 #usr/lib/gconv/MAC-IS.so
 #usr/lib/gconv/MAC-SAMI.so
 #usr/lib/gconv/MAC-UK.so
@@ -735,6 +739,10 @@ usr/lib/gconv
 #usr/lib/glibc/getconf
 #usr/lib/glibc/getconf/POSIX_V6_ILP32_OFF32
 #usr/lib/glibc/getconf/POSIX_V6_ILP32_OFFBIG
+#usr/lib/glibc/getconf/POSIX_V7_ILP32_OFF32
+#usr/lib/glibc/getconf/POSIX_V7_ILP32_OFFBIG
+#usr/lib/glibc/getconf/XBS5_ILP32_OFF32
+#usr/lib/glibc/getconf/XBS5_ILP32_OFFBIG
 #usr/lib/glibc/pt_chown
 #usr/lib/libBrokenLocale.a
 #usr/lib/libBrokenLocale.so
@@ -744,6 +752,7 @@ usr/lib/gconv
 #usr/lib/libc.a
 #usr/lib/libc.so
 #usr/lib/libc_nonshared.a
+#usr/lib/libcidn.so
 #usr/lib/libcrypt.a
 #usr/lib/libcrypt.so
 #usr/lib/libdl.a
@@ -787,6 +796,7 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/charmaps/ASMO_449.gz
 #usr/share/i18n/charmaps/BIG5-HKSCS.gz
 #usr/share/i18n/charmaps/BIG5.gz
+#usr/share/i18n/charmaps/BRF.gz
 #usr/share/i18n/charmaps/BS_4730.gz
 #usr/share/i18n/charmaps/BS_VIEWDATA.gz
 #usr/share/i18n/charmaps/CP10007.gz
@@ -845,7 +855,11 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/charmaps/GREEK-CCITT.gz
 #usr/share/i18n/charmaps/GREEK7-OLD.gz
 #usr/share/i18n/charmaps/GREEK7.gz
+#usr/share/i18n/charmaps/HP-GREEK8.gz
 #usr/share/i18n/charmaps/HP-ROMAN8.gz
+#usr/share/i18n/charmaps/HP-ROMAN9.gz
+#usr/share/i18n/charmaps/HP-THAI8.gz
+#usr/share/i18n/charmaps/HP-TURKISH8.gz
 #usr/share/i18n/charmaps/IBM037.gz
 #usr/share/i18n/charmaps/IBM038.gz
 #usr/share/i18n/charmaps/IBM1004.gz
@@ -925,6 +939,7 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/charmaps/ISO-8859-7.gz
 #usr/share/i18n/charmaps/ISO-8859-8.gz
 #usr/share/i18n/charmaps/ISO-8859-9.gz
+#usr/share/i18n/charmaps/ISO-8859-9E.gz
 #usr/share/i18n/charmaps/ISO-IR-197.gz
 #usr/share/i18n/charmaps/ISO-IR-209.gz
 #usr/share/i18n/charmaps/ISO-IR-90.gz
@@ -958,11 +973,13 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/charmaps/JUS_I.B1.003-SERB.gz
 #usr/share/i18n/charmaps/KOI-8.gz
 #usr/share/i18n/charmaps/KOI8-R.gz
+#usr/share/i18n/charmaps/KOI8-RU.gz
 #usr/share/i18n/charmaps/KOI8-T.gz
 #usr/share/i18n/charmaps/KOI8-U.gz
 #usr/share/i18n/charmaps/KSC5636.gz
 #usr/share/i18n/charmaps/LATIN-GREEK-1.gz
 #usr/share/i18n/charmaps/LATIN-GREEK.gz
+#usr/share/i18n/charmaps/MAC-CENTRALEUROPE.gz
 #usr/share/i18n/charmaps/MAC-CYRILLIC.gz
 #usr/share/i18n/charmaps/MAC-IS.gz
 #usr/share/i18n/charmaps/MAC-SAMI.gz
@@ -1028,12 +1045,17 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/ar_TN
 #usr/share/i18n/locales/ar_YE
 #usr/share/i18n/locales/as_IN
+#usr/share/i18n/locales/ast_ES
 #usr/share/i18n/locales/az_AZ
 #usr/share/i18n/locales/be_BY
 #usr/share/i18n/locales/be_BY@latin
+#usr/share/i18n/locales/ber_DZ
+#usr/share/i18n/locales/ber_MA
 #usr/share/i18n/locales/bg_BG
 #usr/share/i18n/locales/bn_BD
 #usr/share/i18n/locales/bn_IN
+#usr/share/i18n/locales/bo_CN
+#usr/share/i18n/locales/bo_IN
 #usr/share/i18n/locales/br_FR
 #usr/share/i18n/locales/br_FR@euro
 #usr/share/i18n/locales/bs_BA
@@ -1043,8 +1065,10 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/ca_ES@euro
 #usr/share/i18n/locales/ca_FR
 #usr/share/i18n/locales/ca_IT
+#usr/share/i18n/locales/crh_UA
 #usr/share/i18n/locales/cs_CZ
 #usr/share/i18n/locales/csb_PL
+#usr/share/i18n/locales/cv_RU
 #usr/share/i18n/locales/cy_GB
 #usr/share/i18n/locales/da_DK
 #usr/share/i18n/locales/de_AT
@@ -1056,10 +1080,12 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/de_DE@euro
 #usr/share/i18n/locales/de_LU
 #usr/share/i18n/locales/de_LU@euro
+#usr/share/i18n/locales/dv_MV
 #usr/share/i18n/locales/dz_BT
 #usr/share/i18n/locales/el_CY
 #usr/share/i18n/locales/el_GR
 #usr/share/i18n/locales/el_GR@euro
+#usr/share/i18n/locales/en_AG
 #usr/share/i18n/locales/en_AU
 #usr/share/i18n/locales/en_BW
 #usr/share/i18n/locales/en_CA
@@ -1069,6 +1095,7 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/en_IE
 #usr/share/i18n/locales/en_IE@euro
 #usr/share/i18n/locales/en_IN
+#usr/share/i18n/locales/en_NG
 #usr/share/i18n/locales/en_NZ
 #usr/share/i18n/locales/en_PH
 #usr/share/i18n/locales/en_SG
@@ -1102,6 +1129,7 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/fa_IR
 #usr/share/i18n/locales/fi_FI
 #usr/share/i18n/locales/fi_FI@euro
+#usr/share/i18n/locales/fil_PH
 #usr/share/i18n/locales/fo_FO
 #usr/share/i18n/locales/fr_BE
 #usr/share/i18n/locales/fr_BE@euro
@@ -1111,6 +1139,8 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/fr_FR@euro
 #usr/share/i18n/locales/fr_LU
 #usr/share/i18n/locales/fr_LU@euro
+#usr/share/i18n/locales/fur_IT
+#usr/share/i18n/locales/fy_DE
 #usr/share/i18n/locales/fy_NL
 #usr/share/i18n/locales/ga_IE
 #usr/share/i18n/locales/ga_IE@euro
@@ -1123,19 +1153,27 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/gl_ES@euro
 #usr/share/i18n/locales/gu_IN
 #usr/share/i18n/locales/gv_GB
+#usr/share/i18n/locales/ha_NG
 #usr/share/i18n/locales/he_IL
 #usr/share/i18n/locales/hi_IN
+#usr/share/i18n/locales/hne_IN
 #usr/share/i18n/locales/hr_HR
 #usr/share/i18n/locales/hsb_DE
+#usr/share/i18n/locales/ht_HT
 #usr/share/i18n/locales/hu_HU
 #usr/share/i18n/locales/hy_AM
 #usr/share/i18n/locales/i18n
 #usr/share/i18n/locales/id_ID
+#usr/share/i18n/locales/ig_NG
+#usr/share/i18n/locales/ik_CA
 #usr/share/i18n/locales/is_IS
 #usr/share/i18n/locales/iso14651_t1
+#usr/share/i18n/locales/iso14651_t1_common
+#usr/share/i18n/locales/iso14651_t1_pinyin
 #usr/share/i18n/locales/it_CH
 #usr/share/i18n/locales/it_IT
 #usr/share/i18n/locales/it_IT@euro
+#usr/share/i18n/locales/iu_CA
 #usr/share/i18n/locales/iw_IL
 #usr/share/i18n/locales/ja_JP
 #usr/share/i18n/locales/ka_GE
@@ -1144,13 +1182,19 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/km_KH
 #usr/share/i18n/locales/kn_IN
 #usr/share/i18n/locales/ko_KR
+#usr/share/i18n/locales/kok_IN
+#usr/share/i18n/locales/ks_IN
+#usr/share/i18n/locales/ks_IN@devanagari
 #usr/share/i18n/locales/ku_TR
 #usr/share/i18n/locales/kw_GB
 #usr/share/i18n/locales/ky_KG
 #usr/share/i18n/locales/lg_UG
+#usr/share/i18n/locales/li_BE
+#usr/share/i18n/locales/li_NL
 #usr/share/i18n/locales/lo_LA
 #usr/share/i18n/locales/lt_LT
 #usr/share/i18n/locales/lv_LV
+#usr/share/i18n/locales/mai_IN
 #usr/share/i18n/locales/mg_MG
 #usr/share/i18n/locales/mi_NZ
 #usr/share/i18n/locales/mk_MK
@@ -1159,8 +1203,13 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/mr_IN
 #usr/share/i18n/locales/ms_MY
 #usr/share/i18n/locales/mt_MT
+#usr/share/i18n/locales/my_MM
+#usr/share/i18n/locales/nan_TW@latin
 #usr/share/i18n/locales/nb_NO
+#usr/share/i18n/locales/nds_DE
+#usr/share/i18n/locales/nds_NL
 #usr/share/i18n/locales/ne_NP
+#usr/share/i18n/locales/nl_AW
 #usr/share/i18n/locales/nl_BE
 #usr/share/i18n/locales/nl_BE@euro
 #usr/share/i18n/locales/nl_NL
@@ -1174,7 +1223,9 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/or_IN
 #usr/share/i18n/locales/pa_IN
 #usr/share/i18n/locales/pa_PK
+#usr/share/i18n/locales/pap_AN
 #usr/share/i18n/locales/pl_PL
+#usr/share/i18n/locales/ps_AF
 #usr/share/i18n/locales/pt_BR
 #usr/share/i18n/locales/pt_PT
 #usr/share/i18n/locales/pt_PT@euro
@@ -1182,7 +1233,12 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/ru_RU
 #usr/share/i18n/locales/ru_UA
 #usr/share/i18n/locales/rw_RW
+#usr/share/i18n/locales/sa_IN
+#usr/share/i18n/locales/sc_IT
+#usr/share/i18n/locales/sd_IN
+#usr/share/i18n/locales/sd_IN@devanagari
 #usr/share/i18n/locales/se_NO
+#usr/share/i18n/locales/shs_CA
 #usr/share/i18n/locales/si_LK
 #usr/share/i18n/locales/sid_ET
 #usr/share/i18n/locales/sk_SK
@@ -1192,8 +1248,10 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/so_KE
 #usr/share/i18n/locales/so_SO
 #usr/share/i18n/locales/sq_AL
-#usr/share/i18n/locales/sr_CS
+#usr/share/i18n/locales/sq_MK
 #usr/share/i18n/locales/sr_ME
+#usr/share/i18n/locales/sr_RS
+#usr/share/i18n/locales/sr_RS@latin
 #usr/share/i18n/locales/ss_ZA
 #usr/share/i18n/locales/st_ZA
 #usr/share/i18n/locales/sv_FI
@@ -1206,6 +1264,7 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/ti_ER
 #usr/share/i18n/locales/ti_ET
 #usr/share/i18n/locales/tig_ER
+#usr/share/i18n/locales/tk_TM
 #usr/share/i18n/locales/tl_PH
 #usr/share/i18n/locales/tn_ZA
 #usr/share/i18n/locales/tr_CY
@@ -1224,7 +1283,10 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/translit_wide
 #usr/share/i18n/locales/ts_ZA
 #usr/share/i18n/locales/tt_RU
+#usr/share/i18n/locales/tt_RU@iqtelif
+#usr/share/i18n/locales/ug_CN
 #usr/share/i18n/locales/uk_UA
+#usr/share/i18n/locales/ur_IN
 #usr/share/i18n/locales/ur_PK
 #usr/share/i18n/locales/uz_UZ
 #usr/share/i18n/locales/uz_UZ@cyrillic
@@ -1233,16 +1295,34 @@ usr/lib/locale/locale-archive
 #usr/share/i18n/locales/wa_BE
 #usr/share/i18n/locales/wa_BE@euro
 #usr/share/i18n/locales/wal_ET
+#usr/share/i18n/locales/wo_SN
 #usr/share/i18n/locales/xh_ZA
 #usr/share/i18n/locales/yi_US
+#usr/share/i18n/locales/yo_NG
 #usr/share/i18n/locales/zh_CN
 #usr/share/i18n/locales/zh_HK
 #usr/share/i18n/locales/zh_SG
 #usr/share/i18n/locales/zh_TW
 #usr/share/i18n/locales/zu_ZA
+#usr/share/info/dir
+#usr/share/info/libc.info
+#usr/share/info/libc.info-1
+#usr/share/info/libc.info-10
+#usr/share/info/libc.info-11
+#usr/share/info/libc.info-2
+#usr/share/info/libc.info-3
+#usr/share/info/libc.info-4
+#usr/share/info/libc.info-5
+#usr/share/info/libc.info-6
+#usr/share/info/libc.info-7
+#usr/share/info/libc.info-8
+#usr/share/info/libc.info-9
 #usr/share/locale/be
 #usr/share/locale/be/LC_MESSAGES
 #usr/share/locale/be/LC_MESSAGES/libc.mo
+#usr/share/locale/bg
+#usr/share/locale/bg/LC_MESSAGES
+#usr/share/locale/bg/LC_MESSAGES/libc.mo
 #usr/share/locale/ca
 #usr/share/locale/ca/LC_MESSAGES
 #usr/share/locale/ca/LC_MESSAGES/libc.mo
@@ -1279,6 +1359,9 @@ usr/lib/locale/locale-archive
 #usr/share/locale/hu
 #usr/share/locale/hu/LC_MESSAGES
 #usr/share/locale/hu/LC_MESSAGES/libc.mo
+#usr/share/locale/id
+#usr/share/locale/id/LC_MESSAGES
+#usr/share/locale/id/LC_MESSAGES/libc.mo
 #usr/share/locale/it
 #usr/share/locale/it/LC_MESSAGES
 #usr/share/locale/it/LC_MESSAGES/libc.mo
@@ -1289,6 +1372,9 @@ usr/lib/locale/locale-archive
 #usr/share/locale/ko/LC_MESSAGES
 #usr/share/locale/ko/LC_MESSAGES/libc.mo
 #usr/share/locale/locale.alias
+#usr/share/locale/lt
+#usr/share/locale/lt/LC_MESSAGES
+#usr/share/locale/lt/LC_MESSAGES/libc.mo
 #usr/share/locale/nb
 #usr/share/locale/nb/LC_MESSAGES
 #usr/share/locale/nb/LC_MESSAGES/libc.mo
@@ -1316,6 +1402,9 @@ usr/lib/locale/locale-archive
 #usr/share/locale/tr
 #usr/share/locale/tr/LC_MESSAGES
 #usr/share/locale/tr/LC_MESSAGES/libc.mo
+#usr/share/locale/vi
+#usr/share/locale/vi/LC_MESSAGES
+#usr/share/locale/vi/LC_MESSAGES/libc.mo
 #usr/share/locale/zh_CN
 #usr/share/locale/zh_CN/LC_MESSAGES
 #usr/share/locale/zh_CN/LC_MESSAGES/libc.mo
@@ -1327,6 +1416,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Africa/Accra
 #usr/share/zoneinfo/Africa/Addis_Ababa
 #usr/share/zoneinfo/Africa/Algiers
+#usr/share/zoneinfo/Africa/Asmara
 #usr/share/zoneinfo/Africa/Asmera
 #usr/share/zoneinfo/Africa/Bamako
 #usr/share/zoneinfo/Africa/Bangui
@@ -1390,16 +1480,20 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/America/Argentina/La_Rioja
 #usr/share/zoneinfo/America/Argentina/Mendoza
 #usr/share/zoneinfo/America/Argentina/Rio_Gallegos
+#usr/share/zoneinfo/America/Argentina/Salta
 #usr/share/zoneinfo/America/Argentina/San_Juan
+#usr/share/zoneinfo/America/Argentina/San_Luis
 #usr/share/zoneinfo/America/Argentina/Tucuman
 #usr/share/zoneinfo/America/Argentina/Ushuaia
 #usr/share/zoneinfo/America/Aruba
 #usr/share/zoneinfo/America/Asuncion
+#usr/share/zoneinfo/America/Atikokan
 #usr/share/zoneinfo/America/Atka
 #usr/share/zoneinfo/America/Bahia
 #usr/share/zoneinfo/America/Barbados
 #usr/share/zoneinfo/America/Belem
 #usr/share/zoneinfo/America/Belize
+#usr/share/zoneinfo/America/Blanc-Sablon
 #usr/share/zoneinfo/America/Boa_Vista
 #usr/share/zoneinfo/America/Bogota
 #usr/share/zoneinfo/America/Boise
@@ -1447,8 +1541,10 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/America/Indiana/Knox
 #usr/share/zoneinfo/America/Indiana/Marengo
 #usr/share/zoneinfo/America/Indiana/Petersburg
+#usr/share/zoneinfo/America/Indiana/Tell_City
 #usr/share/zoneinfo/America/Indiana/Vevay
 #usr/share/zoneinfo/America/Indiana/Vincennes
+#usr/share/zoneinfo/America/Indiana/Winamac
 #usr/share/zoneinfo/America/Indianapolis
 #usr/share/zoneinfo/America/Inuvik
 #usr/share/zoneinfo/America/Iqaluit
@@ -1466,6 +1562,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/America/Maceio
 #usr/share/zoneinfo/America/Managua
 #usr/share/zoneinfo/America/Manaus
+#usr/share/zoneinfo/America/Marigot
 #usr/share/zoneinfo/America/Martinique
 #usr/share/zoneinfo/America/Mazatlan
 #usr/share/zoneinfo/America/Mendoza
@@ -1485,6 +1582,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/America/Noronha
 #usr/share/zoneinfo/America/North_Dakota
 #usr/share/zoneinfo/America/North_Dakota/Center
+#usr/share/zoneinfo/America/North_Dakota/New_Salem
 #usr/share/zoneinfo/America/Panama
 #usr/share/zoneinfo/America/Pangnirtung
 #usr/share/zoneinfo/America/Paramaribo
@@ -1498,13 +1596,16 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/America/Rankin_Inlet
 #usr/share/zoneinfo/America/Recife
 #usr/share/zoneinfo/America/Regina
+#usr/share/zoneinfo/America/Resolute
 #usr/share/zoneinfo/America/Rio_Branco
 #usr/share/zoneinfo/America/Rosario
+#usr/share/zoneinfo/America/Santarem
 #usr/share/zoneinfo/America/Santiago
 #usr/share/zoneinfo/America/Santo_Domingo
 #usr/share/zoneinfo/America/Sao_Paulo
 #usr/share/zoneinfo/America/Scoresbysund
 #usr/share/zoneinfo/America/Shiprock
+#usr/share/zoneinfo/America/St_Barthelemy
 #usr/share/zoneinfo/America/St_Johns
 #usr/share/zoneinfo/America/St_Kitts
 #usr/share/zoneinfo/America/St_Lucia
@@ -1565,6 +1666,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Asia/Dushanbe
 #usr/share/zoneinfo/Asia/Gaza
 #usr/share/zoneinfo/Asia/Harbin
+#usr/share/zoneinfo/Asia/Ho_Chi_Minh
 #usr/share/zoneinfo/Asia/Hong_Kong
 #usr/share/zoneinfo/Asia/Hovd
 #usr/share/zoneinfo/Asia/Irkutsk
@@ -1576,7 +1678,9 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Asia/Kamchatka
 #usr/share/zoneinfo/Asia/Karachi
 #usr/share/zoneinfo/Asia/Kashgar
+#usr/share/zoneinfo/Asia/Kathmandu
 #usr/share/zoneinfo/Asia/Katmandu
+#usr/share/zoneinfo/Asia/Kolkata
 #usr/share/zoneinfo/Asia/Krasnoyarsk
 #usr/share/zoneinfo/Asia/Kuala_Lumpur
 #usr/share/zoneinfo/Asia/Kuching
@@ -1630,6 +1734,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Atlantic/Canary
 #usr/share/zoneinfo/Atlantic/Cape_Verde
 #usr/share/zoneinfo/Atlantic/Faeroe
+#usr/share/zoneinfo/Atlantic/Faroe
 #usr/share/zoneinfo/Atlantic/Jan_Mayen
 #usr/share/zoneinfo/Atlantic/Madeira
 #usr/share/zoneinfo/Atlantic/Reykjavik
@@ -1644,6 +1749,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Australia/Canberra
 #usr/share/zoneinfo/Australia/Currie
 #usr/share/zoneinfo/Australia/Darwin
+#usr/share/zoneinfo/Australia/Eucla
 #usr/share/zoneinfo/Australia/Hobart
 #usr/share/zoneinfo/Australia/LHI
 #usr/share/zoneinfo/Australia/Lindeman
@@ -1736,8 +1842,11 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Europe/Copenhagen
 #usr/share/zoneinfo/Europe/Dublin
 #usr/share/zoneinfo/Europe/Gibraltar
+#usr/share/zoneinfo/Europe/Guernsey
 #usr/share/zoneinfo/Europe/Helsinki
+#usr/share/zoneinfo/Europe/Isle_of_Man
 #usr/share/zoneinfo/Europe/Istanbul
+#usr/share/zoneinfo/Europe/Jersey
 #usr/share/zoneinfo/Europe/Kaliningrad
 #usr/share/zoneinfo/Europe/Kiev
 #usr/share/zoneinfo/Europe/Lisbon
@@ -1753,6 +1862,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Europe/Nicosia
 #usr/share/zoneinfo/Europe/Oslo
 #usr/share/zoneinfo/Europe/Paris
+#usr/share/zoneinfo/Europe/Podgorica
 #usr/share/zoneinfo/Europe/Prague
 #usr/share/zoneinfo/Europe/Riga
 #usr/share/zoneinfo/Europe/Rome
@@ -1771,6 +1881,7 @@ usr/lib/locale/locale-archive
 #usr/share/zoneinfo/Europe/Vatican
 #usr/share/zoneinfo/Europe/Vienna
 #usr/share/zoneinfo/Europe/Vilnius
+#usr/share/zoneinfo/Europe/Volgograd
 #usr/share/zoneinfo/Europe/Warsaw
 #usr/share/zoneinfo/Europe/Zagreb
 #usr/share/zoneinfo/Europe/Zaporozhye
@@ -1893,6 +2004,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Africa/Accra
 #usr/share/zoneinfo/posix/Africa/Addis_Ababa
 #usr/share/zoneinfo/posix/Africa/Algiers
+#usr/share/zoneinfo/posix/Africa/Asmara
 #usr/share/zoneinfo/posix/Africa/Asmera
 #usr/share/zoneinfo/posix/Africa/Bamako
 #usr/share/zoneinfo/posix/Africa/Bangui
@@ -1956,16 +2068,20 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/America/Argentina/La_Rioja
 #usr/share/zoneinfo/posix/America/Argentina/Mendoza
 #usr/share/zoneinfo/posix/America/Argentina/Rio_Gallegos
+#usr/share/zoneinfo/posix/America/Argentina/Salta
 #usr/share/zoneinfo/posix/America/Argentina/San_Juan
+#usr/share/zoneinfo/posix/America/Argentina/San_Luis
 #usr/share/zoneinfo/posix/America/Argentina/Tucuman
 #usr/share/zoneinfo/posix/America/Argentina/Ushuaia
 #usr/share/zoneinfo/posix/America/Aruba
 #usr/share/zoneinfo/posix/America/Asuncion
+#usr/share/zoneinfo/posix/America/Atikokan
 #usr/share/zoneinfo/posix/America/Atka
 #usr/share/zoneinfo/posix/America/Bahia
 #usr/share/zoneinfo/posix/America/Barbados
 #usr/share/zoneinfo/posix/America/Belem
 #usr/share/zoneinfo/posix/America/Belize
+#usr/share/zoneinfo/posix/America/Blanc-Sablon
 #usr/share/zoneinfo/posix/America/Boa_Vista
 #usr/share/zoneinfo/posix/America/Bogota
 #usr/share/zoneinfo/posix/America/Boise
@@ -2013,8 +2129,10 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/America/Indiana/Knox
 #usr/share/zoneinfo/posix/America/Indiana/Marengo
 #usr/share/zoneinfo/posix/America/Indiana/Petersburg
+#usr/share/zoneinfo/posix/America/Indiana/Tell_City
 #usr/share/zoneinfo/posix/America/Indiana/Vevay
 #usr/share/zoneinfo/posix/America/Indiana/Vincennes
+#usr/share/zoneinfo/posix/America/Indiana/Winamac
 #usr/share/zoneinfo/posix/America/Indianapolis
 #usr/share/zoneinfo/posix/America/Inuvik
 #usr/share/zoneinfo/posix/America/Iqaluit
@@ -2032,6 +2150,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/America/Maceio
 #usr/share/zoneinfo/posix/America/Managua
 #usr/share/zoneinfo/posix/America/Manaus
+#usr/share/zoneinfo/posix/America/Marigot
 #usr/share/zoneinfo/posix/America/Martinique
 #usr/share/zoneinfo/posix/America/Mazatlan
 #usr/share/zoneinfo/posix/America/Mendoza
@@ -2051,6 +2170,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/America/Noronha
 #usr/share/zoneinfo/posix/America/North_Dakota
 #usr/share/zoneinfo/posix/America/North_Dakota/Center
+#usr/share/zoneinfo/posix/America/North_Dakota/New_Salem
 #usr/share/zoneinfo/posix/America/Panama
 #usr/share/zoneinfo/posix/America/Pangnirtung
 #usr/share/zoneinfo/posix/America/Paramaribo
@@ -2064,13 +2184,16 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/America/Rankin_Inlet
 #usr/share/zoneinfo/posix/America/Recife
 #usr/share/zoneinfo/posix/America/Regina
+#usr/share/zoneinfo/posix/America/Resolute
 #usr/share/zoneinfo/posix/America/Rio_Branco
 #usr/share/zoneinfo/posix/America/Rosario
+#usr/share/zoneinfo/posix/America/Santarem
 #usr/share/zoneinfo/posix/America/Santiago
 #usr/share/zoneinfo/posix/America/Santo_Domingo
 #usr/share/zoneinfo/posix/America/Sao_Paulo
 #usr/share/zoneinfo/posix/America/Scoresbysund
 #usr/share/zoneinfo/posix/America/Shiprock
+#usr/share/zoneinfo/posix/America/St_Barthelemy
 #usr/share/zoneinfo/posix/America/St_Johns
 #usr/share/zoneinfo/posix/America/St_Kitts
 #usr/share/zoneinfo/posix/America/St_Lucia
@@ -2131,6 +2254,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Asia/Dushanbe
 #usr/share/zoneinfo/posix/Asia/Gaza
 #usr/share/zoneinfo/posix/Asia/Harbin
+#usr/share/zoneinfo/posix/Asia/Ho_Chi_Minh
 #usr/share/zoneinfo/posix/Asia/Hong_Kong
 #usr/share/zoneinfo/posix/Asia/Hovd
 #usr/share/zoneinfo/posix/Asia/Irkutsk
@@ -2142,7 +2266,9 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Asia/Kamchatka
 #usr/share/zoneinfo/posix/Asia/Karachi
 #usr/share/zoneinfo/posix/Asia/Kashgar
+#usr/share/zoneinfo/posix/Asia/Kathmandu
 #usr/share/zoneinfo/posix/Asia/Katmandu
+#usr/share/zoneinfo/posix/Asia/Kolkata
 #usr/share/zoneinfo/posix/Asia/Krasnoyarsk
 #usr/share/zoneinfo/posix/Asia/Kuala_Lumpur
 #usr/share/zoneinfo/posix/Asia/Kuching
@@ -2196,6 +2322,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Atlantic/Canary
 #usr/share/zoneinfo/posix/Atlantic/Cape_Verde
 #usr/share/zoneinfo/posix/Atlantic/Faeroe
+#usr/share/zoneinfo/posix/Atlantic/Faroe
 #usr/share/zoneinfo/posix/Atlantic/Jan_Mayen
 #usr/share/zoneinfo/posix/Atlantic/Madeira
 #usr/share/zoneinfo/posix/Atlantic/Reykjavik
@@ -2210,6 +2337,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Australia/Canberra
 #usr/share/zoneinfo/posix/Australia/Currie
 #usr/share/zoneinfo/posix/Australia/Darwin
+#usr/share/zoneinfo/posix/Australia/Eucla
 #usr/share/zoneinfo/posix/Australia/Hobart
 #usr/share/zoneinfo/posix/Australia/LHI
 #usr/share/zoneinfo/posix/Australia/Lindeman
@@ -2302,8 +2430,11 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Europe/Copenhagen
 #usr/share/zoneinfo/posix/Europe/Dublin
 #usr/share/zoneinfo/posix/Europe/Gibraltar
+#usr/share/zoneinfo/posix/Europe/Guernsey
 #usr/share/zoneinfo/posix/Europe/Helsinki
+#usr/share/zoneinfo/posix/Europe/Isle_of_Man
 #usr/share/zoneinfo/posix/Europe/Istanbul
+#usr/share/zoneinfo/posix/Europe/Jersey
 #usr/share/zoneinfo/posix/Europe/Kaliningrad
 #usr/share/zoneinfo/posix/Europe/Kiev
 #usr/share/zoneinfo/posix/Europe/Lisbon
@@ -2319,6 +2450,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Europe/Nicosia
 #usr/share/zoneinfo/posix/Europe/Oslo
 #usr/share/zoneinfo/posix/Europe/Paris
+#usr/share/zoneinfo/posix/Europe/Podgorica
 #usr/share/zoneinfo/posix/Europe/Prague
 #usr/share/zoneinfo/posix/Europe/Riga
 #usr/share/zoneinfo/posix/Europe/Rome
@@ -2337,6 +2469,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/posix/Europe/Vatican
 #usr/share/zoneinfo/posix/Europe/Vienna
 #usr/share/zoneinfo/posix/Europe/Vilnius
+#usr/share/zoneinfo/posix/Europe/Volgograd
 #usr/share/zoneinfo/posix/Europe/Warsaw
 #usr/share/zoneinfo/posix/Europe/Zagreb
 #usr/share/zoneinfo/posix/Europe/Zaporozhye
@@ -2459,6 +2592,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Africa/Accra
 #usr/share/zoneinfo/right/Africa/Addis_Ababa
 #usr/share/zoneinfo/right/Africa/Algiers
+#usr/share/zoneinfo/right/Africa/Asmara
 #usr/share/zoneinfo/right/Africa/Asmera
 #usr/share/zoneinfo/right/Africa/Bamako
 #usr/share/zoneinfo/right/Africa/Bangui
@@ -2522,16 +2656,20 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/America/Argentina/La_Rioja
 #usr/share/zoneinfo/right/America/Argentina/Mendoza
 #usr/share/zoneinfo/right/America/Argentina/Rio_Gallegos
+#usr/share/zoneinfo/right/America/Argentina/Salta
 #usr/share/zoneinfo/right/America/Argentina/San_Juan
+#usr/share/zoneinfo/right/America/Argentina/San_Luis
 #usr/share/zoneinfo/right/America/Argentina/Tucuman
 #usr/share/zoneinfo/right/America/Argentina/Ushuaia
 #usr/share/zoneinfo/right/America/Aruba
 #usr/share/zoneinfo/right/America/Asuncion
+#usr/share/zoneinfo/right/America/Atikokan
 #usr/share/zoneinfo/right/America/Atka
 #usr/share/zoneinfo/right/America/Bahia
 #usr/share/zoneinfo/right/America/Barbados
 #usr/share/zoneinfo/right/America/Belem
 #usr/share/zoneinfo/right/America/Belize
+#usr/share/zoneinfo/right/America/Blanc-Sablon
 #usr/share/zoneinfo/right/America/Boa_Vista
 #usr/share/zoneinfo/right/America/Bogota
 #usr/share/zoneinfo/right/America/Boise
@@ -2579,8 +2717,10 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/America/Indiana/Knox
 #usr/share/zoneinfo/right/America/Indiana/Marengo
 #usr/share/zoneinfo/right/America/Indiana/Petersburg
+#usr/share/zoneinfo/right/America/Indiana/Tell_City
 #usr/share/zoneinfo/right/America/Indiana/Vevay
 #usr/share/zoneinfo/right/America/Indiana/Vincennes
+#usr/share/zoneinfo/right/America/Indiana/Winamac
 #usr/share/zoneinfo/right/America/Indianapolis
 #usr/share/zoneinfo/right/America/Inuvik
 #usr/share/zoneinfo/right/America/Iqaluit
@@ -2598,6 +2738,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/America/Maceio
 #usr/share/zoneinfo/right/America/Managua
 #usr/share/zoneinfo/right/America/Manaus
+#usr/share/zoneinfo/right/America/Marigot
 #usr/share/zoneinfo/right/America/Martinique
 #usr/share/zoneinfo/right/America/Mazatlan
 #usr/share/zoneinfo/right/America/Mendoza
@@ -2617,6 +2758,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/America/Noronha
 #usr/share/zoneinfo/right/America/North_Dakota
 #usr/share/zoneinfo/right/America/North_Dakota/Center
+#usr/share/zoneinfo/right/America/North_Dakota/New_Salem
 #usr/share/zoneinfo/right/America/Panama
 #usr/share/zoneinfo/right/America/Pangnirtung
 #usr/share/zoneinfo/right/America/Paramaribo
@@ -2630,13 +2772,16 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/America/Rankin_Inlet
 #usr/share/zoneinfo/right/America/Recife
 #usr/share/zoneinfo/right/America/Regina
+#usr/share/zoneinfo/right/America/Resolute
 #usr/share/zoneinfo/right/America/Rio_Branco
 #usr/share/zoneinfo/right/America/Rosario
+#usr/share/zoneinfo/right/America/Santarem
 #usr/share/zoneinfo/right/America/Santiago
 #usr/share/zoneinfo/right/America/Santo_Domingo
 #usr/share/zoneinfo/right/America/Sao_Paulo
 #usr/share/zoneinfo/right/America/Scoresbysund
 #usr/share/zoneinfo/right/America/Shiprock
+#usr/share/zoneinfo/right/America/St_Barthelemy
 #usr/share/zoneinfo/right/America/St_Johns
 #usr/share/zoneinfo/right/America/St_Kitts
 #usr/share/zoneinfo/right/America/St_Lucia
@@ -2697,6 +2842,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Asia/Dushanbe
 #usr/share/zoneinfo/right/Asia/Gaza
 #usr/share/zoneinfo/right/Asia/Harbin
+#usr/share/zoneinfo/right/Asia/Ho_Chi_Minh
 #usr/share/zoneinfo/right/Asia/Hong_Kong
 #usr/share/zoneinfo/right/Asia/Hovd
 #usr/share/zoneinfo/right/Asia/Irkutsk
@@ -2708,7 +2854,9 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Asia/Kamchatka
 #usr/share/zoneinfo/right/Asia/Karachi
 #usr/share/zoneinfo/right/Asia/Kashgar
+#usr/share/zoneinfo/right/Asia/Kathmandu
 #usr/share/zoneinfo/right/Asia/Katmandu
+#usr/share/zoneinfo/right/Asia/Kolkata
 #usr/share/zoneinfo/right/Asia/Krasnoyarsk
 #usr/share/zoneinfo/right/Asia/Kuala_Lumpur
 #usr/share/zoneinfo/right/Asia/Kuching
@@ -2762,6 +2910,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Atlantic/Canary
 #usr/share/zoneinfo/right/Atlantic/Cape_Verde
 #usr/share/zoneinfo/right/Atlantic/Faeroe
+#usr/share/zoneinfo/right/Atlantic/Faroe
 #usr/share/zoneinfo/right/Atlantic/Jan_Mayen
 #usr/share/zoneinfo/right/Atlantic/Madeira
 #usr/share/zoneinfo/right/Atlantic/Reykjavik
@@ -2776,6 +2925,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Australia/Canberra
 #usr/share/zoneinfo/right/Australia/Currie
 #usr/share/zoneinfo/right/Australia/Darwin
+#usr/share/zoneinfo/right/Australia/Eucla
 #usr/share/zoneinfo/right/Australia/Hobart
 #usr/share/zoneinfo/right/Australia/LHI
 #usr/share/zoneinfo/right/Australia/Lindeman
@@ -2868,8 +3018,11 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Europe/Copenhagen
 #usr/share/zoneinfo/right/Europe/Dublin
 #usr/share/zoneinfo/right/Europe/Gibraltar
+#usr/share/zoneinfo/right/Europe/Guernsey
 #usr/share/zoneinfo/right/Europe/Helsinki
+#usr/share/zoneinfo/right/Europe/Isle_of_Man
 #usr/share/zoneinfo/right/Europe/Istanbul
+#usr/share/zoneinfo/right/Europe/Jersey
 #usr/share/zoneinfo/right/Europe/Kaliningrad
 #usr/share/zoneinfo/right/Europe/Kiev
 #usr/share/zoneinfo/right/Europe/Lisbon
@@ -2885,6 +3038,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Europe/Nicosia
 #usr/share/zoneinfo/right/Europe/Oslo
 #usr/share/zoneinfo/right/Europe/Paris
+#usr/share/zoneinfo/right/Europe/Podgorica
 #usr/share/zoneinfo/right/Europe/Prague
 #usr/share/zoneinfo/right/Europe/Riga
 #usr/share/zoneinfo/right/Europe/Rome
@@ -2903,6 +3057,7 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/Europe/Vatican
 #usr/share/zoneinfo/right/Europe/Vienna
 #usr/share/zoneinfo/right/Europe/Vilnius
+#usr/share/zoneinfo/right/Europe/Volgograd
 #usr/share/zoneinfo/right/Europe/Warsaw
 #usr/share/zoneinfo/right/Europe/Zagreb
 #usr/share/zoneinfo/right/Europe/Zaporozhye
@@ -3019,3 +3174,5 @@ usr/share/zoneinfo/posix
 #usr/share/zoneinfo/right/WET
 #usr/share/zoneinfo/right/Zulu
 #usr/share/zoneinfo/zone.tab
+#var/cache/ldconfig
+#var/cache/ldconfig/aux-cache
diff --git a/config/rootfiles/common/libsafe b/config/rootfiles/common/libsafe
deleted file mode 100644 (file)
index 8275e4a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-etc/ld.so.preload
-lib/libsafe.so.2
-lib/libsafe.so.2.0.16
-#usr/man/man8/libsafe.8
index 5cd180bef74f7e6292e74bc4b9ed863b2cc94570..8db08fa39d3cc5053853ec50b74f3b54396db369 100644 (file)
@@ -1,5 +1,3 @@
 bin/sed
-#usr/info/sed.info
-#usr/info/sed.info-1
-#usr/info/sed.info-2
-#usr/man/man1/sed.1
+#usr/share/info/sed.info
+#usr/share/man/man1/sed.1
index c749e481aa0fea1dbd7614673435a6831d879613..32eca4ed5711267704024cd68a17c57beb7d5f22 100644 (file)
@@ -1,18 +1,3 @@
-#opt/MACHINE-uClibc/bin/dlist_test
-#opt/MACHINE-uClibc/bin/get_bus_devices_list
-#opt/MACHINE-uClibc/bin/get_class_dev
-#opt/MACHINE-uClibc/bin/get_classdev_parent
-#opt/MACHINE-uClibc/bin/get_device
-#opt/MACHINE-uClibc/bin/get_driver
-#opt/MACHINE-uClibc/bin/systool
-#opt/MACHINE-uClibc/bin/testlibsysfs
-#opt/MACHINE-uClibc/bin/write_attr
-#opt/MACHINE-uClibc/lib/libsysfs.a
-#opt/MACHINE-uClibc/lib/libsysfs.la
-#opt/MACHINE-uClibc/man/man1/systool.1
-#opt/MACHINE-uClibc/usr/include/sysfs
-#opt/MACHINE-uClibc/usr/include/sysfs/dlist.h
-#opt/MACHINE-uClibc/usr/include/sysfs/libsysfs.h
 #bin/dlist_test
 #bin/get_bus_devices_list
 #bin/get_class_dev
diff --git a/config/rootfiles/common/uClibc b/config/rootfiles/common/uClibc
deleted file mode 100644 (file)
index 373caa9..0000000
+++ /dev/null
@@ -1,1353 +0,0 @@
-#lib/ld-uClibc-0.9.28.so
-#lib/ld-uClibc.so.0
-#lib/libc.so
-#lib/libc.so.0
-#lib/libm.so.0
-#lib/libuClibc-0.9.28.so
-#opt/MACHINE-uClibc/include/a.out.h
-#opt/MACHINE-uClibc/include/alloca.h
-#opt/MACHINE-uClibc/include/ar.h
-#opt/MACHINE-uClibc/include/arpa
-#opt/MACHINE-uClibc/include/arpa/ftp.h
-#opt/MACHINE-uClibc/include/arpa/inet.h
-#opt/MACHINE-uClibc/include/arpa/nameser.h
-#opt/MACHINE-uClibc/include/arpa/nameser_compat.h
-#opt/MACHINE-uClibc/include/arpa/telnet.h
-#opt/MACHINE-uClibc/include/arpa/tftp.h
-#opt/MACHINE-uClibc/include/asm
-#opt/MACHINE-uClibc/include/asm-generic
-#opt/MACHINE-uClibc/include/asm-generic/errno-base.h
-#opt/MACHINE-uClibc/include/asm-generic/errno.h
-#opt/MACHINE-uClibc/include/asm/8253pit.h
-#opt/MACHINE-uClibc/include/asm/a.out.h
-#opt/MACHINE-uClibc/include/asm/agp.h
-#opt/MACHINE-uClibc/include/asm/apic.h
-#opt/MACHINE-uClibc/include/asm/apicdef.h
-#opt/MACHINE-uClibc/include/asm/arch_hooks.h
-#opt/MACHINE-uClibc/include/asm/atomic.h
-#opt/MACHINE-uClibc/include/asm/bitops.h
-#opt/MACHINE-uClibc/include/asm/boot.h
-#opt/MACHINE-uClibc/include/asm/byteorder.h
-#opt/MACHINE-uClibc/include/asm/cache.h
-#opt/MACHINE-uClibc/include/asm/cacheflush.h
-#opt/MACHINE-uClibc/include/asm/checksum.h
-#opt/MACHINE-uClibc/include/asm/cpu.h
-#opt/MACHINE-uClibc/include/asm/cpufeature.h
-#opt/MACHINE-uClibc/include/asm/debugreg.h
-#opt/MACHINE-uClibc/include/asm/desc.h
-#opt/MACHINE-uClibc/include/asm/dma.h
-#opt/MACHINE-uClibc/include/asm/e820.h
-#opt/MACHINE-uClibc/include/asm/elf.h
-#opt/MACHINE-uClibc/include/asm/errno.h
-#opt/MACHINE-uClibc/include/asm/fcntl.h
-#opt/MACHINE-uClibc/include/asm/fixmap.h
-#opt/MACHINE-uClibc/include/asm/floppy.h
-#opt/MACHINE-uClibc/include/asm/genapic.h
-#opt/MACHINE-uClibc/include/asm/hardirq.h
-#opt/MACHINE-uClibc/include/asm/hdreg.h
-#opt/MACHINE-uClibc/include/asm/hw_irq.h
-#opt/MACHINE-uClibc/include/asm/i8259.h
-#opt/MACHINE-uClibc/include/asm/init.h
-#opt/MACHINE-uClibc/include/asm/io.h
-#opt/MACHINE-uClibc/include/asm/io_apic.h
-#opt/MACHINE-uClibc/include/asm/ioctl.h
-#opt/MACHINE-uClibc/include/asm/ioctls.h
-#opt/MACHINE-uClibc/include/asm/ipc.h
-#opt/MACHINE-uClibc/include/asm/ipcbuf.h
-#opt/MACHINE-uClibc/include/asm/irq.h
-#opt/MACHINE-uClibc/include/asm/kdebug.h
-#opt/MACHINE-uClibc/include/asm/kprobes.h
-#opt/MACHINE-uClibc/include/asm/kvm.h
-#opt/MACHINE-uClibc/include/asm/kvm_emulate.h
-#opt/MACHINE-uClibc/include/asm/kvm_host.h
-#opt/MACHINE-uClibc/include/asm/kvm_para.h
-#opt/MACHINE-uClibc/include/asm/ldt.h
-#opt/MACHINE-uClibc/include/asm/linkage.h
-#opt/MACHINE-uClibc/include/asm/mach-bigsmp
-#opt/MACHINE-uClibc/include/asm/mach-bigsmp/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-bigsmp/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-bigsmp/mach_ipi.h
-#opt/MACHINE-uClibc/include/asm/mach-bigsmp/mach_mpspec.h
-#opt/MACHINE-uClibc/include/asm/mach-default
-#opt/MACHINE-uClibc/include/asm/mach-default/apm.h
-#opt/MACHINE-uClibc/include/asm/mach-default/bios_ebda.h
-#opt/MACHINE-uClibc/include/asm/mach-default/do_timer.h
-#opt/MACHINE-uClibc/include/asm/mach-default/entry_arch.h
-#opt/MACHINE-uClibc/include/asm/mach-default/io_ports.h
-#opt/MACHINE-uClibc/include/asm/mach-default/irq_vectors.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_ipi.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_mpparse.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_mpspec.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_reboot.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_time.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_timer.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_traps.h
-#opt/MACHINE-uClibc/include/asm/mach-default/mach_wakecpu.h
-#opt/MACHINE-uClibc/include/asm/mach-default/pci-functions.h
-#opt/MACHINE-uClibc/include/asm/mach-default/setup_arch_post.h
-#opt/MACHINE-uClibc/include/asm/mach-default/setup_arch_pre.h
-#opt/MACHINE-uClibc/include/asm/mach-default/smpboot_hooks.h
-#opt/MACHINE-uClibc/include/asm/mach-es7000
-#opt/MACHINE-uClibc/include/asm/mach-es7000/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-es7000/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-es7000/mach_ipi.h
-#opt/MACHINE-uClibc/include/asm/mach-es7000/mach_mpparse.h
-#opt/MACHINE-uClibc/include/asm/mach-es7000/mach_mpspec.h
-#opt/MACHINE-uClibc/include/asm/mach-es7000/mach_wakecpu.h
-#opt/MACHINE-uClibc/include/asm/mach-generic
-#opt/MACHINE-uClibc/include/asm/mach-generic/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-generic/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-generic/mach_ipi.h
-#opt/MACHINE-uClibc/include/asm/mach-generic/mach_mpparse.h
-#opt/MACHINE-uClibc/include/asm/mach-generic/mach_mpspec.h
-#opt/MACHINE-uClibc/include/asm/mach-numaq
-#opt/MACHINE-uClibc/include/asm/mach-numaq/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-numaq/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-numaq/mach_ipi.h
-#opt/MACHINE-uClibc/include/asm/mach-numaq/mach_mpparse.h
-#opt/MACHINE-uClibc/include/asm/mach-numaq/mach_mpspec.h
-#opt/MACHINE-uClibc/include/asm/mach-numaq/mach_wakecpu.h
-#opt/MACHINE-uClibc/include/asm/mach-summit
-#opt/MACHINE-uClibc/include/asm/mach-summit/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-summit/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-summit/mach_ipi.h
-#opt/MACHINE-uClibc/include/asm/mach-summit/mach_mpparse.h
-#opt/MACHINE-uClibc/include/asm/mach-summit/mach_mpspec.h
-#opt/MACHINE-uClibc/include/asm/mach-visws
-#opt/MACHINE-uClibc/include/asm/mach-visws/cobalt.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/do_timer.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/entry_arch.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/irq_vectors.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/lithium.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/mach_apic.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/mach_apicdef.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/piix4.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/setup_arch_post.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/setup_arch_pre.h
-#opt/MACHINE-uClibc/include/asm/mach-visws/smpboot_hooks.h
-#opt/MACHINE-uClibc/include/asm/mach-voyager
-#opt/MACHINE-uClibc/include/asm/mach-voyager/do_timer.h
-#opt/MACHINE-uClibc/include/asm/mach-voyager/entry_arch.h
-#opt/MACHINE-uClibc/include/asm/mach-voyager/irq_vectors.h
-#opt/MACHINE-uClibc/include/asm/mach-voyager/setup_arch_post.h
-#opt/MACHINE-uClibc/include/asm/mach-voyager/setup_arch_pre.h
-#opt/MACHINE-uClibc/include/asm/math_emu.h
-#opt/MACHINE-uClibc/include/asm/mca.h
-#opt/MACHINE-uClibc/include/asm/mca_dma.h
-#opt/MACHINE-uClibc/include/asm/mman.h
-#opt/MACHINE-uClibc/include/asm/mmu.h
-#opt/MACHINE-uClibc/include/asm/mmu_context.h
-#opt/MACHINE-uClibc/include/asm/mmx.h
-#opt/MACHINE-uClibc/include/asm/module.h
-#opt/MACHINE-uClibc/include/asm/mpspec.h
-#opt/MACHINE-uClibc/include/asm/mpspec_def.h
-#opt/MACHINE-uClibc/include/asm/msgbuf.h
-#opt/MACHINE-uClibc/include/asm/msr.h
-#opt/MACHINE-uClibc/include/asm/mtrr.h
-#opt/MACHINE-uClibc/include/asm/namei.h
-#opt/MACHINE-uClibc/include/asm/nmi.h
-#opt/MACHINE-uClibc/include/asm/node.h
-#opt/MACHINE-uClibc/include/asm/numaq.h
-#opt/MACHINE-uClibc/include/asm/numnodes.h
-#opt/MACHINE-uClibc/include/asm/page.h
-#opt/MACHINE-uClibc/include/asm/param.h
-#opt/MACHINE-uClibc/include/asm/parport.h
-#opt/MACHINE-uClibc/include/asm/pgalloc.h
-#opt/MACHINE-uClibc/include/asm/poll.h
-#opt/MACHINE-uClibc/include/asm/posix_types.h
-#opt/MACHINE-uClibc/include/asm/processor.h
-#opt/MACHINE-uClibc/include/asm/ptrace.h
-#opt/MACHINE-uClibc/include/asm/rwlock.h
-#opt/MACHINE-uClibc/include/asm/segment.h
-#opt/MACHINE-uClibc/include/asm/semaphore.h
-#opt/MACHINE-uClibc/include/asm/sembuf.h
-#opt/MACHINE-uClibc/include/asm/serial.h
-#opt/MACHINE-uClibc/include/asm/shmbuf.h
-#opt/MACHINE-uClibc/include/asm/shmparam.h
-#opt/MACHINE-uClibc/include/asm/sigcontext.h
-#opt/MACHINE-uClibc/include/asm/siginfo.h
-#opt/MACHINE-uClibc/include/asm/socket.h
-#opt/MACHINE-uClibc/include/asm/sockios.h
-#opt/MACHINE-uClibc/include/asm/spinlock.h
-#opt/MACHINE-uClibc/include/asm/srat.h
-#opt/MACHINE-uClibc/include/asm/stat.h
-#opt/MACHINE-uClibc/include/asm/suspend.h
-#opt/MACHINE-uClibc/include/asm/svm.h
-#opt/MACHINE-uClibc/include/asm/system.h
-#opt/MACHINE-uClibc/include/asm/termbits.h
-#opt/MACHINE-uClibc/include/asm/termios.h
-#opt/MACHINE-uClibc/include/asm/timer.h
-#opt/MACHINE-uClibc/include/asm/timex.h
-#opt/MACHINE-uClibc/include/asm/tlbflush.h
-#opt/MACHINE-uClibc/include/asm/types.h
-#opt/MACHINE-uClibc/include/asm/ucontext.h
-#opt/MACHINE-uClibc/include/asm/unaligned.h
-#opt/MACHINE-uClibc/include/asm/unistd.h
-#opt/MACHINE-uClibc/include/asm/user.h
-#opt/MACHINE-uClibc/include/asm/vga.h
-#opt/MACHINE-uClibc/include/asm/vic.h
-#opt/MACHINE-uClibc/include/asm/virtext.h
-#opt/MACHINE-uClibc/include/asm/vm86.h
-#opt/MACHINE-uClibc/include/asm/vmx.h
-#opt/MACHINE-uClibc/include/asm/voyager.h
-#opt/MACHINE-uClibc/include/assert.h
-#opt/MACHINE-uClibc/include/atomic.h
-#opt/MACHINE-uClibc/include/bits
-#opt/MACHINE-uClibc/include/bits/atomic.h
-#opt/MACHINE-uClibc/include/bits/atomicity.h
-#opt/MACHINE-uClibc/include/bits/byteswap.h
-#opt/MACHINE-uClibc/include/bits/cmathcalls.h
-#opt/MACHINE-uClibc/include/bits/confname.h
-#opt/MACHINE-uClibc/include/bits/dirent.h
-#opt/MACHINE-uClibc/include/bits/dlfcn.h
-#opt/MACHINE-uClibc/include/bits/elfclass.h
-#opt/MACHINE-uClibc/include/bits/endian.h
-#opt/MACHINE-uClibc/include/bits/environments.h
-#opt/MACHINE-uClibc/include/bits/errno.h
-#opt/MACHINE-uClibc/include/bits/errno_values.h
-#opt/MACHINE-uClibc/include/bits/fcntl.h
-#opt/MACHINE-uClibc/include/bits/fenv.h
-#opt/MACHINE-uClibc/include/bits/fenvinline.h
-#opt/MACHINE-uClibc/include/bits/getopt.h
-#opt/MACHINE-uClibc/include/bits/huge_val.h
-#opt/MACHINE-uClibc/include/bits/in.h
-#opt/MACHINE-uClibc/include/bits/initspin.h
-#opt/MACHINE-uClibc/include/bits/ioctl-types.h
-#opt/MACHINE-uClibc/include/bits/ioctls.h
-#opt/MACHINE-uClibc/include/bits/ipc.h
-#opt/MACHINE-uClibc/include/bits/kernel_sigaction.h
-#opt/MACHINE-uClibc/include/bits/kernel_stat.h
-#opt/MACHINE-uClibc/include/bits/kernel_types.h
-#opt/MACHINE-uClibc/include/bits/local_lim.h
-#opt/MACHINE-uClibc/include/bits/locale.h
-#opt/MACHINE-uClibc/include/bits/mathcalls.h
-#opt/MACHINE-uClibc/include/bits/mathdef.h
-#opt/MACHINE-uClibc/include/bits/mathinline.h
-#opt/MACHINE-uClibc/include/bits/mman.h
-#opt/MACHINE-uClibc/include/bits/msq.h
-#opt/MACHINE-uClibc/include/bits/nan.h
-#opt/MACHINE-uClibc/include/bits/netdb.h
-#opt/MACHINE-uClibc/include/bits/poll.h
-#opt/MACHINE-uClibc/include/bits/posix1_lim.h
-#opt/MACHINE-uClibc/include/bits/posix2_lim.h
-#opt/MACHINE-uClibc/include/bits/posix_opt.h
-#opt/MACHINE-uClibc/include/bits/profil-counter.h
-#opt/MACHINE-uClibc/include/bits/pthreadtypes.h
-#opt/MACHINE-uClibc/include/bits/resource.h
-#opt/MACHINE-uClibc/include/bits/sched.h
-#opt/MACHINE-uClibc/include/bits/select.h
-#opt/MACHINE-uClibc/include/bits/sem.h
-#opt/MACHINE-uClibc/include/bits/setjmp.h
-#opt/MACHINE-uClibc/include/bits/shm.h
-#opt/MACHINE-uClibc/include/bits/sigaction.h
-#opt/MACHINE-uClibc/include/bits/sigcontext.h
-#opt/MACHINE-uClibc/include/bits/sigcontextinfo.h
-#opt/MACHINE-uClibc/include/bits/siginfo.h
-#opt/MACHINE-uClibc/include/bits/signum.h
-#opt/MACHINE-uClibc/include/bits/sigset.h
-#opt/MACHINE-uClibc/include/bits/sigstack.h
-#opt/MACHINE-uClibc/include/bits/sigthread.h
-#opt/MACHINE-uClibc/include/bits/sockaddr.h
-#opt/MACHINE-uClibc/include/bits/socket.h
-#opt/MACHINE-uClibc/include/bits/stackinfo.h
-#opt/MACHINE-uClibc/include/bits/stat.h
-#opt/MACHINE-uClibc/include/bits/statfs.h
-#opt/MACHINE-uClibc/include/bits/statvfs.h
-#opt/MACHINE-uClibc/include/bits/stdio.h
-#opt/MACHINE-uClibc/include/bits/stdio_lim.h
-#opt/MACHINE-uClibc/include/bits/syscalls.h
-#opt/MACHINE-uClibc/include/bits/sysnum.h
-#opt/MACHINE-uClibc/include/bits/termios.h
-#opt/MACHINE-uClibc/include/bits/time.h
-#opt/MACHINE-uClibc/include/bits/types.h
-#opt/MACHINE-uClibc/include/bits/uClibc_clk_tck.h
-#opt/MACHINE-uClibc/include/bits/uClibc_config.h
-#opt/MACHINE-uClibc/include/bits/uClibc_ctype.h
-#opt/MACHINE-uClibc/include/bits/uClibc_fpmax.h
-#opt/MACHINE-uClibc/include/bits/uClibc_locale.h
-#opt/MACHINE-uClibc/include/bits/uClibc_locale_data.h
-#opt/MACHINE-uClibc/include/bits/uClibc_page.h
-#opt/MACHINE-uClibc/include/bits/uClibc_pthread.h
-#opt/MACHINE-uClibc/include/bits/uClibc_stdio.h
-#opt/MACHINE-uClibc/include/bits/uClibc_touplow.h
-#opt/MACHINE-uClibc/include/bits/uClibc_uintmaxtostr.h
-#opt/MACHINE-uClibc/include/bits/uClibc_uwchar.h
-#opt/MACHINE-uClibc/include/bits/uClibc_va_copy.h
-#opt/MACHINE-uClibc/include/bits/uio.h
-#opt/MACHINE-uClibc/include/bits/ustat.h
-#opt/MACHINE-uClibc/include/bits/utmp.h
-#opt/MACHINE-uClibc/include/bits/utmpx.h
-#opt/MACHINE-uClibc/include/bits/utsname.h
-#opt/MACHINE-uClibc/include/bits/waitflags.h
-#opt/MACHINE-uClibc/include/bits/waitstatus.h
-#opt/MACHINE-uClibc/include/bits/wchar.h
-#opt/MACHINE-uClibc/include/bits/wordsize.h
-#opt/MACHINE-uClibc/include/bits/xopen_lim.h
-#opt/MACHINE-uClibc/include/byteswap.h
-#opt/MACHINE-uClibc/include/complex.h
-#opt/MACHINE-uClibc/include/cpio.h
-#opt/MACHINE-uClibc/include/crypt.h
-#opt/MACHINE-uClibc/include/ctype.h
-#opt/MACHINE-uClibc/include/dirent.h
-#opt/MACHINE-uClibc/include/dlfcn.h
-#opt/MACHINE-uClibc/include/elf.h
-#opt/MACHINE-uClibc/include/endian.h
-#opt/MACHINE-uClibc/include/err.h
-#opt/MACHINE-uClibc/include/errno.h
-#opt/MACHINE-uClibc/include/error.h
-#opt/MACHINE-uClibc/include/fcntl.h
-#opt/MACHINE-uClibc/include/features.h
-#opt/MACHINE-uClibc/include/fnmatch.h
-#opt/MACHINE-uClibc/include/fpu_control.h
-#opt/MACHINE-uClibc/include/ftw.h
-#opt/MACHINE-uClibc/include/getopt.h
-#opt/MACHINE-uClibc/include/glob.h
-#opt/MACHINE-uClibc/include/gnu-versions.h
-#opt/MACHINE-uClibc/include/grp.h
-#opt/MACHINE-uClibc/include/iconv.h
-#opt/MACHINE-uClibc/include/ieee754.h
-#opt/MACHINE-uClibc/include/inttypes.h
-#opt/MACHINE-uClibc/include/langinfo.h
-#opt/MACHINE-uClibc/include/lastlog.h
-#opt/MACHINE-uClibc/include/libgen.h
-#opt/MACHINE-uClibc/include/limits.h
-#opt/MACHINE-uClibc/include/link.h
-#opt/MACHINE-uClibc/include/linux
-#opt/MACHINE-uClibc/include/linux/8250_pci.h
-#opt/MACHINE-uClibc/include/linux/a.out.h
-#opt/MACHINE-uClibc/include/linux/acct.h
-#opt/MACHINE-uClibc/include/linux/acpi.h
-#opt/MACHINE-uClibc/include/linux/adb.h
-#opt/MACHINE-uClibc/include/linux/adfs_fs.h
-#opt/MACHINE-uClibc/include/linux/adfs_fs_sb.h
-#opt/MACHINE-uClibc/include/linux/affs_fs.h
-#opt/MACHINE-uClibc/include/linux/affs_hardblocks.h
-#opt/MACHINE-uClibc/include/linux/agpgart.h
-#opt/MACHINE-uClibc/include/linux/aio.h
-#opt/MACHINE-uClibc/include/linux/aio_abi.h
-#opt/MACHINE-uClibc/include/linux/amifd.h
-#opt/MACHINE-uClibc/include/linux/amifdreg.h
-#opt/MACHINE-uClibc/include/linux/amigaffs.h
-#opt/MACHINE-uClibc/include/linux/apm_bios.h
-#opt/MACHINE-uClibc/include/linux/ata.h
-#opt/MACHINE-uClibc/include/linux/atalk.h
-#opt/MACHINE-uClibc/include/linux/atm.h
-#opt/MACHINE-uClibc/include/linux/atm_eni.h
-#opt/MACHINE-uClibc/include/linux/atm_he.h
-#opt/MACHINE-uClibc/include/linux/atm_idt77105.h
-#opt/MACHINE-uClibc/include/linux/atm_nicstar.h
-#opt/MACHINE-uClibc/include/linux/atm_suni.h
-#opt/MACHINE-uClibc/include/linux/atm_tcp.h
-#opt/MACHINE-uClibc/include/linux/atm_zatm.h
-#opt/MACHINE-uClibc/include/linux/atmapi.h
-#opt/MACHINE-uClibc/include/linux/atmarp.h
-#opt/MACHINE-uClibc/include/linux/atmbr2684.h
-#opt/MACHINE-uClibc/include/linux/atmclip.h
-#opt/MACHINE-uClibc/include/linux/atmdev.h
-#opt/MACHINE-uClibc/include/linux/atmioc.h
-#opt/MACHINE-uClibc/include/linux/atmlec.h
-#opt/MACHINE-uClibc/include/linux/atmmpc.h
-#opt/MACHINE-uClibc/include/linux/atmppp.h
-#opt/MACHINE-uClibc/include/linux/atmsap.h
-#opt/MACHINE-uClibc/include/linux/atmsvc.h
-#opt/MACHINE-uClibc/include/linux/audit.h
-#opt/MACHINE-uClibc/include/linux/auto_fs.h
-#opt/MACHINE-uClibc/include/linux/auto_fs4.h
-#opt/MACHINE-uClibc/include/linux/autoconf.h
-#opt/MACHINE-uClibc/include/linux/awe_voice.h
-#opt/MACHINE-uClibc/include/linux/ax25.h
-#opt/MACHINE-uClibc/include/linux/b1lli.h
-#opt/MACHINE-uClibc/include/linux/backing-dev.h
-#opt/MACHINE-uClibc/include/linux/backlight.h
-#opt/MACHINE-uClibc/include/linux/baycom.h
-#opt/MACHINE-uClibc/include/linux/bcd.h
-#opt/MACHINE-uClibc/include/linux/bfs_fs.h
-#opt/MACHINE-uClibc/include/linux/binfmts.h
-#opt/MACHINE-uClibc/include/linux/bitmap.h
-#opt/MACHINE-uClibc/include/linux/bitops.h
-#opt/MACHINE-uClibc/include/linux/blkpg.h
-#opt/MACHINE-uClibc/include/linux/blockgroup_lock.h
-#opt/MACHINE-uClibc/include/linux/bootmem.h
-#opt/MACHINE-uClibc/include/linux/bpqether.h
-#opt/MACHINE-uClibc/include/linux/byteorder
-#opt/MACHINE-uClibc/include/linux/byteorder/big_endian.h
-#opt/MACHINE-uClibc/include/linux/byteorder/generic.h
-#opt/MACHINE-uClibc/include/linux/byteorder/little_endian.h
-#opt/MACHINE-uClibc/include/linux/byteorder/pdp_endian.h
-#opt/MACHINE-uClibc/include/linux/byteorder/swab.h
-#opt/MACHINE-uClibc/include/linux/byteorder/swabb.h
-#opt/MACHINE-uClibc/include/linux/cache.h
-#opt/MACHINE-uClibc/include/linux/capability.h
-#opt/MACHINE-uClibc/include/linux/capi.h
-#opt/MACHINE-uClibc/include/linux/cciss_ioctl.h
-#opt/MACHINE-uClibc/include/linux/cd1400.h
-#opt/MACHINE-uClibc/include/linux/cdk.h
-#opt/MACHINE-uClibc/include/linux/cdrom.h
-#opt/MACHINE-uClibc/include/linux/circ_buf.h
-#opt/MACHINE-uClibc/include/linux/cobalt-nvram.h
-#opt/MACHINE-uClibc/include/linux/coda.h
-#opt/MACHINE-uClibc/include/linux/coda_proc.h
-#opt/MACHINE-uClibc/include/linux/coda_psdev.h
-#opt/MACHINE-uClibc/include/linux/coff.h
-#opt/MACHINE-uClibc/include/linux/com20020.h
-#opt/MACHINE-uClibc/include/linux/compat.h
-#opt/MACHINE-uClibc/include/linux/compat_ioctl.h
-#opt/MACHINE-uClibc/include/linux/compiler.h
-#opt/MACHINE-uClibc/include/linux/comstats.h
-#opt/MACHINE-uClibc/include/linux/config.h
-#opt/MACHINE-uClibc/include/linux/console.h
-#opt/MACHINE-uClibc/include/linux/console_struct.h
-#opt/MACHINE-uClibc/include/linux/consolemap.h
-#opt/MACHINE-uClibc/include/linux/cpu.h
-#opt/MACHINE-uClibc/include/linux/cpufreq.h
-#opt/MACHINE-uClibc/include/linux/cramfs_fs.h
-#opt/MACHINE-uClibc/include/linux/cramfs_fs_sb.h
-#opt/MACHINE-uClibc/include/linux/crc32.h
-#opt/MACHINE-uClibc/include/linux/crypto.h
-#opt/MACHINE-uClibc/include/linux/cryptodev.h
-#opt/MACHINE-uClibc/include/linux/ctype.h
-#opt/MACHINE-uClibc/include/linux/cuda.h
-#opt/MACHINE-uClibc/include/linux/cyclades.h
-#opt/MACHINE-uClibc/include/linux/cycx_cfm.h
-#opt/MACHINE-uClibc/include/linux/cycx_drv.h
-#opt/MACHINE-uClibc/include/linux/cycx_x25.h
-#opt/MACHINE-uClibc/include/linux/devfs_fs.h
-#opt/MACHINE-uClibc/include/linux/devfs_fs_kernel.h
-#opt/MACHINE-uClibc/include/linux/device-mapper.h
-#opt/MACHINE-uClibc/include/linux/device.h
-#opt/MACHINE-uClibc/include/linux/devpts_fs.h
-#opt/MACHINE-uClibc/include/linux/dirent.h
-#opt/MACHINE-uClibc/include/linux/divert.h
-#opt/MACHINE-uClibc/include/linux/dm-ioctl.h
-#opt/MACHINE-uClibc/include/linux/dn.h
-#opt/MACHINE-uClibc/include/linux/dnotify.h
-#opt/MACHINE-uClibc/include/linux/dqblk_v1.h
-#opt/MACHINE-uClibc/include/linux/dqblk_v2.h
-#opt/MACHINE-uClibc/include/linux/dqblk_xfs.h
-#opt/MACHINE-uClibc/include/linux/dtlk.h
-#opt/MACHINE-uClibc/include/linux/dvb
-#opt/MACHINE-uClibc/include/linux/dvb/audio.h
-#opt/MACHINE-uClibc/include/linux/dvb/ca.h
-#opt/MACHINE-uClibc/include/linux/dvb/dmx.h
-#opt/MACHINE-uClibc/include/linux/dvb/frontend.h
-#opt/MACHINE-uClibc/include/linux/dvb/net.h
-#opt/MACHINE-uClibc/include/linux/dvb/osd.h
-#opt/MACHINE-uClibc/include/linux/dvb/version.h
-#opt/MACHINE-uClibc/include/linux/dvb/video.h
-#opt/MACHINE-uClibc/include/linux/eeprom.h
-#opt/MACHINE-uClibc/include/linux/efi.h
-#opt/MACHINE-uClibc/include/linux/efs_dir.h
-#opt/MACHINE-uClibc/include/linux/efs_fs.h
-#opt/MACHINE-uClibc/include/linux/efs_fs_i.h
-#opt/MACHINE-uClibc/include/linux/efs_fs_sb.h
-#opt/MACHINE-uClibc/include/linux/efs_vh.h
-#opt/MACHINE-uClibc/include/linux/eisa.h
-#opt/MACHINE-uClibc/include/linux/elevator.h
-#opt/MACHINE-uClibc/include/linux/elf-fdpic.h
-#opt/MACHINE-uClibc/include/linux/elf.h
-#opt/MACHINE-uClibc/include/linux/elfcore.h
-#opt/MACHINE-uClibc/include/linux/err.h
-#opt/MACHINE-uClibc/include/linux/err_kernel_only.h
-#opt/MACHINE-uClibc/include/linux/errno.h
-#opt/MACHINE-uClibc/include/linux/errqueue.h
-#opt/MACHINE-uClibc/include/linux/ethtool.h
-#opt/MACHINE-uClibc/include/linux/eventpoll.h
-#opt/MACHINE-uClibc/include/linux/ext2_fs.h
-#opt/MACHINE-uClibc/include/linux/ext3_fs.h
-#opt/MACHINE-uClibc/include/linux/ext3_jbd.h
-#opt/MACHINE-uClibc/include/linux/fadvise.h
-#opt/MACHINE-uClibc/include/linux/fb.h
-#opt/MACHINE-uClibc/include/linux/fcntl.h
-#opt/MACHINE-uClibc/include/linux/fd.h
-#opt/MACHINE-uClibc/include/linux/fd1772.h
-#opt/MACHINE-uClibc/include/linux/fdreg.h
-#opt/MACHINE-uClibc/include/linux/file.h
-#opt/MACHINE-uClibc/include/linux/filter.h
-#opt/MACHINE-uClibc/include/linux/firmware.h
-#opt/MACHINE-uClibc/include/linux/flat.h
-#opt/MACHINE-uClibc/include/linux/font.h
-#opt/MACHINE-uClibc/include/linux/fs.h
-#opt/MACHINE-uClibc/include/linux/fs_struct.h
-#opt/MACHINE-uClibc/include/linux/ftape-header-segment.h
-#opt/MACHINE-uClibc/include/linux/ftape-vendors.h
-#opt/MACHINE-uClibc/include/linux/ftape.h
-#opt/MACHINE-uClibc/include/linux/futex.h
-#opt/MACHINE-uClibc/include/linux/gameport.h
-#opt/MACHINE-uClibc/include/linux/gen_stats.h
-#opt/MACHINE-uClibc/include/linux/generic_serial.h
-#opt/MACHINE-uClibc/include/linux/genetlink.h
-#opt/MACHINE-uClibc/include/linux/genhd.h
-#opt/MACHINE-uClibc/include/linux/gfp.h
-#opt/MACHINE-uClibc/include/linux/hash.h
-#opt/MACHINE-uClibc/include/linux/hayesesp.h
-#opt/MACHINE-uClibc/include/linux/hdlc
-#opt/MACHINE-uClibc/include/linux/hdlc.h
-#opt/MACHINE-uClibc/include/linux/hdlc/ioctl.h
-#opt/MACHINE-uClibc/include/linux/hdlcdrv.h
-#opt/MACHINE-uClibc/include/linux/hdreg.h
-#opt/MACHINE-uClibc/include/linux/hdsmart.h
-#opt/MACHINE-uClibc/include/linux/hiddev.h
-#opt/MACHINE-uClibc/include/linux/highuid.h
-#opt/MACHINE-uClibc/include/linux/hpfs_fs.h
-#opt/MACHINE-uClibc/include/linux/hysdn_if.h
-#opt/MACHINE-uClibc/include/linux/i2c-algo-bit.h
-#opt/MACHINE-uClibc/include/linux/i2c-algo-ite.h
-#opt/MACHINE-uClibc/include/linux/i2c-algo-pcf.h
-#opt/MACHINE-uClibc/include/linux/i2c-algo-sgi.h
-#opt/MACHINE-uClibc/include/linux/i2c-algo-sibyte.h
-#opt/MACHINE-uClibc/include/linux/i2c-dev.h
-#opt/MACHINE-uClibc/include/linux/i2c-id.h
-#opt/MACHINE-uClibc/include/linux/i2c-sensor.h
-#opt/MACHINE-uClibc/include/linux/i2c-vid.h
-#opt/MACHINE-uClibc/include/linux/i2c.h
-#opt/MACHINE-uClibc/include/linux/i2o-dev.h
-#opt/MACHINE-uClibc/include/linux/i8k.h
-#opt/MACHINE-uClibc/include/linux/ibmtr.h
-#opt/MACHINE-uClibc/include/linux/icmp.h
-#opt/MACHINE-uClibc/include/linux/icmpv6.h
-#opt/MACHINE-uClibc/include/linux/ide.h
-#opt/MACHINE-uClibc/include/linux/idr.h
-#opt/MACHINE-uClibc/include/linux/if.h
-#opt/MACHINE-uClibc/include/linux/if_arcnet.h
-#opt/MACHINE-uClibc/include/linux/if_arp.h
-#opt/MACHINE-uClibc/include/linux/if_bonding.h
-#opt/MACHINE-uClibc/include/linux/if_bridge.h
-#opt/MACHINE-uClibc/include/linux/if_cablemodem.h
-#opt/MACHINE-uClibc/include/linux/if_ec.h
-#opt/MACHINE-uClibc/include/linux/if_eql.h
-#opt/MACHINE-uClibc/include/linux/if_ether.h
-#opt/MACHINE-uClibc/include/linux/if_fc.h
-#opt/MACHINE-uClibc/include/linux/if_fddi.h
-#opt/MACHINE-uClibc/include/linux/if_frad.h
-#opt/MACHINE-uClibc/include/linux/if_hippi.h
-#opt/MACHINE-uClibc/include/linux/if_infiniband.h
-#opt/MACHINE-uClibc/include/linux/if_ltalk.h
-#opt/MACHINE-uClibc/include/linux/if_packet.h
-#opt/MACHINE-uClibc/include/linux/if_plip.h
-#opt/MACHINE-uClibc/include/linux/if_ppp.h
-#opt/MACHINE-uClibc/include/linux/if_pppox.h
-#opt/MACHINE-uClibc/include/linux/if_shaper.h
-#opt/MACHINE-uClibc/include/linux/if_slip.h
-#opt/MACHINE-uClibc/include/linux/if_strip.h
-#opt/MACHINE-uClibc/include/linux/if_tr.h
-#opt/MACHINE-uClibc/include/linux/if_tun.h
-#opt/MACHINE-uClibc/include/linux/if_tunnel.h
-#opt/MACHINE-uClibc/include/linux/if_vlan.h
-#opt/MACHINE-uClibc/include/linux/if_wanpipe.h
-#opt/MACHINE-uClibc/include/linux/if_wanpipe_common.h
-#opt/MACHINE-uClibc/include/linux/igmp.h
-#opt/MACHINE-uClibc/include/linux/in.h
-#opt/MACHINE-uClibc/include/linux/in6.h
-#opt/MACHINE-uClibc/include/linux/in_route.h
-#opt/MACHINE-uClibc/include/linux/inetdevice.h
-#opt/MACHINE-uClibc/include/linux/init.h
-#opt/MACHINE-uClibc/include/linux/init_task.h
-#opt/MACHINE-uClibc/include/linux/initrd.h
-#opt/MACHINE-uClibc/include/linux/inotify.h
-#opt/MACHINE-uClibc/include/linux/input.h
-#opt/MACHINE-uClibc/include/linux/interrupt.h
-#opt/MACHINE-uClibc/include/linux/ioctl.h
-#opt/MACHINE-uClibc/include/linux/ioctl32.h
-#opt/MACHINE-uClibc/include/linux/ioport.h
-#opt/MACHINE-uClibc/include/linux/ip.h
-#opt/MACHINE-uClibc/include/linux/ip6_tunnel.h
-#opt/MACHINE-uClibc/include/linux/ip_mp_alg.h
-#opt/MACHINE-uClibc/include/linux/ipc.h
-#opt/MACHINE-uClibc/include/linux/ipmi.h
-#opt/MACHINE-uClibc/include/linux/ipmi_msgdefs.h
-#opt/MACHINE-uClibc/include/linux/ipmi_smi.h
-#opt/MACHINE-uClibc/include/linux/ipsec.h
-#opt/MACHINE-uClibc/include/linux/ipv6.h
-#opt/MACHINE-uClibc/include/linux/ipv6_route.h
-#opt/MACHINE-uClibc/include/linux/ipx.h
-#opt/MACHINE-uClibc/include/linux/irda.h
-#opt/MACHINE-uClibc/include/linux/irq.h
-#opt/MACHINE-uClibc/include/linux/irq_cpustat.h
-#opt/MACHINE-uClibc/include/linux/isapnp.h
-#opt/MACHINE-uClibc/include/linux/isdn
-#opt/MACHINE-uClibc/include/linux/isdn.h
-#opt/MACHINE-uClibc/include/linux/isdn/capicmd.h
-#opt/MACHINE-uClibc/include/linux/isdn/capilli.h
-#opt/MACHINE-uClibc/include/linux/isdn/capiutil.h
-#opt/MACHINE-uClibc/include/linux/isdn/tpam.h
-#opt/MACHINE-uClibc/include/linux/isdn_divertif.h
-#opt/MACHINE-uClibc/include/linux/isdn_ppp.h
-#opt/MACHINE-uClibc/include/linux/isdnif.h
-#opt/MACHINE-uClibc/include/linux/isicom.h
-#opt/MACHINE-uClibc/include/linux/iso_fs.h
-#opt/MACHINE-uClibc/include/linux/istallion.h
-#opt/MACHINE-uClibc/include/linux/ite_gpio.h
-#opt/MACHINE-uClibc/include/linux/ixjuser.h
-#opt/MACHINE-uClibc/include/linux/jbd.h
-#opt/MACHINE-uClibc/include/linux/jffs.h
-#opt/MACHINE-uClibc/include/linux/jffs2.h
-#opt/MACHINE-uClibc/include/linux/jffs2_fs_sb.h
-#opt/MACHINE-uClibc/include/linux/jhash.h
-#opt/MACHINE-uClibc/include/linux/jiffies.h
-#opt/MACHINE-uClibc/include/linux/journal-head.h
-#opt/MACHINE-uClibc/include/linux/joystick.h
-#opt/MACHINE-uClibc/include/linux/kallsyms.h
-#opt/MACHINE-uClibc/include/linux/kbd_diacr.h
-#opt/MACHINE-uClibc/include/linux/kbd_kern.h
-#opt/MACHINE-uClibc/include/linux/kd.h
-#opt/MACHINE-uClibc/include/linux/kdev_t.h
-#opt/MACHINE-uClibc/include/linux/kernel.h
-#opt/MACHINE-uClibc/include/linux/kernel_stat.h
-#opt/MACHINE-uClibc/include/linux/kernelcapi.h
-#opt/MACHINE-uClibc/include/linux/keyboard.h
-#opt/MACHINE-uClibc/include/linux/keyctl.h
-#opt/MACHINE-uClibc/include/linux/kmalloc_sizes.h
-#opt/MACHINE-uClibc/include/linux/kmod.h
-#opt/MACHINE-uClibc/include/linux/kprobes.h
-#opt/MACHINE-uClibc/include/linux/kvm.h
-#opt/MACHINE-uClibc/include/linux/kvm_host.h
-#opt/MACHINE-uClibc/include/linux/kvm_para.h
-#opt/MACHINE-uClibc/include/linux/kvm_types.h
-#opt/MACHINE-uClibc/include/linux/lapb.h
-#opt/MACHINE-uClibc/include/linux/lcd.h
-#opt/MACHINE-uClibc/include/linux/libata.h
-#opt/MACHINE-uClibc/include/linux/libps2.h
-#opt/MACHINE-uClibc/include/linux/limits.h
-#opt/MACHINE-uClibc/include/linux/linkage.h
-#opt/MACHINE-uClibc/include/linux/linux_logo.h
-#opt/MACHINE-uClibc/include/linux/list.h
-#opt/MACHINE-uClibc/include/linux/llc.h
-#opt/MACHINE-uClibc/include/linux/lockd
-#opt/MACHINE-uClibc/include/linux/lockd/bind.h
-#opt/MACHINE-uClibc/include/linux/lockd/debug.h
-#opt/MACHINE-uClibc/include/linux/lockd/nlm.h
-#opt/MACHINE-uClibc/include/linux/lockd/share.h
-#opt/MACHINE-uClibc/include/linux/lockd/sm_inter.h
-#opt/MACHINE-uClibc/include/linux/lockd/xdr.h
-#opt/MACHINE-uClibc/include/linux/lockd/xdr4.h
-#opt/MACHINE-uClibc/include/linux/loop.h
-#opt/MACHINE-uClibc/include/linux/lp.h
-#opt/MACHINE-uClibc/include/linux/major.h
-#opt/MACHINE-uClibc/include/linux/matroxfb.h
-#opt/MACHINE-uClibc/include/linux/mbcache.h
-#opt/MACHINE-uClibc/include/linux/mc6821.h
-#opt/MACHINE-uClibc/include/linux/mca-legacy.h
-#opt/MACHINE-uClibc/include/linux/mca.h
-#opt/MACHINE-uClibc/include/linux/mempool.h
-#opt/MACHINE-uClibc/include/linux/meye.h
-#opt/MACHINE-uClibc/include/linux/mii.h
-#opt/MACHINE-uClibc/include/linux/minix_fs.h
-#opt/MACHINE-uClibc/include/linux/miscdevice.h
-#opt/MACHINE-uClibc/include/linux/mm.h
-#opt/MACHINE-uClibc/include/linux/mm_inline.h
-#opt/MACHINE-uClibc/include/linux/mman.h
-#opt/MACHINE-uClibc/include/linux/mod_devicetable.h
-#opt/MACHINE-uClibc/include/linux/module.h
-#opt/MACHINE-uClibc/include/linux/moduleloader.h
-#opt/MACHINE-uClibc/include/linux/moduleparam.h
-#opt/MACHINE-uClibc/include/linux/mount.h
-#opt/MACHINE-uClibc/include/linux/mroute.h
-#opt/MACHINE-uClibc/include/linux/msdos_fs.h
-#opt/MACHINE-uClibc/include/linux/msg.h
-#opt/MACHINE-uClibc/include/linux/mtd
-#opt/MACHINE-uClibc/include/linux/mtd/blktrans.h
-#opt/MACHINE-uClibc/include/linux/mtd/cfi.h
-#opt/MACHINE-uClibc/include/linux/mtd/cfi_endian.h
-#opt/MACHINE-uClibc/include/linux/mtd/compatmac.h
-#opt/MACHINE-uClibc/include/linux/mtd/concat.h
-#opt/MACHINE-uClibc/include/linux/mtd/doc2000.h
-#opt/MACHINE-uClibc/include/linux/mtd/flashchip.h
-#opt/MACHINE-uClibc/include/linux/mtd/ftl.h
-#opt/MACHINE-uClibc/include/linux/mtd/gen_probe.h
-#opt/MACHINE-uClibc/include/linux/mtd/iflash.h
-#opt/MACHINE-uClibc/include/linux/mtd/jedec.h
-#opt/MACHINE-uClibc/include/linux/mtd/map.h
-#opt/MACHINE-uClibc/include/linux/mtd/nand.h
-#opt/MACHINE-uClibc/include/linux/mtd/nand_ecc.h
-#opt/MACHINE-uClibc/include/linux/mtd/nftl.h
-#opt/MACHINE-uClibc/include/linux/mtd/partitions.h
-#opt/MACHINE-uClibc/include/linux/mtd/pmc551.h
-#opt/MACHINE-uClibc/include/linux/mtio.h
-#opt/MACHINE-uClibc/include/linux/n_r3964.h
-#opt/MACHINE-uClibc/include/linux/namei.h
-#opt/MACHINE-uClibc/include/linux/nbd.h
-#opt/MACHINE-uClibc/include/linux/ncp.h
-#opt/MACHINE-uClibc/include/linux/ncp_fs.h
-#opt/MACHINE-uClibc/include/linux/ncp_mount.h
-#opt/MACHINE-uClibc/include/linux/ncp_no.h
-#opt/MACHINE-uClibc/include/linux/net.h
-#opt/MACHINE-uClibc/include/linux/netdevice.h
-#opt/MACHINE-uClibc/include/linux/netfilter
-#opt/MACHINE-uClibc/include/linux/netfilter.h
-#opt/MACHINE-uClibc/include/linux/netfilter/Kbuild
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_amanda.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_common.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_dccp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_ftp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_h323.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_h323_asn1.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_h323_types.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_irc.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_pptp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_proto_gre.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_sane.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_sctp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_sip.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_tcp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_tftp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nf_conntrack_tuple_common.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nfnetlink.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nfnetlink_compat.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nfnetlink_conntrack.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nfnetlink_log.h
-#opt/MACHINE-uClibc/include/linux/netfilter/nfnetlink_queue.h
-#opt/MACHINE-uClibc/include/linux/netfilter/x_tables.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_CLASSIFY.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_CONNMARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_CONNSECMARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_DSCP.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_IMQ.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_LED.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_MARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_NFLOG.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_NFQUEUE.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_RATEEST.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_SECMARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_TCPMSS.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_TCPOPTSTRIP.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_TPROXY.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_cluster.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_comment.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_connbytes.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_connlimit.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_connmark.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_conntrack.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_dccp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_dscp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_esp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_hashlimit.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_helper.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_iprange.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_layer7.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_length.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_limit.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_mac.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_mark.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_multiport.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_osf.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_owner.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_physdev.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_pkttype.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_policy.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_quota.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_rateest.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_realm.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_recent.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_sctp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_socket.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_state.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_statistic.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_string.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_tcpmss.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_tcpudp.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_time.h
-#opt/MACHINE-uClibc/include/linux/netfilter/xt_u32.h
-#opt/MACHINE-uClibc/include/linux/netfilter_arp
-#opt/MACHINE-uClibc/include/linux/netfilter_arp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_arp/arp_tables.h
-#opt/MACHINE-uClibc/include/linux/netfilter_arp/arpt_mangle.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_802_3.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_among.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_arp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_arpreply.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_ip.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_limit.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_log.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_mark_m.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_mark_t.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_nat.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_pkttype.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_redirect.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_stp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_ulog.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebt_vlan.h
-#opt/MACHINE-uClibc/include/linux/netfilter_bridge/ebtables.h
-#opt/MACHINE-uClibc/include/linux/netfilter_decnet.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_amanda.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_core.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_ftp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_helper.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_icmp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_irc.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_protocol.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_sctp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_tcp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_tftp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_nat.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_nat_core.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_nat_helper.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_nat_protocol.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_nat_rule.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_queue.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ip_tables.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_CLASSIFY.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_CONNMARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_DSCP.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_ECN.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_LOG.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_MARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_REJECT.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_SAME.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_TCPMSS.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_TOS.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_ULOG.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_addrtype.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_ah.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_comment.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_connmark.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_conntrack.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_dscp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_ecn.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_esp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_hashlimit.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_helper.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_iprange.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_length.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_limit.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_mac.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_mark.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_multiport.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_owner.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_physdev.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_pkttype.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_realm.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_recent.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_sctp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_state.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_tcpmss.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_tos.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/ipt_ttl.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/listhelp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv4/lockhelp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6_tables.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_LOG.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_MARK.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_ah.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_esp.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_frag.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_hl.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_ipv6header.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_length.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_limit.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_mac.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_mark.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_multiport.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_opts.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_owner.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_physdev.h
-#opt/MACHINE-uClibc/include/linux/netfilter_ipv6/ip6t_rt.h
-#opt/MACHINE-uClibc/include/linux/netlink.h
-#opt/MACHINE-uClibc/include/linux/netrom.h
-#opt/MACHINE-uClibc/include/linux/nfs.h
-#opt/MACHINE-uClibc/include/linux/nfs2.h
-#opt/MACHINE-uClibc/include/linux/nfs3.h
-#opt/MACHINE-uClibc/include/linux/nfs4.h
-#opt/MACHINE-uClibc/include/linux/nfs4_mount.h
-#opt/MACHINE-uClibc/include/linux/nfs_fs.h
-#opt/MACHINE-uClibc/include/linux/nfs_fs_i.h
-#opt/MACHINE-uClibc/include/linux/nfs_fs_sb.h
-#opt/MACHINE-uClibc/include/linux/nfs_idmap.h
-#opt/MACHINE-uClibc/include/linux/nfs_mount.h
-#opt/MACHINE-uClibc/include/linux/nfs_xdr.h
-#opt/MACHINE-uClibc/include/linux/nfsd
-#opt/MACHINE-uClibc/include/linux/nfsd/const.h
-#opt/MACHINE-uClibc/include/linux/nfsd/debug.h
-#opt/MACHINE-uClibc/include/linux/nfsd/export.h
-#opt/MACHINE-uClibc/include/linux/nfsd/interface.h
-#opt/MACHINE-uClibc/include/linux/nfsd/nfsd.h
-#opt/MACHINE-uClibc/include/linux/nfsd/nfsfh.h
-#opt/MACHINE-uClibc/include/linux/nfsd/state.h
-#opt/MACHINE-uClibc/include/linux/nfsd/stats.h
-#opt/MACHINE-uClibc/include/linux/nfsd/syscall.h
-#opt/MACHINE-uClibc/include/linux/nfsd/xdr.h
-#opt/MACHINE-uClibc/include/linux/nfsd/xdr3.h
-#opt/MACHINE-uClibc/include/linux/nfsd/xdr4.h
-#opt/MACHINE-uClibc/include/linux/nls.h
-#opt/MACHINE-uClibc/include/linux/nmi.h
-#opt/MACHINE-uClibc/include/linux/node.h
-#opt/MACHINE-uClibc/include/linux/notifier.h
-#opt/MACHINE-uClibc/include/linux/nubus.h
-#opt/MACHINE-uClibc/include/linux/numa.h
-#opt/MACHINE-uClibc/include/linux/nvram.h
-#opt/MACHINE-uClibc/include/linux/openprom_fs.h
-#opt/MACHINE-uClibc/include/linux/oprofile.h
-#opt/MACHINE-uClibc/include/linux/pagemap.h
-#opt/MACHINE-uClibc/include/linux/pagevec.h
-#opt/MACHINE-uClibc/include/linux/param.h
-#opt/MACHINE-uClibc/include/linux/parport.h
-#opt/MACHINE-uClibc/include/linux/parport_pc.h
-#opt/MACHINE-uClibc/include/linux/parser.h
-#opt/MACHINE-uClibc/include/linux/patchkey.h
-#opt/MACHINE-uClibc/include/linux/pci-dynids.h
-#opt/MACHINE-uClibc/include/linux/pci.h
-#opt/MACHINE-uClibc/include/linux/pci_ids.h
-#opt/MACHINE-uClibc/include/linux/pcieport_if.h
-#opt/MACHINE-uClibc/include/linux/percpu.h
-#opt/MACHINE-uClibc/include/linux/percpu_counter.h
-#opt/MACHINE-uClibc/include/linux/personality.h
-#opt/MACHINE-uClibc/include/linux/pfkeyv2.h
-#opt/MACHINE-uClibc/include/linux/pg.h
-#opt/MACHINE-uClibc/include/linux/pipe_fs_i.h
-#opt/MACHINE-uClibc/include/linux/pkt_cls.h
-#opt/MACHINE-uClibc/include/linux/pkt_sched.h
-#opt/MACHINE-uClibc/include/linux/pktcdvd.h
-#opt/MACHINE-uClibc/include/linux/pmu.h
-#opt/MACHINE-uClibc/include/linux/poll.h
-#opt/MACHINE-uClibc/include/linux/posix-timers.h
-#opt/MACHINE-uClibc/include/linux/posix_acl.h
-#opt/MACHINE-uClibc/include/linux/posix_acl_xattr.h
-#opt/MACHINE-uClibc/include/linux/posix_types.h
-#opt/MACHINE-uClibc/include/linux/ppdev.h
-#opt/MACHINE-uClibc/include/linux/ppp-comp.h
-#opt/MACHINE-uClibc/include/linux/ppp_channel.h
-#opt/MACHINE-uClibc/include/linux/ppp_defs.h
-#opt/MACHINE-uClibc/include/linux/prctl.h
-#opt/MACHINE-uClibc/include/linux/preempt.h
-#opt/MACHINE-uClibc/include/linux/prefetch.h
-#opt/MACHINE-uClibc/include/linux/proc_fs.h
-#opt/MACHINE-uClibc/include/linux/ps2esdi.h
-#opt/MACHINE-uClibc/include/linux/ptrace.h
-#opt/MACHINE-uClibc/include/linux/qic117.h
-#opt/MACHINE-uClibc/include/linux/qnx4_fs.h
-#opt/MACHINE-uClibc/include/linux/qnxtypes.h
-#opt/MACHINE-uClibc/include/linux/quota.h
-#opt/MACHINE-uClibc/include/linux/quotaio_v1.h
-#opt/MACHINE-uClibc/include/linux/quotaio_v2.h
-#opt/MACHINE-uClibc/include/linux/radeonfb.h
-#opt/MACHINE-uClibc/include/linux/raid
-#opt/MACHINE-uClibc/include/linux/raid/linear.h
-#opt/MACHINE-uClibc/include/linux/raid/md.h
-#opt/MACHINE-uClibc/include/linux/raid/md_p.h
-#opt/MACHINE-uClibc/include/linux/raid/md_u.h
-#opt/MACHINE-uClibc/include/linux/raid/multipath.h
-#opt/MACHINE-uClibc/include/linux/raid/raid0.h
-#opt/MACHINE-uClibc/include/linux/raid/raid1.h
-#opt/MACHINE-uClibc/include/linux/raid/raid5.h
-#opt/MACHINE-uClibc/include/linux/raid/xor.h
-#opt/MACHINE-uClibc/include/linux/random.h
-#opt/MACHINE-uClibc/include/linux/raw.h
-#opt/MACHINE-uClibc/include/linux/rbtree.h
-#opt/MACHINE-uClibc/include/linux/reboot.h
-#opt/MACHINE-uClibc/include/linux/reiserfs_acl.h
-#opt/MACHINE-uClibc/include/linux/reiserfs_fs.h
-#opt/MACHINE-uClibc/include/linux/reiserfs_xattr.h
-#opt/MACHINE-uClibc/include/linux/resource.h
-#opt/MACHINE-uClibc/include/linux/romfs_fs.h
-#opt/MACHINE-uClibc/include/linux/root_dev.h
-#opt/MACHINE-uClibc/include/linux/rose.h
-#opt/MACHINE-uClibc/include/linux/route.h
-#opt/MACHINE-uClibc/include/linux/rtc.h
-#opt/MACHINE-uClibc/include/linux/rtnetlink.h
-#opt/MACHINE-uClibc/include/linux/sc26198.h
-#opt/MACHINE-uClibc/include/linux/scc.h
-#opt/MACHINE-uClibc/include/linux/sched.h
-#opt/MACHINE-uClibc/include/linux/sctp.h
-#opt/MACHINE-uClibc/include/linux/scx200.h
-#opt/MACHINE-uClibc/include/linux/scx200_gpio.h
-#opt/MACHINE-uClibc/include/linux/sdla.h
-#opt/MACHINE-uClibc/include/linux/sdla_asy.h
-#opt/MACHINE-uClibc/include/linux/sdla_chdlc.h
-#opt/MACHINE-uClibc/include/linux/sdla_fr.h
-#opt/MACHINE-uClibc/include/linux/sdla_ppp.h
-#opt/MACHINE-uClibc/include/linux/sdla_x25.h
-#opt/MACHINE-uClibc/include/linux/sdladrv.h
-#opt/MACHINE-uClibc/include/linux/sdlapci.h
-#opt/MACHINE-uClibc/include/linux/sdlasfm.h
-#opt/MACHINE-uClibc/include/linux/securebits.h
-#opt/MACHINE-uClibc/include/linux/security.h
-#opt/MACHINE-uClibc/include/linux/selection.h
-#opt/MACHINE-uClibc/include/linux/selinux_netlink.h
-#opt/MACHINE-uClibc/include/linux/sem.h
-#opt/MACHINE-uClibc/include/linux/seqlock.h
-#opt/MACHINE-uClibc/include/linux/serial.h
-#opt/MACHINE-uClibc/include/linux/serial167.h
-#opt/MACHINE-uClibc/include/linux/serialP.h
-#opt/MACHINE-uClibc/include/linux/serial_8250.h
-#opt/MACHINE-uClibc/include/linux/serial_core.h
-#opt/MACHINE-uClibc/include/linux/serial_reg.h
-#opt/MACHINE-uClibc/include/linux/serio.h
-#opt/MACHINE-uClibc/include/linux/shm.h
-#opt/MACHINE-uClibc/include/linux/siginfo.h
-#opt/MACHINE-uClibc/include/linux/signal.h
-#opt/MACHINE-uClibc/include/linux/skbuff.h
-#opt/MACHINE-uClibc/include/linux/smb.h
-#opt/MACHINE-uClibc/include/linux/smb_fs.h
-#opt/MACHINE-uClibc/include/linux/smb_mount.h
-#opt/MACHINE-uClibc/include/linux/smbno.h
-#opt/MACHINE-uClibc/include/linux/smp_lock.h
-#opt/MACHINE-uClibc/include/linux/snmp.h
-#opt/MACHINE-uClibc/include/linux/socket.h
-#opt/MACHINE-uClibc/include/linux/sockios.h
-#opt/MACHINE-uClibc/include/linux/som.h
-#opt/MACHINE-uClibc/include/linux/sonet.h
-#opt/MACHINE-uClibc/include/linux/sonypi.h
-#opt/MACHINE-uClibc/include/linux/sound.h
-#opt/MACHINE-uClibc/include/linux/soundcard.h
-#opt/MACHINE-uClibc/include/linux/spinlock.h
-#opt/MACHINE-uClibc/include/linux/stallion.h
-#opt/MACHINE-uClibc/include/linux/stddef.h
-#opt/MACHINE-uClibc/include/linux/stringify.h
-#opt/MACHINE-uClibc/include/linux/sunrpc
-#opt/MACHINE-uClibc/include/linux/sunrpc/cache.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/clnt.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/debug.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/gss_asn1.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/gss_krb5.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/gss_spkm3.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/sched.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/stats.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/svc.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/svcsock.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/timer.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/types.h
-#opt/MACHINE-uClibc/include/linux/sunrpc/xprt.h
-#opt/MACHINE-uClibc/include/linux/superhyway.h
-#opt/MACHINE-uClibc/include/linux/suspend.h
-#opt/MACHINE-uClibc/include/linux/swap.h
-#opt/MACHINE-uClibc/include/linux/swapops.h
-#opt/MACHINE-uClibc/include/linux/synclink.h
-#opt/MACHINE-uClibc/include/linux/sys.h
-#opt/MACHINE-uClibc/include/linux/syscalls.h
-#opt/MACHINE-uClibc/include/linux/sysctl.h
-#opt/MACHINE-uClibc/include/linux/sysdev.h
-#opt/MACHINE-uClibc/include/linux/sysfs.h
-#opt/MACHINE-uClibc/include/linux/sysrq.h
-#opt/MACHINE-uClibc/include/linux/sysv_fs.h
-#opt/MACHINE-uClibc/include/linux/tc_act
-#opt/MACHINE-uClibc/include/linux/tc_act/tc_defact.h
-#opt/MACHINE-uClibc/include/linux/tc_act/tc_gact.h
-#opt/MACHINE-uClibc/include/linux/tc_act/tc_ipt.h
-#opt/MACHINE-uClibc/include/linux/tc_act/tc_mirred.h
-#opt/MACHINE-uClibc/include/linux/tc_act/tc_pedit.h
-#opt/MACHINE-uClibc/include/linux/tc_ematch
-#opt/MACHINE-uClibc/include/linux/tc_ematch/tc_em_cmp.h
-#opt/MACHINE-uClibc/include/linux/tc_ematch/tc_em_meta.h
-#opt/MACHINE-uClibc/include/linux/tc_ematch/tc_em_nbyte.h
-#opt/MACHINE-uClibc/include/linux/tcp.h
-#opt/MACHINE-uClibc/include/linux/tcp_diag.h
-#opt/MACHINE-uClibc/include/linux/telephony.h
-#opt/MACHINE-uClibc/include/linux/termios.h
-#opt/MACHINE-uClibc/include/linux/threads.h
-#opt/MACHINE-uClibc/include/linux/ticable.h
-#opt/MACHINE-uClibc/include/linux/time.h
-#opt/MACHINE-uClibc/include/linux/times.h
-#opt/MACHINE-uClibc/include/linux/timex.h
-#opt/MACHINE-uClibc/include/linux/tiocl.h
-#opt/MACHINE-uClibc/include/linux/toshiba.h
-#opt/MACHINE-uClibc/include/linux/tty.h
-#opt/MACHINE-uClibc/include/linux/types.h
-#opt/MACHINE-uClibc/include/linux/udf_fs.h
-#opt/MACHINE-uClibc/include/linux/udf_fs_i.h
-#opt/MACHINE-uClibc/include/linux/udf_fs_sb.h
-#opt/MACHINE-uClibc/include/linux/udp.h
-#opt/MACHINE-uClibc/include/linux/ufs_fs.h
-#opt/MACHINE-uClibc/include/linux/uinput.h
-#opt/MACHINE-uClibc/include/linux/uio.h
-#opt/MACHINE-uClibc/include/linux/ultrasound.h
-#opt/MACHINE-uClibc/include/linux/umem.h
-#opt/MACHINE-uClibc/include/linux/un.h
-#opt/MACHINE-uClibc/include/linux/unistd.h
-#opt/MACHINE-uClibc/include/linux/usb.h
-#opt/MACHINE-uClibc/include/linux/usb_cdc.h
-#opt/MACHINE-uClibc/include/linux/usb_ch9.h
-#opt/MACHINE-uClibc/include/linux/usb_gadgetfs.h
-#opt/MACHINE-uClibc/include/linux/usbdevice_fs.h
-#opt/MACHINE-uClibc/include/linux/user.h
-#opt/MACHINE-uClibc/include/linux/utime.h
-#opt/MACHINE-uClibc/include/linux/uts.h
-#opt/MACHINE-uClibc/include/linux/utsname.h
-#opt/MACHINE-uClibc/include/linux/version.h
-#opt/MACHINE-uClibc/include/linux/video_decoder.h
-#opt/MACHINE-uClibc/include/linux/video_encoder.h
-#opt/MACHINE-uClibc/include/linux/videodev.h
-#opt/MACHINE-uClibc/include/linux/videodev2.h
-#opt/MACHINE-uClibc/include/linux/videotext.h
-#opt/MACHINE-uClibc/include/linux/vmalloc.h
-#opt/MACHINE-uClibc/include/linux/vt.h
-#opt/MACHINE-uClibc/include/linux/vt_buffer.h
-#opt/MACHINE-uClibc/include/linux/vt_kern.h
-#opt/MACHINE-uClibc/include/linux/wait.h
-#opt/MACHINE-uClibc/include/linux/wanpipe.h
-#opt/MACHINE-uClibc/include/linux/wanrouter.h
-#opt/MACHINE-uClibc/include/linux/watchdog.h
-#opt/MACHINE-uClibc/include/linux/wavefront.h
-#opt/MACHINE-uClibc/include/linux/wireless.h
-#opt/MACHINE-uClibc/include/linux/workqueue.h
-#opt/MACHINE-uClibc/include/linux/x25.h
-#opt/MACHINE-uClibc/include/linux/xattr.h
-#opt/MACHINE-uClibc/include/linux/xattr_acl.h
-#opt/MACHINE-uClibc/include/linux/xfrm.h
-#opt/MACHINE-uClibc/include/linux/yam.h
-#opt/MACHINE-uClibc/include/linux/zftape.h
-#opt/MACHINE-uClibc/include/linux/zorro.h
-#opt/MACHINE-uClibc/include/linux/zorro_ids.h
-#opt/MACHINE-uClibc/include/locale.h
-#opt/MACHINE-uClibc/include/malloc.h
-#opt/MACHINE-uClibc/include/math.h
-#opt/MACHINE-uClibc/include/memory.h
-#opt/MACHINE-uClibc/include/mntent.h
-#opt/MACHINE-uClibc/include/mqueue.h
-#opt/MACHINE-uClibc/include/net
-#opt/MACHINE-uClibc/include/net/ethernet.h
-#opt/MACHINE-uClibc/include/net/if.h
-#opt/MACHINE-uClibc/include/net/if_arp.h
-#opt/MACHINE-uClibc/include/net/if_packet.h
-#opt/MACHINE-uClibc/include/net/if_ppp.h
-#opt/MACHINE-uClibc/include/net/if_shaper.h
-#opt/MACHINE-uClibc/include/net/if_slip.h
-#opt/MACHINE-uClibc/include/net/ppp-comp.h
-#opt/MACHINE-uClibc/include/net/ppp_defs.h
-#opt/MACHINE-uClibc/include/net/route.h
-#opt/MACHINE-uClibc/include/netax25
-#opt/MACHINE-uClibc/include/netax25/ax25.h
-#opt/MACHINE-uClibc/include/netdb.h
-#opt/MACHINE-uClibc/include/neteconet
-#opt/MACHINE-uClibc/include/neteconet/ec.h
-#opt/MACHINE-uClibc/include/netinet
-#opt/MACHINE-uClibc/include/netinet/ether.h
-#opt/MACHINE-uClibc/include/netinet/icmp6.h
-#opt/MACHINE-uClibc/include/netinet/if_ether.h
-#opt/MACHINE-uClibc/include/netinet/if_fddi.h
-#opt/MACHINE-uClibc/include/netinet/if_tr.h
-#opt/MACHINE-uClibc/include/netinet/igmp.h
-#opt/MACHINE-uClibc/include/netinet/in.h
-#opt/MACHINE-uClibc/include/netinet/in_systm.h
-#opt/MACHINE-uClibc/include/netinet/ip.h
-#opt/MACHINE-uClibc/include/netinet/ip6.h
-#opt/MACHINE-uClibc/include/netinet/ip_fw.h
-#opt/MACHINE-uClibc/include/netinet/ip_icmp.h
-#opt/MACHINE-uClibc/include/netinet/ip_tcp.h
-#opt/MACHINE-uClibc/include/netinet/ip_udp.h
-#opt/MACHINE-uClibc/include/netinet/protocols.h
-#opt/MACHINE-uClibc/include/netinet/tcp.h
-#opt/MACHINE-uClibc/include/netinet/udp.h
-#opt/MACHINE-uClibc/include/netipx
-#opt/MACHINE-uClibc/include/netipx/ipx.h
-#opt/MACHINE-uClibc/include/netpacket
-#opt/MACHINE-uClibc/include/netpacket/packet.h
-#opt/MACHINE-uClibc/include/nl_types.h
-#opt/MACHINE-uClibc/include/obstack.h
-#opt/MACHINE-uClibc/include/paths.h
-#opt/MACHINE-uClibc/include/poll.h
-#opt/MACHINE-uClibc/include/printf.h
-#opt/MACHINE-uClibc/include/protocols
-#opt/MACHINE-uClibc/include/protocols/routed.h
-#opt/MACHINE-uClibc/include/protocols/rwhod.h
-#opt/MACHINE-uClibc/include/protocols/talkd.h
-#opt/MACHINE-uClibc/include/protocols/timed.h
-#opt/MACHINE-uClibc/include/pthread.h
-#opt/MACHINE-uClibc/include/pty.h
-#opt/MACHINE-uClibc/include/pwd.h
-#opt/MACHINE-uClibc/include/regex.h
-#opt/MACHINE-uClibc/include/regexp.h
-#opt/MACHINE-uClibc/include/resolv.h
-#opt/MACHINE-uClibc/include/rpc
-#opt/MACHINE-uClibc/include/rpc/auth.h
-#opt/MACHINE-uClibc/include/rpc/auth_des.h
-#opt/MACHINE-uClibc/include/rpc/auth_unix.h
-#opt/MACHINE-uClibc/include/rpc/clnt.h
-#opt/MACHINE-uClibc/include/rpc/des_crypt.h
-#opt/MACHINE-uClibc/include/rpc/key_prot.h
-#opt/MACHINE-uClibc/include/rpc/netdb.h
-#opt/MACHINE-uClibc/include/rpc/pmap_clnt.h
-#opt/MACHINE-uClibc/include/rpc/pmap_prot.h
-#opt/MACHINE-uClibc/include/rpc/pmap_rmt.h
-#opt/MACHINE-uClibc/include/rpc/rpc.h
-#opt/MACHINE-uClibc/include/rpc/rpc_des.h
-#opt/MACHINE-uClibc/include/rpc/rpc_msg.h
-#opt/MACHINE-uClibc/include/rpc/svc.h
-#opt/MACHINE-uClibc/include/rpc/svc_auth.h
-#opt/MACHINE-uClibc/include/rpc/types.h
-#opt/MACHINE-uClibc/include/rpc/xdr.h
-#opt/MACHINE-uClibc/include/sched.h
-#opt/MACHINE-uClibc/include/scsi
-#opt/MACHINE-uClibc/include/scsi/scsi.h
-#opt/MACHINE-uClibc/include/scsi/scsi_ioctl.h
-#opt/MACHINE-uClibc/include/scsi/sg.h
-#opt/MACHINE-uClibc/include/search.h
-#opt/MACHINE-uClibc/include/semaphore.h
-#opt/MACHINE-uClibc/include/setjmp.h
-#opt/MACHINE-uClibc/include/sgtty.h
-#opt/MACHINE-uClibc/include/shadow.h
-#opt/MACHINE-uClibc/include/signal.h
-#opt/MACHINE-uClibc/include/stdint.h
-#opt/MACHINE-uClibc/include/stdio.h
-#opt/MACHINE-uClibc/include/stdio_ext.h
-#opt/MACHINE-uClibc/include/stdlib.h
-#opt/MACHINE-uClibc/include/string.h
-#opt/MACHINE-uClibc/include/strings.h
-#opt/MACHINE-uClibc/include/sys
-#opt/MACHINE-uClibc/include/sys/bitypes.h
-#opt/MACHINE-uClibc/include/sys/cdefs.h
-#opt/MACHINE-uClibc/include/sys/debugreg.h
-#opt/MACHINE-uClibc/include/sys/dir.h
-#opt/MACHINE-uClibc/include/sys/elf.h
-#opt/MACHINE-uClibc/include/sys/epoll.h
-#opt/MACHINE-uClibc/include/sys/errno.h
-#opt/MACHINE-uClibc/include/sys/fcntl.h
-#opt/MACHINE-uClibc/include/sys/file.h
-#opt/MACHINE-uClibc/include/sys/fsuid.h
-#opt/MACHINE-uClibc/include/sys/io.h
-#opt/MACHINE-uClibc/include/sys/ioctl.h
-#opt/MACHINE-uClibc/include/sys/ipc.h
-#opt/MACHINE-uClibc/include/sys/kd.h
-#opt/MACHINE-uClibc/include/sys/kdaemon.h
-#opt/MACHINE-uClibc/include/sys/klog.h
-#opt/MACHINE-uClibc/include/sys/mman.h
-#opt/MACHINE-uClibc/include/sys/mount.h
-#opt/MACHINE-uClibc/include/sys/msg.h
-#opt/MACHINE-uClibc/include/sys/mtio.h
-#opt/MACHINE-uClibc/include/sys/param.h
-#opt/MACHINE-uClibc/include/sys/perm.h
-#opt/MACHINE-uClibc/include/sys/personality.h
-#opt/MACHINE-uClibc/include/sys/poll.h
-#opt/MACHINE-uClibc/include/sys/prctl.h
-#opt/MACHINE-uClibc/include/sys/procfs.h
-#opt/MACHINE-uClibc/include/sys/ptrace.h
-#opt/MACHINE-uClibc/include/sys/queue.h
-#opt/MACHINE-uClibc/include/sys/quota.h
-#opt/MACHINE-uClibc/include/sys/reboot.h
-#opt/MACHINE-uClibc/include/sys/reg.h
-#opt/MACHINE-uClibc/include/sys/resource.h
-#opt/MACHINE-uClibc/include/sys/select.h
-#opt/MACHINE-uClibc/include/sys/sem.h
-#opt/MACHINE-uClibc/include/sys/sendfile.h
-#opt/MACHINE-uClibc/include/sys/shm.h
-#opt/MACHINE-uClibc/include/sys/signal.h
-#opt/MACHINE-uClibc/include/sys/socket.h
-#opt/MACHINE-uClibc/include/sys/socketvar.h
-#opt/MACHINE-uClibc/include/sys/soundcard.h
-#opt/MACHINE-uClibc/include/sys/stat.h
-#opt/MACHINE-uClibc/include/sys/statfs.h
-#opt/MACHINE-uClibc/include/sys/statvfs.h
-#opt/MACHINE-uClibc/include/sys/swap.h
-#opt/MACHINE-uClibc/include/sys/syscall.h
-#opt/MACHINE-uClibc/include/sys/sysctl.h
-#opt/MACHINE-uClibc/include/sys/sysinfo.h
-#opt/MACHINE-uClibc/include/sys/syslog.h
-#opt/MACHINE-uClibc/include/sys/sysmacros.h
-#opt/MACHINE-uClibc/include/sys/termios.h
-#opt/MACHINE-uClibc/include/sys/time.h
-#opt/MACHINE-uClibc/include/sys/timeb.h
-#opt/MACHINE-uClibc/include/sys/times.h
-#opt/MACHINE-uClibc/include/sys/timex.h
-#opt/MACHINE-uClibc/include/sys/ttydefaults.h
-#opt/MACHINE-uClibc/include/sys/types.h
-#opt/MACHINE-uClibc/include/sys/ucontext.h
-#opt/MACHINE-uClibc/include/sys/uio.h
-#opt/MACHINE-uClibc/include/sys/un.h
-#opt/MACHINE-uClibc/include/sys/unistd.h
-#opt/MACHINE-uClibc/include/sys/user.h
-#opt/MACHINE-uClibc/include/sys/ustat.h
-#opt/MACHINE-uClibc/include/sys/utsname.h
-#opt/MACHINE-uClibc/include/sys/vfs.h
-#opt/MACHINE-uClibc/include/sys/vm86.h
-#opt/MACHINE-uClibc/include/sys/vt.h
-#opt/MACHINE-uClibc/include/sys/wait.h
-#opt/MACHINE-uClibc/include/sys/xattr.h
-#opt/MACHINE-uClibc/include/syscall.h
-#opt/MACHINE-uClibc/include/sysexits.h
-#opt/MACHINE-uClibc/include/syslog.h
-#opt/MACHINE-uClibc/include/tar.h
-#opt/MACHINE-uClibc/include/termio.h
-#opt/MACHINE-uClibc/include/termios.h
-#opt/MACHINE-uClibc/include/tgmath.h
-#opt/MACHINE-uClibc/include/thread_db.h
-#opt/MACHINE-uClibc/include/time.h
-#opt/MACHINE-uClibc/include/ttyent.h
-#opt/MACHINE-uClibc/include/ucontext.h
-#opt/MACHINE-uClibc/include/ulimit.h
-#opt/MACHINE-uClibc/include/unistd.h
-#opt/MACHINE-uClibc/include/ustat.h
-#opt/MACHINE-uClibc/include/utime.h
-#opt/MACHINE-uClibc/include/utmp.h
-#opt/MACHINE-uClibc/include/values.h
-#opt/MACHINE-uClibc/include/wait.h
-#opt/MACHINE-uClibc/include/wchar.h
-#opt/MACHINE-uClibc/include/wctype.h
-#opt/MACHINE-uClibc/include/xlocale.h
-#opt/MACHINE-uClibc/lib/Scrt1.o
-#opt/MACHINE-uClibc/lib/crt1.o
-#opt/MACHINE-uClibc/lib/crti.o
-#opt/MACHINE-uClibc/lib/crtn.o
-#opt/MACHINE-uClibc/lib/ld-uClibc-0.9.28.so
-#opt/MACHINE-uClibc/lib/ld-uClibc.so.0
-#opt/MACHINE-uClibc/lib/ldscripts
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.x
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xbn
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xc
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xd
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xdc
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xdw
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xn
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xr
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xs
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xsc
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xsw
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xu
-#opt/MACHINE-uClibc/lib/ldscripts/elf_i386.xw
-#opt/MACHINE-uClibc/lib/ldscripts/i386linux.x
-#opt/MACHINE-uClibc/lib/ldscripts/i386linux.xbn
-#opt/MACHINE-uClibc/lib/ldscripts/i386linux.xn
-#opt/MACHINE-uClibc/lib/ldscripts/i386linux.xr
-#opt/MACHINE-uClibc/lib/ldscripts/i386linux.xu
-#opt/MACHINE-uClibc/lib/libc.a
-#opt/MACHINE-uClibc/lib/libc.so
-#opt/MACHINE-uClibc/lib/libc.so.0
-#opt/MACHINE-uClibc/lib/libc_pic.a
-#opt/MACHINE-uClibc/lib/libcrypt-0.9.28.so
-#opt/MACHINE-uClibc/lib/libcrypt.a
-#opt/MACHINE-uClibc/lib/libcrypt.so
-#opt/MACHINE-uClibc/lib/libcrypt.so.0
-#opt/MACHINE-uClibc/lib/libcrypt_pic.a
-#opt/MACHINE-uClibc/lib/libdl-0.9.28.so
-#opt/MACHINE-uClibc/lib/libdl.a
-#opt/MACHINE-uClibc/lib/libdl.so
-#opt/MACHINE-uClibc/lib/libdl.so.0
-#opt/MACHINE-uClibc/lib/libm-0.9.28.so
-#opt/MACHINE-uClibc/lib/libm.a
-#opt/MACHINE-uClibc/lib/libm.so
-#opt/MACHINE-uClibc/lib/libm.so.0
-#opt/MACHINE-uClibc/lib/libm_pic.a
-#opt/MACHINE-uClibc/lib/libnsl-0.9.28.so
-#opt/MACHINE-uClibc/lib/libnsl.a
-#opt/MACHINE-uClibc/lib/libnsl.so
-#opt/MACHINE-uClibc/lib/libnsl.so.0
-#opt/MACHINE-uClibc/lib/libnsl_pic.a
-#opt/MACHINE-uClibc/lib/libpthread-0.9.28.so
-#opt/MACHINE-uClibc/lib/libpthread.a
-#opt/MACHINE-uClibc/lib/libpthread.so
-#opt/MACHINE-uClibc/lib/libpthread.so.0
-#opt/MACHINE-uClibc/lib/libpthread_pic.a
-#opt/MACHINE-uClibc/lib/libresolv-0.9.28.so
-#opt/MACHINE-uClibc/lib/libresolv.a
-#opt/MACHINE-uClibc/lib/libresolv.so
-#opt/MACHINE-uClibc/lib/libresolv.so.0
-#opt/MACHINE-uClibc/lib/libresolv_pic.a
-#opt/MACHINE-uClibc/lib/librt-0.9.28.so
-#opt/MACHINE-uClibc/lib/librt.a
-#opt/MACHINE-uClibc/lib/librt.so
-#opt/MACHINE-uClibc/lib/librt.so.0
-#opt/MACHINE-uClibc/lib/librt_pic.a
-#opt/MACHINE-uClibc/lib/libuClibc-0.9.28.so
-#opt/MACHINE-uClibc/lib/libutil-0.9.28.so
-#opt/MACHINE-uClibc/lib/libutil.a
-#opt/MACHINE-uClibc/lib/libutil.so
-#opt/MACHINE-uClibc/lib/libutil.so.0
-#opt/MACHINE-uClibc/lib/libutil_pic.a
index e9ba57a439724fc8edbfe34694112f8ce08754b3..21a8d63a5360a4e2b73f134cd8a422d1b72e2829 100644 (file)
@@ -4,85 +4,83 @@
 #usr/include/ogg/os_types.h
 #usr/lib/libogg.a
 #usr/lib/libogg.la
-usr/lib/libogg.so
+#usr/lib/libogg.so
 usr/lib/libogg.so.0
-usr/lib/libogg.so.0.6.0
+usr/lib/libogg.so.0.8.0
 #usr/lib/pkgconfig/ogg.pc
 #usr/share/aclocal/ogg.m4
-#usr/share/doc/libogg-1.1.4
-#usr/share/doc/libogg-1.1.4/framing.html
-#usr/share/doc/libogg-1.1.4/index.html
-#usr/share/doc/libogg-1.1.4/ogg
-#usr/share/doc/libogg-1.1.4/ogg-multiplex.html
-#usr/share/doc/libogg-1.1.4/ogg/bitpacking.html
-#usr/share/doc/libogg-1.1.4/ogg/datastructures.html
-#usr/share/doc/libogg-1.1.4/ogg/decoding.html
-#usr/share/doc/libogg-1.1.4/ogg/encoding.html
-#usr/share/doc/libogg-1.1.4/ogg/general.html
-#usr/share/doc/libogg-1.1.4/ogg/index.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_packet.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_packet_clear.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_bos.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_checksum_set.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_continued.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_eos.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_granulepos.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_packets.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_pageno.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_serialno.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_page_version.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_clear.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_destroy.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_eos.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_flush.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_init.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_packetin.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_packetout.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_packetpeek.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_pagein.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_pageout.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_reset.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_reset_serialno.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_stream_state.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_buffer.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_clear.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_destroy.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_init.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_pageout.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_pageseek.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_reset.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_state.html
-#usr/share/doc/libogg-1.1.4/ogg/ogg_sync_wrote.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_adv.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_adv1.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_bits.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_buffer.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_bytes.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_get_buffer.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_look.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_look1.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_read.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_read1.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_readinit.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_reset.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_write.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_writealign.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_writeclear.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_writecopy.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_writeinit.html
-#usr/share/doc/libogg-1.1.4/ogg/oggpack_writetrunc.html
-#usr/share/doc/libogg-1.1.4/ogg/overview.html
-#usr/share/doc/libogg-1.1.4/ogg/reference.html
-#usr/share/doc/libogg-1.1.4/ogg/style.css
-#usr/share/doc/libogg-1.1.4/ogg/vorbis_comment.html
-#usr/share/doc/libogg-1.1.4/ogg/vorbis_info.html
-#usr/share/doc/libogg-1.1.4/oggstream.html
-#usr/share/doc/libogg-1.1.4/rfc3533.txt
-#usr/share/doc/libogg-1.1.4/rfc3534.txt
-#usr/share/doc/libogg-1.1.4/stream.png
-#usr/share/doc/libogg-1.1.4/vorbisword2.png
-#usr/share/doc/libogg-1.1.4/white-ogg.png
-#usr/share/doc/libogg-1.1.4/white-xifish.png
-#usr/share/doc/libogg-1.1.4/rfc5334.txt
-#usr/share/doc/libogg-1.1.4/skeleton.html
+#usr/share/doc/libogg-1.3.0
+#usr/share/doc/libogg-1.3.0/framing.html
+#usr/share/doc/libogg-1.3.0/index.html
+#usr/share/doc/libogg-1.3.0/ogg
+#usr/share/doc/libogg-1.3.0/ogg-multiplex.html
+#usr/share/doc/libogg-1.3.0/ogg/bitpacking.html
+#usr/share/doc/libogg-1.3.0/ogg/datastructures.html
+#usr/share/doc/libogg-1.3.0/ogg/decoding.html
+#usr/share/doc/libogg-1.3.0/ogg/encoding.html
+#usr/share/doc/libogg-1.3.0/ogg/general.html
+#usr/share/doc/libogg-1.3.0/ogg/index.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_packet.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_packet_clear.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_bos.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_checksum_set.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_continued.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_eos.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_granulepos.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_packets.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_pageno.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_serialno.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_page_version.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_clear.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_destroy.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_eos.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_flush.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_init.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_packetin.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_packetout.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_packetpeek.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_pagein.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_pageout.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_pageout_fill.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_reset.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_reset_serialno.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_stream_state.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_buffer.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_clear.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_destroy.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_init.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_pageout.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_pageseek.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_reset.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_state.html
+#usr/share/doc/libogg-1.3.0/ogg/ogg_sync_wrote.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_adv.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_adv1.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_bits.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_buffer.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_bytes.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_get_buffer.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_look.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_look1.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_read.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_read1.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_readinit.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_reset.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_write.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_writealign.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_writeclear.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_writecopy.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_writeinit.html
+#usr/share/doc/libogg-1.3.0/ogg/oggpack_writetrunc.html
+#usr/share/doc/libogg-1.3.0/ogg/overview.html
+#usr/share/doc/libogg-1.3.0/ogg/reference.html
+#usr/share/doc/libogg-1.3.0/ogg/style.css
+#usr/share/doc/libogg-1.3.0/oggstream.html
+#usr/share/doc/libogg-1.3.0/rfc3533.txt
+#usr/share/doc/libogg-1.3.0/rfc5334.txt
+#usr/share/doc/libogg-1.3.0/skeleton.html
+#usr/share/doc/libogg-1.3.0/stream.png
+#usr/share/doc/libogg-1.3.0/vorbisword2.png
+#usr/share/doc/libogg-1.3.0/white-ogg.png
+#usr/share/doc/libogg-1.3.0/white-xifish.png
index 212e864162c73cdcddcb4901164f78e829f0045a..e7f7c3c1bc9c53ce08def7bd288dfb47cf03579c 100644 (file)
 #usr/include/vorbis/vorbisfile.h
 #usr/lib/libvorbis.a
 #usr/lib/libvorbis.la
-usr/lib/libvorbis.so
+#usr/lib/libvorbis.so
 usr/lib/libvorbis.so.0
-usr/lib/libvorbis.so.0.4.3
+usr/lib/libvorbis.so.0.4.6
 #usr/lib/libvorbisenc.a
 #usr/lib/libvorbisenc.la
-usr/lib/libvorbisenc.so
+#usr/lib/libvorbisenc.so
 usr/lib/libvorbisenc.so.2
-usr/lib/libvorbisenc.so.2.0.6
+usr/lib/libvorbisenc.so.2.0.9
 #usr/lib/libvorbisfile.a
 #usr/lib/libvorbisfile.la
-usr/lib/libvorbisfile.so
+#usr/lib/libvorbisfile.so
 usr/lib/libvorbisfile.so.3
-usr/lib/libvorbisfile.so.3.3.2
+usr/lib/libvorbisfile.so.3.3.5
 #usr/lib/pkgconfig/vorbis.pc
 #usr/lib/pkgconfig/vorbisenc.pc
 #usr/lib/pkgconfig/vorbisfile.pc
 #usr/share/aclocal/vorbis.m4
-#usr/share/doc/libvorbis-1.2.3
-#usr/share/doc/libvorbis-1.2.3/Vorbis_I_spec.cfg
-#usr/share/doc/libvorbis-1.2.3/Vorbis_I_spec.css
-#usr/share/doc/libvorbis-1.2.3/Vorbis_I_spec.html
-#usr/share/doc/libvorbis-1.2.3/Vorbis_I_spec.pdf
-#usr/share/doc/libvorbis-1.2.3/Vorbis_I_spec.tex
-#usr/share/doc/libvorbis-1.2.3/eightphase.png
-#usr/share/doc/libvorbis-1.2.3/evenlsp.png
-#usr/share/doc/libvorbis-1.2.3/fish_xiph_org.png
-#usr/share/doc/libvorbis-1.2.3/floor1_inverse_dB_table.html
-#usr/share/doc/libvorbis-1.2.3/floorval.png
-#usr/share/doc/libvorbis-1.2.3/fourphase.png
-#usr/share/doc/libvorbis-1.2.3/framing.html
-#usr/share/doc/libvorbis-1.2.3/helper.html
-#usr/share/doc/libvorbis-1.2.3/index.html
-#usr/share/doc/libvorbis-1.2.3/lspmap.png
-#usr/share/doc/libvorbis-1.2.3/oddlsp.png
-#usr/share/doc/libvorbis-1.2.3/oggstream.html
-#usr/share/doc/libvorbis-1.2.3/programming.html
-#usr/share/doc/libvorbis-1.2.3/rfc5215.txt
-#usr/share/doc/libvorbis-1.2.3/rfc5215.xml
-#usr/share/doc/libvorbis-1.2.3/squarepolar.png
-#usr/share/doc/libvorbis-1.2.3/stereo.html
-#usr/share/doc/libvorbis-1.2.3/stream.png
-#usr/share/doc/libvorbis-1.2.3/v-comment.html
-#usr/share/doc/libvorbis-1.2.3/vorbis-clip.txt
-#usr/share/doc/libvorbis-1.2.3/vorbis-errors.txt
-#usr/share/doc/libvorbis-1.2.3/vorbis-fidelity.html
-#usr/share/doc/libvorbis-1.2.3/vorbis.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/changes.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/examples.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/index.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/ov_ectl_ratemanage2_arg.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/ov_ectl_ratemanage_arg.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/overview.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/reference.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/style.css
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_encode_ctl.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_encode_init.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_encode_init_vbr.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_encode_setup_init.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_encode_setup_managed.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_encode_setup_vbr.html
-#usr/share/doc/libvorbis-1.2.3/vorbisenc/vorbis_info.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/OggVorbis_File.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/callbacks.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/chaining_example_c.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/chainingexample.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/crosslap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/datastructures.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/decoding.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/example.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/exampleindex.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/fileinfo.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/index.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/initialization.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_bitrate.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_bitrate_instant.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_callbacks.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_clear.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_comment.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_crosslap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_fopen.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_info.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_open.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_open_callbacks.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_pcm_seek.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_pcm_seek_lap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_pcm_seek_page.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_pcm_seek_page_lap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_pcm_tell.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_pcm_total.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_raw_seek.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_raw_seek_lap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_raw_tell.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_raw_total.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_read.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_read_float.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_seekable.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_serialnumber.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_streams.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_test.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_test_callbacks.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_test_open.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_time_seek.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_time_seek_lap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_time_seek_page.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_time_seek_page_lap.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_time_tell.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/ov_time_total.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/overview.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/reference.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/return.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/seekexample.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/seeking.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/seeking_example_c.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/seeking_test_c.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/seekingexample.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/style.css
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/threads.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/vorbis_comment.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/vorbis_info.html
-#usr/share/doc/libvorbis-1.2.3/vorbisfile/vorbisfile_example_c.html
-#usr/share/doc/libvorbis-1.2.3/vorbisword2.png
-#usr/share/doc/libvorbis-1.2.3/wait.png
-#usr/share/doc/libvorbis-1.2.3/white-xifish.png
+#usr/share/doc/libvorbis-1.3.3
+#usr/share/doc/libvorbis-1.3.3/doxygen-build.stamp
+#usr/share/doc/libvorbis-1.3.3/eightphase.png
+#usr/share/doc/libvorbis-1.3.3/evenlsp.png
+#usr/share/doc/libvorbis-1.3.3/fish_xiph_org.png
+#usr/share/doc/libvorbis-1.3.3/floor1_inverse_dB_table.html
+#usr/share/doc/libvorbis-1.3.3/floorval.png
+#usr/share/doc/libvorbis-1.3.3/fourphase.png
+#usr/share/doc/libvorbis-1.3.3/framing.html
+#usr/share/doc/libvorbis-1.3.3/helper.html
+#usr/share/doc/libvorbis-1.3.3/index.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis
+#usr/share/doc/libvorbis-1.3.3/libvorbis/index.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/overview.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/reference.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/return.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/style.css
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_analysis.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_analysis_blockout.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_analysis_buffer.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_analysis_headerout.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_analysis_init.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_analysis_wrote.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_bitrate_addblock.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_bitrate_flushpacket.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_block.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_block_clear.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_block_init.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment_add.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment_add_tag.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment_clear.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment_init.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment_query.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_comment_query_count.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_commentheader_out.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_dsp_clear.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_dsp_state.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_granule_time.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_info.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_info_blocksize.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_info_clear.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_info_init.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_packet_blocksize.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_blockin.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_halfrate.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_halfrate_p.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_headerin.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_idheader.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_init.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_lapout.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_pcmout.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_read.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_restart.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_synthesis_trackonly.html
+#usr/share/doc/libvorbis-1.3.3/libvorbis/vorbis_version_string.html
+#usr/share/doc/libvorbis-1.3.3/lspmap.png
+#usr/share/doc/libvorbis-1.3.3/oddlsp.png
+#usr/share/doc/libvorbis-1.3.3/oggstream.html
+#usr/share/doc/libvorbis-1.3.3/programming.html
+#usr/share/doc/libvorbis-1.3.3/rfc5215.txt
+#usr/share/doc/libvorbis-1.3.3/rfc5215.xml
+#usr/share/doc/libvorbis-1.3.3/squarepolar.png
+#usr/share/doc/libvorbis-1.3.3/stereo.html
+#usr/share/doc/libvorbis-1.3.3/stream.png
+#usr/share/doc/libvorbis-1.3.3/v-comment.html
+#usr/share/doc/libvorbis-1.3.3/vorbis-clip.txt
+#usr/share/doc/libvorbis-1.3.3/vorbis-errors.txt
+#usr/share/doc/libvorbis-1.3.3/vorbis-fidelity.html
+#usr/share/doc/libvorbis-1.3.3/vorbis.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/changes.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/examples.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/index.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/ovectl_ratemanage2_arg.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/ovectl_ratemanage_arg.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/overview.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/reference.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/style.css
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/vorbis_encode_ctl.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/vorbis_encode_init.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/vorbis_encode_init_vbr.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/vorbis_encode_setup_init.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/vorbis_encode_setup_managed.html
+#usr/share/doc/libvorbis-1.3.3/vorbisenc/vorbis_encode_setup_vbr.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/OggVorbis_File.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/callbacks.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/chaining_example_c.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/chainingexample.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/crosslap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/datastructures.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/decoding.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/example.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/exampleindex.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/fileinfo.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/index.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/initialization.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_bitrate.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_bitrate_instant.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_callbacks.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_clear.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_comment.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_crosslap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_fopen.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_info.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_open.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_open_callbacks.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_pcm_seek.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_pcm_seek_lap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_pcm_seek_page.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_pcm_seek_page_lap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_pcm_tell.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_pcm_total.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_raw_seek.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_raw_seek_lap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_raw_tell.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_raw_total.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_read.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_read_filter.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_read_float.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_seekable.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_serialnumber.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_streams.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_test.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_test_callbacks.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_test_open.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_time_seek.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_time_seek_lap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_time_seek_page.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_time_seek_page_lap.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_time_tell.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/ov_time_total.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/overview.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/reference.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/seekexample.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/seeking.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/seeking_example_c.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/seeking_test_c.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/seekingexample.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/style.css
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/threads.html
+#usr/share/doc/libvorbis-1.3.3/vorbisfile/vorbisfile_example_c.html
+#usr/share/doc/libvorbis-1.3.3/vorbisword2.png
+#usr/share/doc/libvorbis-1.3.3/wait.png
+#usr/share/doc/libvorbis-1.3.3/white-xifish.png
diff --git a/config/uClibc/busybox.config b/config/uClibc/busybox.config
deleted file mode 100644 (file)
index 9682385..0000000
+++ /dev/null
@@ -1,643 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-# CONFIG_NITPICK is not set
-# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_LOCALE_SUPPORT is not set
-CONFIG_GETOPT_LONG=y
-# CONFIG_FEATURE_DEVPTS is not set
-# CONFIG_FEATURE_CLEAN_UP is not set
-# CONFIG_FEATURE_SUID is not set
-# CONFIG_FEATURE_SUID_CONFIG is not set
-# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_FULL_LIBBUSYBOX is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-USING_CROSS_COMPILER=y
-CROSS_COMPILER_PREFIX="/opt/i586-uClibc/bin/i586-linux-"
-# CONFIG_BUILD_AT_ONCE is not set
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_NO_DEBUG_LIB is not set
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-# CONFIG_DEBUG_YANK_SUSv2 is not set
-
-#
-# Installation Options
-#
-CONFIG_INSTALL_NO_USR=y
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-PREFIX="/install/initrd"
-
-#
-# Busybox Library Tuning
-#
-CONFIG_MD5_SIZE_VS_SPEED=3
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-# CONFIG_AR is not set
-# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
-# CONFIG_BUNZIP2 is not set
-# CONFIG_CPIO is not set
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-# CONFIG_GUNZIP is not set
-# CONFIG_FEATURE_GUNZIP_UNCOMPRESS is not set
-CONFIG_GZIP=y
-# CONFIG_RPM2CPIO is not set
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-# CONFIG_FEATURE_TAR_CREATE is not set
-CONFIG_FEATURE_TAR_BZIP2=y
-CONFIG_FEATURE_TAR_LZMA=y
-# CONFIG_FEATURE_TAR_FROM is not set
-CONFIG_FEATURE_TAR_GZIP=y
-# CONFIG_FEATURE_TAR_COMPRESS is not set
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-# CONFIG_UNCOMPRESS is not set
-# CONFIG_UNLZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
-CONFIG_UNZIP=y
-
-#
-# Common options for cpio and tar
-#
-# CONFIG_FEATURE_UNARCHIVE_TAPE is not set
-# CONFIG_FEATURE_DEB_TAR_GZ is not set
-# CONFIG_FEATURE_DEB_TAR_BZ2 is not set
-# CONFIG_FEATURE_DEB_TAR_LZMA is not set
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-# CONFIG_CAL is not set
-CONFIG_CAT=y
-# CONFIG_CATV is not set
-# CONFIG_CHGRP is not set
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_CHROOT=y
-# CONFIG_CKSUM is not set
-# CONFIG_CMP is not set
-# CONFIG_COMM is not set
-CONFIG_CP=y
-CONFIG_CUT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-# CONFIG_FEATURE_DD_IBS_OBS is not set
-CONFIG_DF=y
-# CONFIG_DIFF is not set
-# CONFIG_FEATURE_DIFF_BINARY is not set
-# CONFIG_FEATURE_DIFF_DIR is not set
-# CONFIG_FEATURE_DIFF_MINIMAL is not set
-# CONFIG_DIRNAME is not set
-# CONFIG_DOS2UNIX is not set
-# CONFIG_UNIX2DOS is not set
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-# CONFIG_ENV is not set
-# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
-# CONFIG_EXPR is not set
-# CONFIG_EXPR_MATH_SUPPORT_64 is not set
-# CONFIG_FALSE is not set
-# CONFIG_FOLD is not set
-CONFIG_HEAD=y
-# CONFIG_FEATURE_FANCY_HEAD is not set
-# CONFIG_HOSTID is not set
-# CONFIG_ID is not set
-# CONFIG_INSTALL is not set
-# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
-# CONFIG_LENGTH is not set
-CONFIG_LN=y
-# CONFIG_LOGNAME is not set
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-# CONFIG_FEATURE_MKDIR_LONG_OPTIONS is not set
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-# CONFIG_NOHUP is not set
-# CONFIG_OD is not set
-# CONFIG_PRINTENV is not set
-# CONFIG_PRINTF is not set
-# CONFIG_PWD is not set
-# CONFIG_REALPATH is not set
-CONFIG_RM=y
-# CONFIG_RMDIR is not set
-CONFIG_SEQ=y
-# CONFIG_SHA1SUM is not set
-CONFIG_SLEEP=y
-# CONFIG_FEATURE_FANCY_SLEEP is not set
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-# CONFIG_STAT is not set
-# CONFIG_FEATURE_STAT_FORMAT is not set
-# CONFIG_STTY is not set
-# CONFIG_SUM is not set
-CONFIG_SYNC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
-CONFIG_TEST=y
-# CONFIG_FEATURE_TEST_64 is not set
-CONFIG_TOUCH=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_TRUE=y
-# CONFIG_TTY is not set
-CONFIG_UNAME=y
-CONFIG_UNIQ=y
-# CONFIG_USLEEP is not set
-# CONFIG_UUDECODE is not set
-# CONFIG_UUENCODE is not set
-# CONFIG_WATCH is not set
-CONFIG_WC=y
-# CONFIG_WHO is not set
-# CONFIG_WHOAMI is not set
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum
-#
-# CONFIG_FEATURE_MD5_SHA1_SUM_CHECK is not set
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_CLEAR=y
-# CONFIG_DEALLOCVT is not set
-# CONFIG_DUMPKMAP is not set
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-# CONFIG_OPENVT is not set
-# CONFIG_RESET is not set
-CONFIG_SETCONSOLE=y
-# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
-CONFIG_SETKEYCODES=y
-# CONFIG_SETLOGCONS is not set
-
-#
-# Debian Utilities
-#
-# CONFIG_MKTEMP is not set
-# CONFIG_PIPE_PROGRESS is not set
-# CONFIG_READLINK is not set
-# CONFIG_FEATURE_READLINK_FOLLOW is not set
-# CONFIG_RUN_PARTS is not set
-# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
-# CONFIG_START_STOP_DAEMON is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
-# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_AWK=y
-# CONFIG_FEATURE_AWK_MATH is not set
-# CONFIG_ED is not set
-# CONFIG_PATCH is not set
-CONFIG_SED=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
-# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
-# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
-# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
-
-#
-# Init Utilities
-#
-CONFIG_INIT=y
-# CONFIG_DEBUG_INIT is not set
-CONFIG_FEATURE_USE_INITTAB=y
-# CONFIG_FEATURE_INIT_SCTTY is not set
-CONFIG_FEATURE_EXTRA_QUIET=y
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-CONFIG_FEATURE_INITRD=y
-CONFIG_HALT=y
-# CONFIG_MESG is not set
-
-#
-# Login/Password Management Utilities
-#
-# CONFIG_FEATURE_SHADOWPASSWDS is not set
-# CONFIG_USE_BB_SHADOW is not set
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_ADDGROUP is not set
-# CONFIG_DELGROUP is not set
-# CONFIG_ADDUSER is not set
-# CONFIG_DELUSER is not set
-CONFIG_GETTY=y
-# CONFIG_FEATURE_UTMP is not set
-# CONFIG_FEATURE_WTMP is not set
-# CONFIG_LOGIN is not set
-# CONFIG_FEATURE_SECURETTY is not set
-# CONFIG_PASSWD is not set
-# CONFIG_SU is not set
-# CONFIG_SULOGIN is not set
-# CONFIG_VLOCK is not set
-
-#
-# Linux Ext2 FS Progs
-#
-# CONFIG_CHATTR is not set
-CONFIG_E2FSCK=y
-CONFIG_FSCK=y
-# CONFIG_LSATTR is not set
-CONFIG_MKE2FS=y
-CONFIG_TUNE2FS=y
-CONFIG_E2LABEL=y
-# CONFIG_FINDFS is not set
-
-#
-# Linux Module Utilities
-#
-CONFIG_INSMOD=y
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODPROBE=y
-CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS=y
-
-#
-# Options common to multiple modutils
-#
-# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
-# CONFIG_FEATURE_2_4_MODULES is not set
-CONFIG_FEATURE_2_6_MODULES=y
-# CONFIG_FEATURE_QUERY_MODULE_INTERFACE is not set
-
-#
-# Linux System Utilities
-#
-CONFIG_DMESG=y
-# CONFIG_FBSET is not set
-# CONFIG_FEATURE_FBSET_FANCY is not set
-# CONFIG_FEATURE_FBSET_READMODE is not set
-# CONFIG_FDFLUSH is not set
-# CONFIG_FDFORMAT is not set
-CONFIG_FDISK=y
-FDISK_SUPPORT_LARGE_DISKS=y
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-# CONFIG_FEATURE_OSF_LABEL is not set
-# CONFIG_FEATURE_FDISK_ADVANCED is not set
-# CONFIG_FREERAMDISK is not set
-# CONFIG_FSCK_MINIX is not set
-# CONFIG_MKFS_MINIX is not set
-# CONFIG_FEATURE_MINIX2 is not set
-# CONFIG_GETOPT is not set
-# CONFIG_HEXDUMP is not set
-# CONFIG_HWCLOCK is not set
-# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
-# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
-# CONFIG_IPCRM is not set
-# CONFIG_IPCS is not set
-CONFIG_LOSETUP=y
-# CONFIG_MDEV is not set
-# CONFIG_FEATURE_MDEV_CONF is not set
-# CONFIG_FEATURE_MDEV_EXEC is not set
-CONFIG_MKSWAP=y
-# CONFIG_FEATURE_MKSWAP_V0 is not set
-CONFIG_MORE=y
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_MOUNT=y
-# CONFIG_FEATURE_MOUNT_NFS is not set
-CONFIG_PIVOT_ROOT=y
-# CONFIG_RDATE is not set
-# CONFIG_READPROFILE is not set
-# CONFIG_SETARCH is not set
-CONFIG_SWAPONOFF=y
-# CONFIG_SWITCH_ROOT is not set
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-# CONFIG_FEATURE_MTAB_SUPPORT is not set
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_ADJTIMEX is not set
-# CONFIG_BBCONFIG is not set
-# CONFIG_CROND is not set
-# CONFIG_DEBUG_CROND_OPTION is not set
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-# CONFIG_CRONTAB is not set
-# CONFIG_DC is not set
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_EJECT=y
-# CONFIG_LAST is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-# CONFIG_FEATURE_LESS_FLAGCS is not set
-# CONFIG_FEATURE_LESS_MARKS is not set
-# CONFIG_FEATURE_LESS_REGEXP is not set
-# CONFIG_HDPARM is not set
-# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
-# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
-# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
-# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
-# CONFIG_MAKEDEVS is not set
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-# CONFIG_FEATURE_MAKEDEVS_TABLE is not set
-# CONFIG_MOUNTPOINT is not set
-# CONFIG_MT is not set
-# CONFIG_RUNLEVEL is not set
-# CONFIG_RX is not set
-# CONFIG_STRINGS is not set
-# CONFIG_SETSID is not set
-# CONFIG_TASKSET is not set
-# CONFIG_TIME is not set
-# CONFIG_WATCHDOG is not set
-
-#
-# Networking Utilities
-#
-# CONFIG_FEATURE_IPV6 is not set
-# CONFIG_ARPING is not set
-# CONFIG_DNSD is not set
-# CONFIG_ETHER_WAKE is not set
-# CONFIG_FAKEIDENTD is not set
-# CONFIG_FTPGET is not set
-# CONFIG_FTPPUT is not set
-# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_WITHOUT_INETD is not set
-# CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_MIME_TYPES is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-# CONFIG_FEATURE_IFCONFIG_SLIP is not set
-# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
-# CONFIG_FEATURE_IFCONFIG_HW is not set
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-# CONFIG_IFUPDOWN is not set
-# CONFIG_FEATURE_IFUPDOWN_IP is not set
-# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
-# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
-# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
-# CONFIG_FEATURE_IFUPDOWN_IPX is not set
-# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-# CONFIG_FEATURE_IP_TUNNEL is not set
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-# CONFIG_IPTUNNEL is not set
-# CONFIG_IPCALC is not set
-# CONFIG_FEATURE_IPCALC_FANCY is not set
-# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
-# CONFIG_NAMEIF is not set
-# CONFIG_NC is not set
-# CONFIG_NC_GAPING_SECURITY_HOLE is not set
-# CONFIG_NETSTAT is not set
-# CONFIG_NSLOOKUP is not set
-CONFIG_PING=y
-# CONFIG_FEATURE_FANCY_PING is not set
-# CONFIG_PING6 is not set
-# CONFIG_FEATURE_FANCY_PING6 is not set
-CONFIG_ROUTE=y
-# CONFIG_TELNET is not set
-# CONFIG_FEATURE_TELNET_TTYPE is not set
-# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set
-# CONFIG_TELNETD is not set
-# CONFIG_FEATURE_TELNETD_INETD is not set
-# CONFIG_TFTP is not set
-# CONFIG_FEATURE_TFTP_GET is not set
-# CONFIG_FEATURE_TFTP_PUT is not set
-# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
-# CONFIG_DEBUG_TFTP is not set
-# CONFIG_TRACEROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-
-#
-# udhcp Server/Client
-#
-# CONFIG_APP_UDHCPD is not set
-CONFIG_APP_UDHCPC=y
-# CONFIG_APP_DUMPLEASES is not set
-CONFIG_FEATURE_UDHCP_SYSLOG=y
-# CONFIG_FEATURE_UDHCP_DEBUG is not set
-CONFIG_VCONFIG=y
-# CONFIG_WGET is not set
-# CONFIG_FEATURE_WGET_STATUSBAR is not set
-# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
-# CONFIG_FEATURE_WGET_IP6_LITERAL is not set
-# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
-# CONFIG_ZCIP is not set
-
-#
-# Process Utilities
-#
-CONFIG_FREE=y
-# CONFIG_FUSER is not set
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-# CONFIG_PIDOF is not set
-# CONFIG_FEATURE_PIDOF_SINGLE is not set
-# CONFIG_FEATURE_PIDOF_OMIT is not set
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_RENICE=y
-# CONFIG_BB_SYSCTL is not set
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_UPTIME=y
-
-#
-# Shells
-#
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_LASH is not set
-# CONFIG_FEATURE_SH_IS_MSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-CONFIG_ASH=y
-
-#
-# Ash Shell Options
-#
-CONFIG_ASH_JOB_CONTROL=y
-# CONFIG_ASH_READ_NCHARS is not set
-# CONFIG_ASH_READ_TIMEOUT is not set
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_MATH_SUPPORT=y
-# CONFIG_ASH_MATH_SUPPORT_64 is not set
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_TEST=y
-# CONFIG_ASH_CMDCMD is not set
-# CONFIG_ASH_MAIL is not set
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-# CONFIG_ASH_RANDOM_SUPPORT is not set
-CONFIG_ASH_EXPAND_PRMT=y
-# CONFIG_HUSH is not set
-# CONFIG_LASH is not set
-# CONFIG_MSH is not set
-
-#
-# Bourne Shell Options
-#
-# CONFIG_FEATURE_SH_EXTRA_QUIET is not set
-# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
-CONFIG_FEATURE_COMMAND_EDITING=y
-# CONFIG_FEATURE_COMMAND_EDITING_VI is not set
-CONFIG_FEATURE_COMMAND_HISTORY=15
-CONFIG_FEATURE_COMMAND_SAVEHISTORY=y
-CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
-# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_SH_FANCY_PROMPT=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-# CONFIG_FEATURE_ROTATE_LOGFILE is not set
-# CONFIG_FEATURE_REMOTE_LOG is not set
-# CONFIG_FEATURE_IPC_SYSLOG is not set
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
-# CONFIG_LOGREAD is not set
-# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
-CONFIG_KLOGD=y
-CONFIG_LOGGER=y
diff --git a/config/uClibc/codesets.txt b/config/uClibc/codesets.txt
deleted file mode 100644 (file)
index 98530d3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-./charmaps/ASCII.pairs
-./charmaps/ISO-8859-1.pairs
diff --git a/config/uClibc/locales.txt b/config/uClibc/locales.txt
deleted file mode 100644 (file)
index a3100ec..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-@euro e
-@cyrillic c
-#---------------------------------------------------------------------------
-UTF-8 yes
-8-BIT yes
-#---------------------------------------------------------------------------
-en_US ISO-8859-1
-en_US.UTF-8 UTF-8
diff --git a/config/uClibc/uClibc.config-i586 b/config/uClibc/uClibc.config-i586
deleted file mode 100644 (file)
index f46b1fe..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-#
-# Automatically generated make config: don't edit
-#
-# TARGET_alpha is not set
-# TARGET_arm is not set
-# TARGET_bfin is not set
-# TARGET_cris is not set
-# TARGET_e1 is not set
-# TARGET_frv is not set
-# TARGET_h8300 is not set
-TARGET_i386=y
-# TARGET_i960 is not set
-# TARGET_m68k is not set
-# TARGET_microblaze is not set
-# TARGET_mips is not set
-# TARGET_nios is not set
-# TARGET_nios2 is not set
-# TARGET_powerpc is not set
-# TARGET_sh is not set
-# TARGET_sh64 is not set
-# TARGET_sparc is not set
-# TARGET_v850 is not set
-# TARGET_x86_64 is not set
-
-#
-# Target Architecture Features and Options
-#
-HAVE_ELF=y
-ARCH_SUPPORTS_LITTLE_ENDIAN=y
-TARGET_ARCH="i386"
-# CONFIG_GENERIC_386 is not set
-# CONFIG_386 is not set
-# CONFIG_486 is not set
-CONFIG_586=y
-# CONFIG_586MMX is not set
-# CONFIG_686 is not set
-# CONFIG_PENTIUMII is not set
-# CONFIG_PENTIUMIII is not set
-# CONFIG_PENTIUM4 is not set
-# CONFIG_K6 is not set
-# CONFIG_K7 is not set
-# CONFIG_ELAN is not set
-# CONFIG_CRUSOE is not set
-# CONFIG_WINCHIPC6 is not set
-# CONFIG_WINCHIP2 is not set
-# CONFIG_CYRIXIII is not set
-# CONFIG_NEHEMIAH is not set
-ARCH_LITTLE_ENDIAN=y
-# ARCH_BIG_ENDIAN is not set
-# ARCH_HAS_NO_MMU is not set
-ARCH_HAS_MMU=y
-UCLIBC_HAS_FLOATS=y
-HAS_FPU=y
-DO_C99_MATH=y
-KERNEL_SOURCE="/usr"
-C_SYMBOL_PREFIX=""
-HAVE_DOT_CONFIG=y
-
-#
-# General Library Settings
-#
-# HAVE_NO_PIC is not set
-DOPIC=y
-# HAVE_NO_SHARED is not set
-HAVE_SHARED=y
-# ARCH_HAS_NO_LDSO is not set
-BUILD_UCLIBC_LDSO=y
-FORCE_SHAREABLE_TEXT_SEGMENTS=y
-LDSO_LDD_SUPPORT=y
-LDSO_CACHE_SUPPORT=y
-# LDSO_PRELOAD_FILE_SUPPORT is not set
-LDSO_BASE_FILENAME="ld.so"
-LDSO_RUNPATH=y
-# DL_FINI_CRT_COMPAT is not set
-UCLIBC_CTOR_DTOR=y
-# HAS_NO_THREADS is not set
-UCLIBC_HAS_THREADS=y
-# PTHREADS_DEBUG_SUPPORT is not set
-UCLIBC_HAS_LFS=y
-# UCLIBC_STATIC_LDCONFIG is not set
-# MALLOC is not set
-# MALLOC_SIMPLE is not set
-MALLOC_STANDARD=y
-MALLOC_GLIBC_COMPAT=y
-UCLIBC_DYNAMIC_ATEXIT=y
-HAS_SHADOW=y
-UNIX98PTY_ONLY=y
-ASSUME_DEVPTS=y
-UCLIBC_HAS_TM_EXTENSIONS=y
-UCLIBC_HAS_TZ_CACHING=y
-UCLIBC_HAS_TZ_FILE=y
-UCLIBC_HAS_TZ_FILE_READ_MANY=y
-UCLIBC_TZ_FILE_PATH="/etc/TZ"
-
-#
-# Networking Support
-#
-# UCLIBC_HAS_IPV6 is not set
-# UCLIBC_HAS_RPC is not set
-
-#
-# String and Stdio Support
-#
-UCLIBC_HAS_STRING_GENERIC_OPT=y
-UCLIBC_HAS_STRING_ARCH_OPT=y
-UCLIBC_HAS_CTYPE_TABLES=y
-UCLIBC_HAS_CTYPE_SIGNED=y
-UCLIBC_HAS_CTYPE_UNSAFE=y
-# UCLIBC_HAS_CTYPE_CHECKED is not set
-# UCLIBC_HAS_CTYPE_ENFORCED is not set
-UCLIBC_HAS_WCHAR=y
-UCLIBC_HAS_LOCALE=y
-UCLIBC_PREGENERATED_LOCALE_DATA=y
-# UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA is not set
-UCLIBC_HAS_XLOCALE=y
-# UCLIBC_HAS_HEXADECIMAL_FLOATS is not set
-# UCLIBC_HAS_GLIBC_DIGIT_GROUPING is not set
-UCLIBC_HAS_GLIBC_CUSTOM_PRINTF=y
-UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS=9
-# UCLIBC_HAS_SCANF_GLIBC_A_FLAG is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_NONE is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_256 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_512 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_1024 is not set
-# UCLIBC_HAS_STDIO_BUFSIZ_2048 is not set
-UCLIBC_HAS_STDIO_BUFSIZ_4096=y
-# UCLIBC_HAS_STDIO_BUFSIZ_8192 is not set
-UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE=y
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4 is not set
-# UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8 is not set
-# UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT is not set
-UCLIBC_HAS_STDIO_GETC_MACRO=y
-UCLIBC_HAS_STDIO_PUTC_MACRO=y
-UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION=y
-# UCLIBC_HAS_FOPEN_LARGEFILE_MODE is not set
-# UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE is not set
-# UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not set
-# UCLIBC_HAS_PRINTF_M_SPEC is not set
-UCLIBC_HAS_ERRNO_MESSAGES=y
-# UCLIBC_HAS_SYS_ERRLIST is not set
-UCLIBC_HAS_SIGNUM_MESSAGES=y
-UCLIBC_HAS_SYS_SIGLIST=y
-UCLIBC_HAS_GNU_GETOPT=y
-
-#
-# Big and Tall
-#
-UCLIBC_HAS_REGEX=y
-# UCLIBC_HAS_WORDEXP is not set
-UCLIBC_HAS_FTW=y
-UCLIBC_HAS_GLOB=y
-
-#
-# Library Installation Options
-#
-SHARED_LIB_LOADER_PREFIX="/lib"
-RUNTIME_PREFIX="/"
-DEVEL_PREFIX="/usr/"
-
-#
-# uClibc security related options
-#
-# UCLIBC_SECURITY is not set
-
-#
-# uClibc development/debugging options
-#
-CROSS_COMPILER_PREFIX=""
-# DODEBUG is not set
-# DODEBUG_PT is not set
-# DOASSERTS is not set
-# SUPPORT_LD_DEBUG is not set
-# SUPPORT_LD_DEBUG_EARLY is not set
-WARNINGS="-Wall"
-# UCLIBC_MJN3_ONLY is not set
index 073ee23992ed014db2a4dba600cffa5fccee8ec1..104a2a7f89dba3b5623858f0b8ee91c8eb73a1d9 100644 (file)
 
 include Config
 
-VER        = 2.18
+VER        = 2.22
 
 THISAPP    = binutils-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
-# XXX maybe we can remove that ugly MACHINE= by this
-#unexport MACHINE
-
 # Normal build or /tools build.
 #
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr --enable-shared --disable-nls
+  EXTRA_CONFIG = \
+       --prefix=/usr \
+       --enable-shared \
+       --disable-nls
   EXTRA_MAKE = tooldir=/usr
   EXTRA_INSTALL = tooldir=/usr
 else
 ifeq "$(PASS)" "1"
   TARGET = $(DIR_INFO)/$(THISAPP)-tools1
-  CFLAGS =
-  EXTRA_CONFIG = --prefix=/tools --disable-nls --disable-werror --disable-gprof
-  #EXTRA_MAKE = LDFLAGS="-all-static"
+  EXTRA_CONFIG = \
+       --target=$(CROSSTARGET) \
+       --prefix=/tools \
+       --disable-nls \
+       --disable-werror
+  EXTRA_MAKE =
   EXTRA_INSTALL = 
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools2
-  EXTRA_CONFIG = --prefix=/tools --with-lib-path=/tools/lib --disable-nls
+  EXTRA_ENV = \
+       CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+       AR="$(CROSSTARGET)-ar" \
+       RANLIB="$(CROSSTARGET)-ranlib"
+  EXTRA_CONFIG = \
+       --host=$(BUILDTARGET) \
+       --build=$(BUILDTARGET) \
+       --prefix=/tools \
+       --with-lib-path=/tools/lib \
+       --disable-nls
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 endif
 endif
 
-EXTRA_CONFIG += --build=$(BUILDTARGET)
-
 ifeq "$(MACHINE_TYPE)" "arm"
        EXTRA_CONFIG += \
                --with-abi=aapcs-linux \
@@ -72,7 +82,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 9d22ee4dafa3a194457caf4706f9cf01
+$(DL_FILE)_MD5 = ee0f10756c84979622b992a4a61ea3f5
 
 install : $(TARGET)
 
@@ -103,21 +113,13 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) $(DIR_SRC)/binutils-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        @mkdir $(DIR_SRC)/binutils-build
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-configure-1.patch
-       cd $(DIR_SRC)/binutils-build && MACHINE= $(DIR_APP)/configure $(EXTRA_CONFIG)
-ifeq "$(PASS)" "1"
-       cd $(DIR_SRC)/binutils-build && make configure-host MAKEINFO=makeinfo MACHINE=
-endif
-       cd $(DIR_SRC)/binutils-build && make $(EXTRA_MAKE) $(MAKETUNING) MAKEINFO=makeinfo MACHINE=
-       cd $(DIR_SRC)/binutils-build && make $(EXTRA_INSTALL) install MAKEINFO=makeinfo MACHINE=
+       cd $(DIR_SRC)/binutils-build && $(EXTRA_ENV) MACHINE= $(DIR_APP)/configure $(EXTRA_CONFIG)
+       cd $(DIR_SRC)/binutils-build && make $(EXTRA_MAKE) $(MAKETUNING) MACHINE=
+       cd $(DIR_SRC)/binutils-build && make $(EXTRA_INSTALL) install MACHINE=
 ifeq "$(ROOT)" ""
        cp -v $(DIR_APP)/include/libiberty.h /usr/include
 else
-ifeq "$(PASS)" "1"
-       cd $(DIR_SRC)/binutils-build && make -C ld clean MACHINE=
-       cd $(DIR_SRC)/binutils-build && make -C ld LIB_PATH=/tools/lib MACHINE=
-       cd $(DIR_SRC)/binutils-build && cp -v ld/ld-new /tools/bin
-else
+ifeq "$(PASS)" "2"
        cd $(DIR_SRC)/binutils-build && make -C ld clean MACHINE=
        cd $(DIR_SRC)/binutils-build && make -C ld LIB_PATH=/usr/lib:/lib MACHINE=
        cd $(DIR_SRC)/binutils-build && cp -v ld/ld-new /tools/bin
index 9546c43acbc8967059881e15c39d74fe16b126ae..b82c156e03c9066094e4d33e2276b5bad891413e 100644 (file)
@@ -76,6 +76,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP)/capiinit && make install
        cd $(DIR_APP)/capi20 && sed -i -e 's/include <linux\/capi.h>/include <linux\/types.h>\n#include <linux\/capi.h>/' capidyn.c
        cd $(DIR_APP)/capi20 && sed -i -e 's/include <linux\/capi.h>/include <linux\/types.h>\n#include <linux\/capi.h>/' capi20.c
+       cd $(DIR_APP)/capi20 && sed -i "/include/a #include <stddef.h>" capi20.h
        cd $(DIR_APP)/capi20 && sed -i -e 's/-O2/$(CFLAGS)/' configure
        cd $(DIR_APP)/capi20 && SED=sed ./configure
        cd $(DIR_APP)/capi20 && SED=sed make $(MAKETUNING)
index 3a8dc6e53573045557fa0b4b38ab19684c29e80a..22b8c5e0b39d50c6d84cb13c291ff1c3176250fe 100644 (file)
@@ -32,6 +32,13 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)-pass$(PASS)
 
+ifeq "$(PASS)" "1"
+       CFLAGS += -static
+endif
+
+# Set max cache size to 5GB
+CFLAGS += -DDEFAULT_MAXSIZE=5242880
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -70,15 +77,28 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && CFLAGS="-O2 -static -DDEFAULT_MAXSIZE=5242880" ./configure --prefix=$(ROOT)/usr/local
+       cd $(DIR_APP) && ./configure --prefix=/tools
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
-       ln -sf ccache $(ROOT)/usr/local/bin/gcc
-       ln -sf ccache $(ROOT)/usr/local/bin/g++
-       ln -sf ccache $(ROOT)/usr/local/bin/cc
-       ln -sf ccache $(ROOT)/usr/local/bin/$(BUILDTARGET)-gcc
-       ln -sf ccache $(ROOT)/usr/local/bin/$(BUILDTARGET)-g++
-       ln -sf ccache $(ROOT)/usr/local/bin/$(BUILDTARGET)-cc
-       $(ROOT)/usr/local/bin/ccache -z
+
+ifeq "$(PASS)" "1"
+       mkdir -pv /tools/ccache/bin
+       ln -svf ../../bin/ccache /tools/ccache/bin/gcc
+       ln -svf ../../bin/ccache /tools/ccache/bin/g++
+       ln -svf ../../bin/ccache /tools/ccache/bin/cc
+       ln -svf ../../bin/ccache /tools/ccache/bin/c++
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(CROSSTARGET)-gcc
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(CROSSTARGET)-g++
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(CROSSTARGET)-cc
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(CROSSTARGET)-c++
+endif
+
+ifeq "$(PASS)" "2"
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(BUILDTARGET)-gcc
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(BUILDTARGET)-g++
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(BUILDTARGET)-cc
+       ln -svf ../../bin/ccache /tools/ccache/bin/$(BUILDTARGET)-c++
+endif
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 306b781c2f97a5952302f6956c374c86692b3148..5c9fd0d5b3598a6a2c207d04b7e792a3091a915b 100644 (file)
@@ -52,30 +52,36 @@ md5 :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
 ifeq "$(PASS)" "1"
-       mv -v /tools/bin/{ld,ld-old}
-       mv -v /tools/$(BUILDTARGET)/bin/{ld,ld-old}
-       cp -v /tools/bin/{ld-new,ld}
-       ln -sv /tools/bin/ld /tools/$(BUILDTARGET)/bin/ld
-       gcc -dumpspecs > /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs
-       sed 's@/lib/ld-linux.so@/tools&@g' /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs > tempspecfile
-       mv -vf tempspecfile /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs
-       find /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/include/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \;
-       rm -vf `grep -l "DO NOT EDIT THIS FILE" /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/include/*`
+       SPECS=$$(dirname $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name))/specs; \
+       /tools/bin/$(CROSSTARGET)-gcc -dumpspecs | sed \
+               -e 's@/lib\(64\)\?/ld@/tools&@g' \
+               -e "/^\*cpp:$$/{n;s,$$, -isystem /tools/include,}" > $$SPECS
 endif
+
 ifeq "$(PASS)" "2"
-       -strip --strip-debug /tools/lib/*
-       -strip --strip-unneeded /tools/{,s}bin/*
-       rm -rfv /tools/{info,man} /usr/local/man
-       chown -R root:root /tools
+       # Remove the first cross compiler which is not needed anymore.
+       find /tools/ -name "$(CROSSTARGET)*" | xargs rm -rfv
+
+       # Remove man and info pages.
+       rm -rfv /tools/{,share}/{info,man}
+
+       # Strip all binaries.
+       STRIP="/usr/bin/strip" $(DIR_SRC)/src/stripper /tools/
+
+       # Fix ownership of the toolchain.
+       chown -R root:root /tools/
 endif
+
 ifeq "$(PASS)" "3"
        mv -v /tools/bin/{ld,ld-old}
        mv -v /tools/$(BUILDTARGET)/bin/{ld,ld-old}
        mv -v /tools/bin/{ld-new,ld}
        ln -sv /tools/bin/ld /tools/$(BUILDTARGET)/bin/ld
-       gcc -dumpspecs | \
-       perl -p -e 's@/tools/lib/ld-linux.so@/lib/ld-linux.so@g;' \
-           -e 's@\*startfile_prefix_spec:\n@$$_/usr/lib/ @g;' > \
-           /tools/lib/gcc/$(BUILDTARGET)/$(GCC_VER)/specs
+
+       gcc -dumpspecs | sed \
+               -e 's@/tools@@g' \
+               -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \
+               -e '/\*cpp:/{n;s@$$@ -isystem /usr/include@}' > \
+               $$(dirname $$(gcc -print-libgcc-file-name))/specs
 endif
        @$(POSTBUILD)
index 7bdc0ecd380e31fbc9c807e06e8dd4fbf0b23e0f..62a8bb4db5a4cc22ef460580551b159b6ff0fb15 100644 (file)
@@ -45,8 +45,6 @@ else
   EXTRA_INSTALL = 
 endif
 
-EXTRA_CONFIG += --build=$(BUILDTARGET)
-
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -86,6 +84,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils-5.96-rename-tee.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/coreutils-5.96-futimes.patch
 ifeq "$(ROOT)" ""
 ifeq "$(MACHINE)" "i586"
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-uname-1.patch
index 818b89ea4058ca9e4137139e076b14a4253e4376..3a431066a10ff2685ac8271392790075d6f30e9a 100644 (file)
--- a/lfs/dbus
+++ b/lfs/dbus
@@ -77,6 +77,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_SRC)/dbus*
        cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dbus-1.0.3-compile-fix-1.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
                                     --localstatedir=/var
        cd $(DIR_APP) && make $(MAKETUNING)
diff --git a/lfs/gcc b/lfs/gcc
index 7665074c36fb374c64ffd7c9492334b7bab5c2d8..713587f8e4920c2f0926cd2fd634267cc5803f77 100644 (file)
--- a/lfs/gcc
+++ b/lfs/gcc
 
 include Config
 
-VER        = 4.1.2
+VER        = 4.4.7
+
+GMP_VER    = 5.0.5
+MPFR_VER   = 2.4.2
 
 THISAPP    = gcc-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -35,37 +38,59 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 #
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr \
-               --libexecdir=/usr/lib \
-               --enable-shared \
-               --enable-threads=posix \
-               --enable-__cxa_atexit \
-               --enable-clocale=gnu \
-               --enable-languages=c,c++ \
-               --disable-nls
+  EXTRA_CONFIG = \
+       --prefix=/usr \
+       --libexecdir=/usr/lib \
+       --enable-shared \
+       --enable-threads=posix \
+       --enable-__cxa_atexit \
+       --enable-clocale=gnu \
+       --enable-languages=c,c++ \
+       --disable-bootstrap \
+       --disable-nls
   EXTRA_MAKE =
   EXTRA_INSTALL =
 else
 ifeq "$(PASS)" "1"
   TARGET = $(DIR_INFO)/$(THISAPP)-tools1
-  EXTRA_CONFIG = --prefix=/tools \
-               --with-local-prefix=/tools \
-               --disable-nls \
-               --enable-shared \
-               --enable-languages=c \
-               --enable-bootstrap
+  EXTRA_CONFIG = \
+       --target=$(CROSSTARGET) \
+       --prefix=/tools \
+       --disable-nls \
+       --disable-shared \
+       --disable-decimal-float \
+       --disable-threads \
+       --disable-libmudflap \
+       --disable-libssp \
+       --disable-libgomp \
+       --disable-libquadmath \
+       --with-newlib \
+       --without-headers \
+       --without-ppl \
+       --without-cloog \
+       --enable-languages=c \
+       --enable-bootstrap
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools2
-  EXTRA_CONFIG = --prefix=/tools \
-               --with-local-prefix=/tools \
-               --enable-clocale=gnu \
-               --enable-shared \
-               --enable-threads=posix \
-               --enable-__cxa_atexit \
-               --enable-languages=c,c++ \
-               --disable-libstdcxx-pch
+  EXTRA_ENV = \
+       CC="$(CROSSTARGET)-gcc -B/tools/lib/" \
+       AR="$(CROSSTARGET)-ar" \
+       RANLIB="$(CROSSTARGET)-ranlib"
+  EXTRA_CONFIG = \
+       --host=$(BUILDTARGET) \
+       --build=$(BUILDTARGET) \
+       --target=$(BUILDTARGET) \
+       --prefix=/tools \
+       --with-local-prefix=/tools \
+       --enable-clocale=gnu \
+       --enable-shared \
+       --enable-threads=posix \
+       --enable-__cxa_atexit \
+       --enable-languages=c,c++ \
+       --disable-libstdcxx-pch \
+       --disable-bootstrap
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 endif
@@ -73,21 +98,8 @@ endif
 
 ifeq "$(MACHINE_TYPE)" "arm"
        EXTRA_CONFIG += \
-               --build=$(BUILDTARGET) \
-               --host=$(BUILDTARGET) \
-               --target=$(BUILDTARGET) \
                --with-float=soft \
-               --disable-libmudflap \
-               --disable-libssp \
-               --disable-libgomp \
-               --enable-threads=posix \
-               --enable-long-long \
-               --enable-c99 \
-               --enable-__cxa_atexit \
-               --disable-multilib
-else
-       EXTRA_CONFIG += --build=$(BUILDTARGET) --host=$(BUILDTARGET) \
-               --target=$(BUILDTARGET)
+               --disable-sjlj-exceptions
 endif
 
 export XCFLAGS = $(CFLAGS)
@@ -100,11 +112,18 @@ endif
 ###############################################################################
 # Top-level Rules
 ###############################################################################
-objects = $(DL_FILE)
+
+objects = $(DL_FILE) \
+       gmp-$(GMP_VER).tar.bz2 \
+       mpfr-$(MPFR_VER).tar.bz2
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+gmp-$(GMP_VER).tar.bz2 = $(DL_FROM)/gmp-$(GMP_VER).tar.bz2
+mpfr-$(MPFR_VER).tar.bz2 = $(DL_FROM)/mpfr-$(MPFR_VER).tar.bz2
 
-$(DL_FILE)_MD5 = a4a3eb15c96030906d8494959eeda23c
+$(DL_FILE)_MD5                 = 295709feb4441b04e87dea3f1bab4281
+gmp-$(GMP_VER).tar.bz2_MD5     = 041487d25e9c230b0c42b106361055fe
+mpfr-$(MPFR_VER).tar.bz2_MD5   = 89e59fe665e2b3ad44a6789f40b059a0
 
 install : $(TARGET)
 
@@ -134,42 +153,59 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-fix_linker_version_detection.patch
        @mkdir $(DIR_SRC)/gcc-build
 
-       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/gcc-4.1.2-gcc_eh.patch
-       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/gcc-4.1.2-arm-linux-soft-float.patch
+ifneq "$(ROOT)" ""
+       # Build gmp and mpfr internally in toolchain.
+       cd $(DIR_APP) && tar xfa $(DIR_DL)/gmp-$(GMP_VER).tar.bz2
+       cd $(DIR_APP) && mv -v gmp-$(GMP_VER) gmp
+       cd $(DIR_APP) && tar xfa $(DIR_DL)/mpfr-$(MPFR_VER).tar.bz2
+       cd $(DIR_APP) && mv -v mpfr-$(MPFR_VER) mpfr
+
+ifeq    "$(PASS)" "1"
+       # GCC does not detect stack protection correctly, which causes problems
+       # for the build of libresolv_pic.a.
+       cd $(DIR_APP) && sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure
+endif
 
-ifeq "$(ROOT)" ""
-       cd $(DIR_APP) && sed -i 's/install_to_$$(INSTALL_DEST) //' libiberty/Makefile.in
-       cd $(DIR_APP) && sed -i 's/^XCFLAGS =$$/& -fomit-frame-pointer/' gcc/Makefile.in
-       cd $(DIR_APP) && sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
-       cd $(DIR_APP) && sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in
+ifeq    "$(PASS)" "2"
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/gcc-4.4.3-startfiles_fix-1.patch
+
+       for file in $$(find $(DIR_APP)/gcc/config -name linux64.h -o -name linux.h \
+                       -o -name sysv4.h -o -name linux-eabi.h -o -name linux-elf.h); do \
+               echo "Processing $${file}..."; \
+               sed -i $${file} \
+                       -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
+                       -e 's@/usr@/tools@g'; \
+               echo '#undef STANDARD_INCLUDE_DIR' >> $${file}; \
+               echo '#define STANDARD_INCLUDE_DIR 0' >> $${file}; \
+               echo '#define STANDARD_STARTFILE_PREFIX_1 ""' >> $${file}; \
+               echo '#define STANDARD_STARTFILE_PREFIX_2 ""' >> $${file}; \
+       done
+endif
+endif
 
-       cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG)
+       cd $(DIR_APP) && sed -i 's/install_to_$$(INSTALL_DEST) //' libiberty/Makefile.in
+       cd $(DIR_APP) && sed -i gcc/Makefile.in \
+               -e 's@\./fixinc\.sh@-c true@' \
+               -e 's/^T_CFLAGS =$$/& -fomit-frame-pointer/'
+
+       # The actual build.
+       cd $(DIR_SRC)/gcc-build && \
+               $(EXTRA_ENV) \
+               $(DIR_APP)/configure \
+                       $(EXTRA_CONFIG)
        cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
-       ln -sfv ../usr/bin/cpp /lib
-       ln -sfv gcc /usr/bin/cc
+
+ifeq "$(ROOT)" ""
+       ln -svf ../usr/bin/cpp /lib
+       ln -svf gcc /usr/bin/cc
 else
-ifeq "$(PASS)" "1"
-       cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
-       cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
-       ln -sfv gcc /tools/bin/cc
-       ln -sf ccache $(ROOT)/usr/local/bin/$(BUILDTARGET)-gcc
-       ln -sf ccache $(ROOT)/usr/local/bin/$(BUILDTARGET)-g++
-       ln -sf ccache $(ROOT)/usr/local/bin/$(BUILDTARGET)-cc
+ifeq    "$(PASS)" "1"
+       ln -svf libgcc.a $$(/tools/bin/$(CROSSTARGET)-gcc -print-libgcc-file-name | sed 's/libgcc/&_eh/')
 else
-       cd $(DIR_APP) && cp -v gcc/Makefile.in{,.orig}
-       cd $(DIR_APP) && sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in
-       cd $(DIR_APP) && cp -v gcc/Makefile.in{,.tmp}
-       cd $(DIR_APP) && sed 's/^XCFLAGS =$\/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
-                               > gcc/Makefile.in
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-specs-1.patch
-       cd $(DIR_SRC)/gcc-build && $(DIR_APP)/configure $(EXTRA_CONFIG)
-       cd $(DIR_SRC)/gcc-build && make $(MAKETUNING) $(EXTRA_MAKE)
-       cd $(DIR_SRC)/gcc-build && make $(EXTRA_INSTALL) install
+       ln -svf gcc /tools/bin/cc
 endif
 endif
        @rm -rf $(DIR_APP) $(DIR_SRC)/gcc-build
index 43e7552f3cda7602ab3f41511d16ecb32e2c926d..f713def0ae4cfa6e3c5dfd15d81b077f4401c51b 100644 (file)
@@ -34,14 +34,10 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 # Normal build or /tools build.
 #
 ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "install"
-  TARGET = $(DIR_INFO)/$(THISAPP)-install
-else
   TARGET = $(DIR_INFO)/$(THISAPP)
   EXTRA_CONFIG = --prefix=/usr --disable-nls
   EXTRA_MAKE = 
   EXTRA_INSTALL =
-endif
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
   EXTRA_CONFIG = --prefix=/tools --disable-shared --disable-nls
@@ -88,18 +84,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
 ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --prefix=/ --libdir=/lib \
-                               --with-included-gettext --disable-rpath \
-                               --enable-relocatable --disable-shared
-       cd $(DIR_APP)/gettext-runtime && make CFLAGS="-Os -fomit-frame-pointer" -C intl/
-       cd $(DIR_APP)/gettext-runtime && make CFLAGS="-Os -fomit-frame-pointer" \
-                               DESTDIR=/opt/$(MACHINE)-uClibc -C intl/ install
-else
        cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
        cd $(DIR_APP) && make $(EXTRA_MAKE)
        cd $(DIR_APP) && make $(EXTRA_INSTALL) install
-endif
 else
        cd $(DIR_APP)/gettext-tools && ./configure $(EXTRA_CONFIG)
        cd $(DIR_APP)/gettext-tools && make -C lib
index 2e0b7f93346da9e4ff1b2bcf4deed2d33ccdc0b2..d3590d80f3e4d807bf6a8b3d6ed1edd5854b4fa3 100644 (file)
--- a/lfs/glibc
+++ b/lfs/glibc
@@ -24,7 +24,8 @@
 
 include Config
 
-VER = 2.5
+VER        = 2.12-2-gc4ccff1
+PORTS_VER  = 2.12.1
 
 THISAPP    = glibc-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -35,23 +36,34 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 #
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr \
-    --disable-profile --enable-add-ons \
-    --enable-kernel=2.6.0 --libexecdir=/usr/lib/glibc
+  EXTRA_CONFIG = \
+       --build=$(BUILDTARGET) \
+       --prefix=/usr \
+       --libexecdir=/usr/lib/glibc
   EXTRA_MAKE =
   EXTRA_INSTALL =
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
-  EXTRA_CONFIG = --prefix=/tools \
-    --disable-profile --enable-add-ons \
-    --enable-kernel=2.6.0 --with-binutils=/tools/bin \
-    --without-gd --with-headers=/tools/include \
-    --without-selinux
+  EXTRA_CONFIG = \
+       --host=$(CROSSTARGET) \
+       --build=$(BUILDTARGET) \
+       --prefix=/tools \
+       --with-headers=/tools/include \
+       libc_cv_forced_unwind=yes \
+       libc_cv_ctors_header=yes \
+       libc_cv_c_cleanup=yes
   EXTRA_MAKE =
   EXTRA_INSTALL =
 endif
 
-EXTRA_CONFIG += --build=$(BUILDTARGET)
+# Enable some extra optimization for the glibc code.
+export CFLAGS := -O3 -DNDEBUG -fasynchronous-unwind-tables -fPIC -DPIC \
+       -DNO_CTORS_DTORS_SECTIONS
+
+ifeq "$(MACHINE)" "i586"
+       CFLAGS += -march=i586 -mtune=generic -mno-tls-direct-seg-refs
+endif
+
 
 ifeq "$(MACHINE_TYPE)" "arm"
        # Disable hardware FP for ARM.
@@ -59,24 +71,30 @@ ifeq "$(MACHINE_TYPE)" "arm"
                --without-fp
 endif
 
+# Add some general configuration flags
+EXTRA_CONFIG += \
+       --disable-profile \
+       --enable-kernel=2.6.0 \
+       --enable-add-ons \
+       --without-selinux \
+       --enable-experimental-malloc \
+       --enable-bind-now
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
 
-objects = $(DL_FILE) \
-       glibc-libidn-$(VER).tar.bz2
+objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-glibc-libidn-$(VER).tar.bz2 = $(DL_FROM)/glibc-libidn-$(VER).tar.bz2
 
-$(DL_FILE)_MD5 = 1fb29764a6a650a4d5b409dda227ac9f
-glibc-libidn-$(VER).tar.bz2_MD5 = 8787868ba8962d9b125997ec2f25ac01
+$(DL_FILE)_MD5 = 450958ad3d3b5a432b356376904c96b0
 
 # ARM needs glibc-ports
 ifeq "$(MACHINE_TYPE)" "arm"
-       objects += glibc-ports-$(VER).tar.bz2
-       glibc-ports-$(VER).tar.bz2 = $(DL_FROM)/glibc-ports-$(VER).tar.bz2
-       glibc-ports-$(VER).tar.bz2_MD5 = 183f6d46e8fa5e4b2aff240ab1586c2e
+       objects += glibc-ports-$(PORTS_VER).tar.bz2
+       glibc-ports-$(PORTS_VER).tar.bz2 = $(DL_FROM)/glibc-ports-$(PORTS_VER).tar.bz2
+       glibc-ports-$(PORTS_VER).tar.bz2_MD5 = cb01ab976180e98287cef5079e35359e
 endif
 
 install : $(TARGET)
@@ -108,20 +126,126 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) $(DIR_SRC)/glibc-build && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        @mkdir $(DIR_SRC)/glibc-build
+
 ifeq "$(MACHINE_TYPE)" "arm"
-       cd $(DIR_APP) && tar jxf $(DIR_DL)/glibc-ports-$(VER).tar.bz2
-       cd $(DIR_APP) && mv -v glibc-ports-$(VER) ports
+       cd $(DIR_APP) && tar jxf $(DIR_DL)/glibc-ports-$(PORTS_VER).tar.bz2
+       cd $(DIR_APP) && mv -v glibc-ports-$(PORTS_VER) ports
+endif
 
-       cd $(DIR_APP)/ports && patch -Np1 -i $(DIR_SRC)/src/patches/glibc-ports-avoid-using-asm-procinfo.patch
-       cd $(DIR_APP)/ports && patch -Np1 -i $(DIR_SRC)/src/patches/glibc-arm-dont-use-swp.patch
+       # Apply all patches.
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-aliasing.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-fedora.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-getlogin-r.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-localedata.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-recvmmsg.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh580498.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh582738.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh587360.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh593396.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh593686.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh601686.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh607010.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh607461.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh615090.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh615701.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh621959.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh623187.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh625893.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh630801.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh631011.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh641128.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh642584.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh643822.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh645672.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh646954.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh647448.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh652661.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh656014.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh656530.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh657572.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh661982.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh667974.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh676076.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh676591.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh681054.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh688720.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh688980.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh689471.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh692177.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh692838.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh694386.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh695595.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh695963.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh696472.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh697421.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh699724.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh700507.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh703480.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh703481.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh705465.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh711927.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh711987.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh712248.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh713134.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh714823.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh718057.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh726517.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh730379.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh731042.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh736346.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh737778.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh738665.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh738763.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh739184.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh739971.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh740506.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh740506-2.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh749188.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh750531.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh751750.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh752122.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh757888.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh766513.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767146.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767693.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767693-2.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh767746.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh771342.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh782585.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh784402.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh785984.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh788959.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh788959-2.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789189.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789209.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789238.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh789238-2.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh794817.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh794817-2.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh795498.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh797094-1.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh797094-2.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh804630.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh804689.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh808337.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh808545.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh809602.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh833716.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc/glibc-rh837026.patch
 
-       # asm/page.h should not be included in sysdeps/unix/sysv/linux/arm/ioperm.c.
-       cd $(DIR_APP) && sed "/asm\/page.h/d" -i ports/sysdeps/unix/sysv/linux/arm/ioperm.c
-endif
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-resolv-stack_chk_fail.patch
+       # http://sourceware.org/bugzilla/show_bug.cgi?id=12354
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-cfi-entry-not-closed.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/glibc-remove-ctors-dtors-output-sections.patch
+
+       # Fixes:
+       #   Makefile:235: *** mixed implicit and normal rules.  Stop.
+       cd $(DIR_APP) && sed -i 's/ot \$$/ot:\n\ttouch $$@\n$$/' manual/Makefile
+
+       # Fix an issue when building glibc with gcc 4.7.
+       #cd $(DIR_APP) && sed -i "s/ -lgcc_s//" Makeconfig
 
 ifeq "$(ROOT)" ""
-       # This locale causes a loop on bash login - exclude it
-       cd $(DIR_APP) && sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED
 ifeq "$(MACHINE_TYPE)" "arm"
        cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
                scripts/test-installation.pl
@@ -130,21 +254,16 @@ else
                scripts/test-installation.pl
 endif
 endif
-       cd $(DIR_SRC)/glibc-build && CFLAGS="$(CFLAGS)" $(DIR_APP)/configure $(EXTRA_CONFIG)
 
-ifeq "$(ROOT)" ""
-       touch /etc/ld.so.conf
-       cd $(DIR_SRC)/glibc-build && make $(MAKETUNING) $(EXTRA_MAKE)
-       cd $(DIR_SRC)/glibc-build && make $(EXTRA_INSTALL) install
-else
-       -mkdir /tools/etc
-       touch /tools/etc/ld.so.conf
-       cd $(DIR_SRC)/glibc-build && make $(MAKETUNING) $(EXTRA_MAKE)
+       cd $(DIR_SRC)/glibc-build && \
+               CFLAGS="$(CFLAGS) -fno-asynchronous-unwind-tables" \
+               $(DIR_APP)/configure $(EXTRA_CONFIG)
+       cd $(DIR_SRC)/glibc-build && make PARALLELMFLAGS=$(MAKETUNING) \
+               CFLAFS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
        cd $(DIR_SRC)/glibc-build && make $(EXTRA_INSTALL) install
-endif
 
-       # Creating the locales
 ifeq "$(ROOT)" ""
+       # Creating the locales
        mkdir -p /usr/lib/locale
        cd $(DIR_SRC)/glibc-build && localedef -i en_US -f ISO-8859-1 en_US
        cd $(DIR_SRC)/glibc-build && localedef -i en_US -f UTF-8      en_US.utf8
diff --git a/lfs/gmp b/lfs/gmp
index 5b50081500103ab182c74dcdf770e3d28a2d97c6..cf5227671155965897c0bc8c6d3416fc287f4e62 100644 (file)
--- a/lfs/gmp
+++ b/lfs/gmp
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.2.4
+VER        = 5.0.5
 
 THISAPP    = gmp-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = fc1e3b3a2a5038d4d74138d0b9cf8dbe
+$(DL_FILE)_MD5 = 041487d25e9c230b0c42b106361055fe
 
 install : $(TARGET)
 
similarity index 83%
rename from lfs/libsafe
rename to lfs/gmp-compat
index 24c398c61f9513628489b327b5fd1e29f44c12c7..3d20e889a013f3eec690f9dbc2c1f5edc7073c88 100644 (file)
 
 include Config
 
-VER        = 2.0-16
+VER        = 4.3.2
 
-THISAPP    = libsafe_$(VER)
-DL_FILE    = $(THISAPP).orig.tar.gz
+THISAPP    = gmp-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
-DIR_APP    = $(DIR_SRC)/libsafe-$(VER)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+ifeq "$(MACHINE)" "i586"
+       CONFIGURE_ARGS = ABI=32
+endif
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -40,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 6b7b6e6df84d4afb469ccc66d04fc24d
+$(DL_FILE)_MD5 = dd60683d7057917e34630b4a787932e8
 
 install : $(TARGET)
 
@@ -69,10 +73,11 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsafe-functioncaching.diff
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libsafe-alpha.diff
-       cd $(DIR_APP) && make libsafe $(MAKETUNING)
-       cd $(DIR_APP) && yes | make install
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && $(CONFIGURE_ARGS) ./configure --prefix=/usr \
+               --enable-cxx --enable-mpbsd --disable-nls
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && install -m 644 .libs/libgmp.so.3.5.2 /usr/lib
+       ln -svf libgmp.so.3.5.2 /usr/lib/libgmp.so.3
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 4b3e1e1bbd9038e8db6db98e8d95945f53572567..7d62f8b8dfb1b4a162b8fff618cb7c6d74a1de8e 100644 (file)
--- a/lfs/grep
+++ b/lfs/grep
@@ -41,7 +41,7 @@ ifeq "$(ROOT)" ""
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
   EXTRA_CONFIG = --prefix=/tools --disable-nls \
-    --disable-perl-regexp
+    --disable-perl-regexp --without-included-regex
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 endif
index 6716a9569620f0c356f890e442fb646d1856496a..6804849a893b708cdca9699147920275e91dfe38 100644 (file)
@@ -27,11 +27,7 @@ include Config
 VER        = ipfire
 
 THISAPP    = hwdata
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -53,11 +49,6 @@ md5 :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-ifeq "$(LFS_PASS)" "install"
-       -mkdir -p -m 755 /install/initrd/usr/share/hwdata
-       install -m 644 $(DIR_SRC)/src/hwdata/*.ids /install/initrd/usr/share/hwdata
-else
        -mkdir -p -m 755 /usr/share/hwdata
        install -m 644 $(DIR_SRC)/src/hwdata/*.ids /usr/share/hwdata
-endif
        @$(POSTBUILD)
index 092211bc8c9b8398fd2ce8f8a3b4a4dca990e0fe..51654c5ad6db6c40025f06cfc6703ff9eff55e02 100644 (file)
@@ -77,6 +77,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_SRC)/imspector && sed -e "s/^SSL_LIBS.*/& -lcrypto/" -i Makefile
        cd $(DIR_SRC)/imspector && make install
        -mv /usr/etc/imspector /etc/imspector
        -mv /etc/imspector/imspector /etc/imspector
index 03cf5deab46ce365347cbb7a3ea2fd1f5cfda4ae..87a137eb1f3d01dcec144351c349769578df51c5 100644 (file)
@@ -72,6 +72,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4_fixes-3.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-daemon_fixes-1.patch
+       cd $(DIR_APP) && sed -i '/#include/a #include <stdlib.h>' libicmp/icmp_timestamp.c
        cd $(DIR_APP) && ./configure --prefix=/usr --libexecdir=/usr/sbin \
                                --sysconfdir=/etc --localstatedir=/var \
                                --mandir=/usr/share/man --infodir=/usr/share/info \
diff --git a/lfs/kbd b/lfs/kbd
index 72e509f0d0e0d5a9e02e8aa76031f6eaab6fb713..1c9924279826e38c26702ad116da225d09b8c34c 100644 (file)
--- a/lfs/kbd
+++ b/lfs/kbd
@@ -30,11 +30,7 @@ THISAPP    = kbd-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -78,21 +74,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-more-programs-1.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-backspace-1.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-gcc4_fixes-1.patch
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && CFLAGS="-Os -fomit-frame-pointer" ./configure --disable-nls
-       cd $(DIR_APP)/src && make CFLAGS="-Os -fomit-frame-pointer" DATA_DIR=/lib/kbd BINDIR=/bin setfont kbd_mode dumpkeys loadkeys loadunimap showconsolefont
-       cd $(DIR_APP)/src && install -m 0755 setfont loadunimap kbd_mode dumpkeys loadkeys showconsolefont unicode_start unicode_stop /install/initrd/bin
-       mkdir -p /install/initrd/lib/kbd/consolefonts
-       cd $(DIR_APP) && install -m 0644 data/consolefonts/lat0-16.psfu /install/initrd/lib/kbd/consolefonts
-       cd $(DIR_APP) && install -m 0644 data/consolefonts/lat1-16.psfu /install/initrd/lib/kbd/consolefonts
-       cd $(DIR_APP) && install -m 0644 data/consolefonts/lat2-16.psfu /install/initrd/lib/kbd/consolefonts
-       cd $(DIR_APP) && install -m 0644 data/consolefonts/lat5-16.psfu /install/initrd/lib/kbd/consolefonts
-       cd $(DIR_APP) && install -m 0644 data/consolefonts/iso07u-16.psfu /install/initrd/lib/kbd/consolefonts
-else
        cd $(DIR_APP) && ./configure --datadir=/lib/kbd --disable-nls
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        mv -v /usr/bin/{kbd_mode,openvt,setfont} /bin
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index f66c3252ffc7a7925d488c919e7f83f78eb519a6..bc5ed020bb58d2a4d0f998d9565a35f73cefdf63 100644 (file)
--- a/lfs/kudzu
+++ b/lfs/kudzu
@@ -30,11 +30,7 @@ THISAPP    = kudzu-$(VER)
 DL_FILE    = kudzu-$(VER).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -75,18 +71,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/kudzu-usbnet.patch
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && patch -N < $(DIR_SRC)/src/patches/kudzu-link-lintl.diff
-       cd $(DIR_APP) && make RPM_OPT_FLAGS="-O2 -I/opt/$(MACHINE)-uClibc/include" \
-               ARCH=$(MACHINE)
-       cd $(DIR_APP) && install -m 0755 kudzu /install/initrd/bin/kudzu
-       #cd $(DIR_APP) && install -m 0644 libkudzu.a /install/initrd/lib
-       #cd $(DIR_APP) && install -m 0644 libkudzu_loader.a /install/initrd/lib
-else
        rm -rf /usr/sbin/kudzu
        cd $(DIR_APP) && ARCH=$(MACHINE) RPM_OPT_FLAGS="$(CFLAGS)" make
        cd $(DIR_APP) && ARCH=$(MACHINE) RPM_OPT_FLAGS="$(CFLAGS)" make install
        cd $(DIR_APP) && ARCH=$(MACHINE) RPM_OPT_FLAGS="$(CFLAGS)" make install-program
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index d1747752eeb3766c1bf53905ef509fc17eac5adf..ea557d9132f5c2b6dace8842d514f715ae4e0cd1 100644 (file)
--- a/lfs/libnl
+++ b/lfs/libnl
@@ -73,6 +73,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/libnl-1.1-ULONG_MAX.patch
        cd $(DIR_APP) && ln -s /usr/src/linux/include/linux/if_vlan.h \
                                              include/linux/if_vlan.h
        cd $(DIR_APP) && ln -s /usr/src/linux/include/linux/netfilter/nf_conntrack_common.h \
index bd9c02256e6a7df9c144ba83e46a148b897b7ef0..41a1c7f0cf6b837d549185e57f3dac43a6af86fe 100644 (file)
 
 include Config
 
-VER        = 1.1.4
+VER        = 1.3.0
 
 THISAPP    = libogg-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = libogg
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = ""
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 10200ec22543841d9d1c23e0aed4e5e9
+$(DL_FILE)_MD5 = 84a35715170f2cd4c77a4448772b95d5
 
 install : $(TARGET)
 
@@ -76,7 +76,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make install
index 3b6d0f9d28558745f25cb2d205afaa59939daa79..8213e3991d95da50d0e89b570bb808b8aaaa1042 100644 (file)
 
 include Config
 
-VER        = 1.2.3
+VER        = 1.3.3
 
 THISAPP    = libvorbis-$(VER)
-DL_FILE    = $(THISAPP).tar.bz2
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = libvorbis
-PAK_VER    = 3
+PAK_VER    = 4
 
 DEPS       = "libogg"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 67beb237faf97d74782ec7071756b2b6
+$(DL_FILE)_MD5 = 71b649d3e08e63ece16649df906ce8b9
 
 install : $(TARGET)
 
@@ -76,11 +76,9 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
-       #cd $(DIR_APP) && sed -i.bak -e 's/-mno-ieee-fp//' lib/Makefile
        cd $(DIR_APP) && make install
-       cd $(DIR_APP) && install -v -m644 doc/Vorbis* /usr/share/doc/libvorbis-1.2.3
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/m4 b/lfs/m4
index df4b6a9470aff719fe08da28cb46a00cdc429b6d..462022195999eb83e21ca4ff961b588a751eaf61 100644 (file)
--- a/lfs/m4
+++ b/lfs/m4
@@ -36,13 +36,11 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
   EXTRA_CONFIG = --prefix=/usr --disable-nls
-  EXTRA_LDFLAGS =
   EXTRA_MAKE =
   EXTRA_INSTALL =
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
   EXTRA_CONFIG = --prefix=/tools --disable-nls
-  EXTRA_LDFLAGS = -static
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 endif
@@ -85,7 +83,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && LDFLAGS="$(EXTRA_LDFLAGS)" ./configure $(EXTRA_CONFIG)
+       cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make $(EXTRA_INSTALL) install
        @rm -rf $(DIR_APP)
index 13968fb509cac7074d91f551874e06eae8920ef2..5650230f9353368b8ea03db5d1bee21a8555e3e9 100644 (file)
--- a/lfs/make
+++ b/lfs/make
@@ -43,7 +43,7 @@ ifeq "$(ROOT)" ""
   EXTRA_MAKE =
   EXTRA_INSTALL =
 else
-  TARGET = $(DIR_INFO)/$(THISAPP)-tools-pass$(PASS)
+  TARGET = $(DIR_INFO)/$(THISAPP)-tools
   EXTRA_CONFIG = --prefix=/tools --disable-nls
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
index e59b305992d8e7477ef168fa325d338d1db48f52..6902ccac19165116982fce88e9e8bb5dc93a1bcc 100644 (file)
@@ -28,11 +28,7 @@ VER = ipfire
 
 THISAPP    = misc-progs
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -53,10 +49,6 @@ md5 :
 $(TARGET) :
        @$(PREBUILD)
        @rm -rf $(DIR_APP) $(DIR_SRC)/install+setup && cp -R $(DIR_SRC)/src/misc-progs/ $(DIR_SRC)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && make CFLAGS="-Os -fomit-frame-pointer" iowrap
-       cd $(DIR_APP) && install -m 0755 iowrap /install/initrd/bin
-else
        cp -R $(DIR_SRC)/src/install+setup/ $(DIR_SRC)
        for i in $(DIR_SRC)/langs/*/install/lang_*.c ; do \
            cp $$i $(DIR_SRC)/install+setup/libsmooth; \
@@ -67,6 +59,5 @@ else
             -DSLOGAN='\"$(SLOGAN)\"' -DCONFIG_ROOT='\"$(CONFIG_ROOT)\"'" 
        cd $(DIR_APP) && make CFLAGS="$(CFLAGS) -Wall -DCONFIG_ROOT='\"$(CONFIG_ROOT)\"' -DSNAME='\"$(SNAME)\"'"
        cd $(DIR_APP) && make install
-endif
        @rm -rf $(DIR_APP) $(DIR_SRC)/install+setup
        @$(POSTBUILD)
similarity index 91%
rename from lfs/hddtemp
rename to lfs/mpfr
index 9533f67f85a588e4179dae8c4d7452f9be09d968..de5e006dc1185cd02bcbb9abfea9f37f06ff49a5 100644 (file)
+++ b/lfs/mpfr
@@ -24,9 +24,9 @@
 
 include Config
 
-VER        = 0.3-beta14
+VER        = 2.4.2
 
-THISAPP    = hddtemp-$(VER)
+THISAPP    = mpfr-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = bbf8be4539495e18bec54af77511a680
+$(DL_FILE)_MD5 = 89e59fe665e2b3ad44a6789f40b059a0
 
 install : $(TARGET)
 
@@ -70,7 +70,9 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --with-db-path=/etc/hddtemp.db
-       cd $(DIR_APP) && make $(MAKETUNING) && make install
+       cd $(DIR_APP) && $(CONFIGURE_ARGS) ./configure --prefix=/usr \
+               --enable-thread-safe --disable-nls
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 0b7bbb7860244b48b9e6ba002c7e2bb4b17df207..3c7be4d0e85b3637949aec567eaf0273d7df2dde 100644 (file)
@@ -48,8 +48,6 @@ else
   EXTRA_INSTALL = 
 endif
 
-EXTRA_CONFIG += --build=$(BUILDTARGET)
-
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index 7ee4a196b5e71a113aef575673e6f278d840cc78..5af5e47c718b8f672477d792b614bb7f99871dee 100644 (file)
@@ -77,6 +77,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP)/converter && patch -Np1 < $(DIR_SRC)/src/patches/netpbm-10.26.46-getline.patch
        cp $(DIR_SRC)/config/netpbm/Makefile.config $(DIR_APP)
        cd $(DIR_APP) && make
        cd $(DIR_APP) && make package PKGDIR=/usr/local/netpbm
index 34b0f69afa6e966bca2fc081d0c6dc5e34bc5403..b5c57d0d6b017bc6b8c9f41589814b964b551c49 100644 (file)
--- a/lfs/newt
+++ b/lfs/newt
@@ -30,11 +30,7 @@ THISAPP    = newt-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -75,20 +71,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/newt-0.51.6-if1close.patch
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --without-gpm-support --host $(MACHINE)-uclibc
-       cd $(DIR_APP) && sed -i 's%^CFLAGS.*$$%CFLAGS = -Os -fomit-frame-pointer -Wall -D_GNU_SOURCE -DUTF8 -I/opt/i586-uClibc/include%' Makefile
-       cd $(DIR_APP) && make libnewt.a
-       -mkdir -p /opt/$(MACHINE)-uClibc/{include,lib}
-       cd $(DIR_APP) && install -m 0644 libnewt.a /opt/$(MACHINE)-uClibc/lib/libnewt.a
-       cd $(DIR_APP) && install -m 0644 newt.h /opt/$(MACHINE)-uClibc/include/newt.h
-else
        cd $(DIR_APP) && ./configure --without-gpm-support
        cd $(DIR_APP) && sed -i 's%^CFLAGS.*$$%CFLAGS = $(CFLAGS) -Wall -D_GNU_SOURCE%' Makefile
        cd $(DIR_APP) && make
        cd $(DIR_APP) && make install
        cd $(DIR_APP) && install -m 0644 newt.h /usr/include
        ln -sf libnewt.so.0.51 /usr/lib/libnewt.so
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 9771ae44108b758fb3bf2eabea658ebeb904c0d7..aca5ed75d5539cc0db2612e084334322a75a7d93 100644 (file)
@@ -36,6 +36,8 @@ PAK_VER    = 2
 
 DEPS       = ""
 
+export CPPFLAGS = -D_GNU_SOURCE
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
index a17b692e83076ae9d420410932433986eb72d7fb..164a02747a095a23f7c250ff29014b2a075e98f6 100644 (file)
@@ -30,11 +30,7 @@ THISAPP    = pciutils-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
index 67ad5601fb8be7b273e49e01fe6a334f0ba7f18b..c80208e7036a7eb50bb4a952b3af767712f61f16 100644 (file)
@@ -30,13 +30,7 @@ THISAPP    = pcmciautils-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-
-ifeq "$(LFS_PASS)" "install"
-    TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-    TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
-
+TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = pcmciautils
 PAK_VER    = 1
 DEPS       = ""
@@ -82,21 +76,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-
-ifeq "$(LFS_PASS)" "install"
-       ln -f -s ../../../../../include/sysfs /opt/$(MACHINE)-uClibc/lib/gcc/$(MACHINE)-linux-uclibc/4.0.4/include/sysfs
-       cd $(DIR_APP) && make
-       cd $(DIR_APP) && install -m 755 pccardctl /install/initrd/sbin/
-       ln -f -s pccardctl /install/initrd/sbin/lspcmcia
-       cd $(DIR_APP) && install -m 755 pcmcia-check-broken-cis /install/initrd/sbin/
-       cd $(DIR_APP) && install -m 755 pcmcia-socket-startup /install/initrd/sbin/
-       cp -f /etc/udev/rules.d/60-pcmcia.rules /install/initrd/etc/udev/rules.d/60-pcmcia.rules
-       mkdir -p /install/initrd/etc/pcmcia
-       cp -f /etc/pcmcia/config.opts /install/initrd/etc/pcmcia/config.opts
-else
        cd $(DIR_APP) && make
        cd $(DIR_APP) && make install
        @sed -i -e 's/ MODALIAS=="?[*]",//g' /etc/udev/rules.d/60-pcmcia.rules
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 25fcc69cbb2a3605335e812b4335504cb3fa9988..4fffc78a7cbb12245dae9e630cd36669cb983b04 100644 (file)
--- a/lfs/popt
+++ b/lfs/popt
@@ -30,11 +30,7 @@ THISAPP    = popt-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-       TARGET = $(DIR_INFO)/$(THISAPP)-install
-else
-       TARGET = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -74,16 +70,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --prefix=/ --disable-nls
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make DESTDIR=/opt/$(MACHINE)-uClibc install
-else
        cd $(DIR_APP) && sed -i -e "/*origOptString ==/c 0)" popt.c
        cd $(DIR_APP) && autoreconf -f -i
        cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index e3237c34a94fecf0710a9afba473dc05731308ee..8edb89b6c60879ad5c0a2481c0c68c6bebba3ce6 100644 (file)
--- a/lfs/pptp
+++ b/lfs/pptp
@@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/pptp-1.7.2-compat.patch
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index da2ea34ba24421d9c12d52497dd54bd3cfc79c24..d68b97d1e5667a66320706b962c576f742886222 100644 (file)
--- a/lfs/qemu
+++ b/lfs/qemu
@@ -78,12 +78,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-
-       cd $(DIR_APP) && sed -i -e 's|CFLAGS+="-march=i486"|CFLAGS+=""|g' configure
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/qemu-0.15.0_missing_definitions_hack.patch
-
        cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
-               --target-list="i386-linux-user i386-softmmu arm-softmmu"
+               --target-list="i386-linux-user i386-softmmu arm-softmmu" \
+               --extra-cflags="$(CFLAGS)"
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        @rm -rf $(DIR_APP)
index b78baefbfd46fc04cb6c0cb8690c585436e602b7..402753ee02597d9cef162fead7cc96cda0df0675 100644 (file)
@@ -30,11 +30,7 @@ THISAPP    = reiserfsprogs-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-       TARGET = $(DIR_INFO)/$(THISAPP)-install
-else
-       TARGET = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -74,16 +70,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --prefix=/ --sbindir=/sbin
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && install -v -m 755 mkreiserfs/mkreiserfs /install/initrd/sbin/mkreiserfs
-else
        cd $(DIR_APP) && ./configure --prefix=/usr --sbindir=/sbin
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        ln -svf reiserfsck /sbin/fsck.reiserfs
        ln -svf mkreiserfs /sbin/mkfs.reiserfs
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/lfs/sed b/lfs/sed
index 22b820407feb8e986473b3c4e278b588d3c84bb3..8904fd42906aa2837ddb2a210894cbe2f2d0b152 100644 (file)
--- a/lfs/sed
+++ b/lfs/sed
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.1.5
+VER        = 4.2.1
 
 THISAPP    = sed-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -36,13 +36,11 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
   EXTRA_CONFIG = --prefix=/usr --bindir=/bin --disable-nls
-  EXTRA_LDFLAGS =
   EXTRA_MAKE =
   EXTRA_INSTALL =
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
   EXTRA_CONFIG = --prefix=/tools --disable-nls
-  EXTRA_LDFLAGS =
   EXTRA_MAKE = 
   EXTRA_INSTALL = 
 endif
@@ -55,7 +53,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 7a1cbbbb3341287308e140bd4834c3ba
+$(DL_FILE)_MD5 = f0fd4d7da574d4707e442285fd2d3b86
 
 install : $(TARGET)
 
@@ -85,7 +83,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && LDFLAGS="$(EXTRA_LDFLAGS)" ./configure $(EXTRA_CONFIG)
+       cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
        cd $(DIR_APP) && make $(EXTRA_INSTALL) install
        @rm -rf $(DIR_APP)
index 542d32ff100aa07f34ae22b0ad724b675e7ee1e0..e6c8cc88d3d2f90d746240c120067f8ebdb65f60 100644 (file)
--- a/lfs/slang
+++ b/lfs/slang
@@ -30,11 +30,7 @@ THISAPP    = slang-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -78,13 +74,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/slang-utf8-acs.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/slang-1.4.5-utf8-segv.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/slang-utf8-fix.patch
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/slang-1.4.9-uclibc.patch
-       cd $(DIR_APP) && ./configure --prefix=""
-       cd $(DIR_APP)/src && make $(MAKETUNING) $(EXTRA_MAKE)
-       cd $(DIR_APP)/src && make install DESTDIR="/opt/$(MACHINE)-uClibc"
-       ln -sf libslang-utf8.a /opt/$(MACHINE)-uClibc/lib/libslang.a
-else
        perl -p -i -e 's/(ELF_CFLAGS=\"[^\"]*)-O2([^\"]*\".*)/$1'"$(CFLAGS)"' $2/gs' configure
        cd $(DIR_APP) && ./configure --prefix=/usr
        cd $(DIR_APP) && make elf all
@@ -92,6 +81,5 @@ else
        ln -sf libslang-utf8.so.1.4.9 /usr/lib/libslang-utf8.so.1
        ln -sf libslang-utf8.so /usr/lib/libslang.so
        ln -sf libslang-utf8.a /usr/lib/libslang.a
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 5f038c325024f8fa25295aea1179d9dea84be707..04291d6e47cb97b3de78ea497c384bbbf288be41 100644 (file)
@@ -63,9 +63,11 @@ $(TARGET) :
        
        # Symlinks
        # for this reason, stage2 rebuild will broke the iso:perl, grubbatch
-       -ln -sv /tools/bin/{bash,cat,grep,pwd,stty} /bin
+       -ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin
        -ln -sv /tools/bin/perl /usr/bin
        -ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
+       -ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
+       sed 's/tools/usr/' /tools/lib/libstdc++.la > /usr/lib/libstdc++.la
        -ln -sv bash /bin/sh
 
        # Config files
index 169419e8a8291368e2764da46d547c351c45ba24..3ae1bde6f5241b69de99eab65661b2913b227c9f 100644 (file)
--- a/lfs/strip
+++ b/lfs/strip
@@ -46,25 +46,4 @@ md5 :
 ###############################################################################
 
 $(TARGET) :
-
-ifeq "$(LFS_PASS)" "toolchain"
-       -find $(TOOLS_DIR)/lib -type f -exec $(TOOLS_DIR)/bin/strip --strip-debug '{}' ';'
-       -find $(TOOLS_DIR)/{bin,sbin,libexec} -type f -exec $(TOOLS_DIR)/bin/strip --strip-all '{}' ';'
-       rm -rf $(TOOLS_DIR)/{,share/}{doc,info,man}
-endif
-
-ifeq "$(LFS_PASS)" "install"
-       # Add -ls before -exec if you want to verify what files are in the path to be stripped
-       # A running binary can't be stripped, so use the version from /tools
-       # It may fail (signal 11) under circonstance not identified by me (Gilles),
-       # to strip libc again so ignore the error now. Probably need a static strip for libc
-       # Don't use --strip-all on libraries, or they'll be destroyed. Don't use --strip-unneeded, either.
-       -/tools/bin/find /lib /usr/lib /usr/share/rrdtool-* /install/initrd/lib \
-               -type f \( -name '*.so' -o -name '*.so[\.0-9]*' \) \
-               -exec /tools/bin/strip --strip-debug {} \; 2>/dev/null
-
-       -/tools/bin/strip --strip-all /{,usr/}{,local/}{bin,sbin}/* /install/{initrd,misc}/bin/* /usr/lib/cyrus/* 2>/dev/null
-       -/tools/bin/strip --strip-all /usr/lib/awk/{grcat,pwcat} 2>/dev/null
-       -/tools/bin/strip --strip-all /usr/lib/gcc/*-linux-gnu/4.0.4/{cc1*,collect2} 2>/dev/null
-endif
-
+       STRIP="/tools/bin/strip" $(DIR_SRC)/src/stripper /
index 297f7708ba48b594901af7e4f653ac8292d9dfd9..4980f5e178f2f71e7eb2d864ea5ae62d97494c2f 100644 (file)
@@ -31,11 +31,7 @@ DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
-ifeq "$(LFS_PASS)" "install"
-       TARGET = $(DIR_INFO)/$(THISAPP)-install
-else
-       TARGET = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -75,15 +71,8 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --prefix="" --disable-shared
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make DESTDIR=/opt/$(MACHINE)-uClibc install
-       mv -v /opt/$(MACHINE)-uClibc/usr/include/sysfs /opt/$(MACHINE)-uClibc/include
-else
        cd $(DIR_APP) && ./configure --prefix=""
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 2167b99789840ba7f21afc11d894c306044f05e6..3f16dd9815ebcbbec99b0f4637a6252d0b5c8f05 100644 (file)
@@ -30,11 +30,7 @@ THISAPP    = sysvinit-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -74,16 +70,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP)/src && sed -i s'/-O2/-Os\ -fomit-frame-pointer/' Makefile
-       cd $(DIR_APP)/src && make killall5
-       cd $(DIR_APP)/src && install -m 0755 killall5 /install/initrd/bin
-else
        cd $(DIR_APP) && cp src/init.c{,.backup}
        cd $(DIR_APP) && sed -i 's@Sending processes@& started by init@g' \
                                src/init.c
        cd $(DIR_APP) && make $(MAKETUNING) -C src 
        cd $(DIR_APP) && make -C src install
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index decdce8bbb5ab7df6c557ef5546b26002199988a..082285c4f8183201de81ee21cf768a3b0b6d6e9a 100644 (file)
--- a/lfs/udev
+++ b/lfs/udev
@@ -30,11 +30,7 @@ THISAPP    = udev-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-       TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-       TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
index 3dac54d8692e40f075ceb19adcc29761d703b5cd..a39416601dc95d633a078e03e1446e8b6da3a34b 100644 (file)
@@ -30,18 +30,7 @@ THISAPP    = util-linux-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-
-# Normal build or /tools build.
-#
-ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "install"
-  TARGET = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET = $(DIR_INFO)/$(THISAPP)
-endif
-else
-  TARGET = $(DIR_INFO)/$(THISAPP)-tools
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -82,16 +71,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/util-linux-2.12r-umount-no-special.patch
-ifeq "$(ROOT)" ""
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && CFLAGS="-Os -fomit-frame-pointer" ./configure
-       cd $(DIR_APP) && echo "HAVE_SLANG=yes" >> make_include
-       cd $(DIR_APP) && echo "SLANGFLAGS=-I/opt/$(MACHINE)-uClibc/include" >> make_include
-       cd $(DIR_APP)/fdisk && make cfdisk
-       cd $(DIR_APP)/fdisk && make sfdisk
-       cd $(DIR_APP)/fdisk && install -m 0755 cfdisk /install/initrd/bin
-       cd $(DIR_APP)/fdisk && install -m 0755 sfdisk /install/initrd/bin
-else
        cd $(DIR_APP) && sed -i 's@etc/adjtime@var/lib/hwclock/adjtime@g' \
                                hwclock/hwclock.c
        -mkdir -p /var/lib/hwclock
@@ -100,14 +79,5 @@ else
        cd $(DIR_APP) && ./configure
        cd $(DIR_APP) && make $(MAKETUNING) HAVE_KILL=yes HAVE_SLN=yes
        cd $(DIR_APP) && make HAVE_KILL=yes HAVE_SLN=yes install
-endif
-else
-       cd $(DIR_APP) && sed -i 's@/usr/include@/tools/include@g' configure
-       cd $(DIR_APP) && ./configure
-       cd $(DIR_APP) && make $(MAKETUNING) -C lib
-       cd $(DIR_APP) && make $(MAKETUNING) -C mount mount umount
-       cd $(DIR_APP) && make $(MAKETUNING) -C text-utils more
-       cd $(DIR_APP) && cp mount/{,u}mount text-utils/more /tools/bin
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 0c29155f00c42ce855a97810806d6daaea611a4a..ce55e76f051626726a4ca3437a62d04042f80578 100644 (file)
--- a/lfs/wget
+++ b/lfs/wget
@@ -30,11 +30,7 @@ THISAPP    = wget-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
 
 ###############################################################################
 # Top-level Rules
@@ -74,15 +70,9 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --prefix=/ --disable-nls --disable-ipv6
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP)/src && install -m 755 wget /install/initrd/bin
-else
        cd $(DIR_APP) && ./configure --prefix=/usr --with-ssl \
                                        --disable-nls --disable-ipv6
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 0dd83d33afa052e3f854c14d8b17de0755e9b59a..2a548be832f76a448098b0cb4db36d4aeba7f179 100644 (file)
@@ -77,6 +77,9 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && sed -i "/include/a #include <sys\/stat.h>" \
+               libxfs/xfs_ialloc.c quota/quot.c mdrestore/xfs_mdrestore.c \
+               rtcp/xfs_rtcp.c
        cd $(DIR_APP) && make DEBUG=-DNDEBUG INSTALL_USER=root INSTALL_GROUP=root \
                                                                                                LOCAL_CONFIGURE_OPTIONS="--enable-readline=yes"
        cd $(DIR_APP) && make install
index a5a6849acb7211535a22f8dcf459dfc6ca2a3136..1f47d652ee812e0ecbe8df26f12e721e5746dcaf 100644 (file)
--- a/lfs/zlib
+++ b/lfs/zlib
@@ -30,11 +30,8 @@ THISAPP    = zlib-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
-ifeq "$(LFS_PASS)" "install"
-  TARGET     = $(DIR_INFO)/$(THISAPP)-install
-else
-  TARGET     = $(DIR_INFO)/$(THISAPP)
-endif
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
 CFLAGS    += -fPIC
 
 ###############################################################################
@@ -74,12 +71,6 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
-ifeq "$(LFS_PASS)" "install"
-       cd $(DIR_APP) && ./configure --prefix=/opt/$(MACHINE)-uClibc    
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-       chmod -v 644 /opt/$(MACHINE)-uClibc/lib/libz.a
-else
        cd $(DIR_APP) && ./configure --prefix=/usr --shared --libdir=/lib
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
@@ -90,6 +81,5 @@ else
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        chmod -v 644 /usr/lib/libz.a
-endif
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 58f2dfaeefb250ba8358f091234cea12699a3ed8..b250ee69a760876d920eb058256aefd11109b30f 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -37,7 +37,7 @@ KVER=`grep --max-count=1 VER lfs/linux | awk '{ print $3 }'`
 MACHINE=`uname -m`
 GIT_TAG=$(git tag | tail -1)                                   # Git Tag
 GIT_LASTCOMMIT=$(git log | head -n1 | cut -d" " -f2 |head -c8) # Last commit
-TOOLCHAINVER=4
+TOOLCHAINVER=5
 
 BUILDMACHINE=$MACHINE
     if [ "$MACHINE" = "x86_64" ]; then
@@ -265,24 +265,23 @@ buildtoolchain() {
 
     LOGFILE="$BASEDIR/log/_build.toolchain.log"
     export LOGFILE
-    NATIVEGCC=`gcc --version | grep GCC | awk {'print $3'}`
-    export NATIVEGCC GCCmajor=${NATIVEGCC:0:1} GCCminor=${NATIVEGCC:2:1} GCCrelease=${NATIVEGCC:4:1}
-    ORG_PATH=$PATH
-    lfsmake1 ccache    PASS=1
-    lfsmake1 make      PASS=1
-    lfsmake1 linux2 TOOLS=1 HEADERS=1
-    lfsmake1 binutils  PASS=1
-    lfsmake1 gcc               PASS=1
-    export PATH=$BASEDIR/build/usr/local/bin:$BASEDIR/build/tools/bin:$PATH
+
+    local ORG_PATH=$PATH
+    export PATH="/tools/ccache/bin:/tools/bin:$PATH"
+    lfsmake1 fake-environ              PASS=1
+    lfsmake1 ccache                    PASS=1
+    lfsmake1 binutils                  PASS=1
+    lfsmake1 gcc                       PASS=1
+    lfsmake1 linux2                    TOOLS=1 HEADERS=1
     lfsmake1 glibc
-    lfsmake1 cleanup-toolchain PASS=1
-    lfsmake1 fake-environ
+    lfsmake1 cleanup-toolchain         PASS=1
+    lfsmake1 binutils                  PASS=2
+    lfsmake1 gcc                       PASS=2
+    lfsmake1 fake-environ              PASS=2
+    lfsmake1 ccache                    PASS=2
     lfsmake1 tcl
     lfsmake1 expect
     lfsmake1 dejagnu
-    lfsmake1 gcc               PASS=2
-    lfsmake1 binutils  PASS=2
-    lfsmake1 ccache    PASS=2
     lfsmake1 ncurses
     lfsmake1 bash
     lfsmake1 bzip2
@@ -294,15 +293,13 @@ buildtoolchain() {
     lfsmake1 grep
     lfsmake1 gzip
     lfsmake1 m4
-    lfsmake1 make      PASS=2
+    lfsmake1 make
     lfsmake1 patch
     lfsmake1 perl
     lfsmake1 sed
     lfsmake1 tar
     lfsmake1 texinfo
-    lfsmake1 util-linux
-    lfsmake1 strip
-    lfsmake1 cleanup-toolchain PASS=2
+    lfsmake1 cleanup-toolchain         PASS=2
     export PATH=$ORG_PATH
 }
 
@@ -310,13 +307,19 @@ buildbase() {
     LOGFILE="$BASEDIR/log/_build.base.log"
     export LOGFILE
     lfsmake2 stage2
-    lfsmake2 linux2 HEADERS=1
+    lfsmake2 linux2                    HEADERS=1
     lfsmake2 man-pages
     lfsmake2 glibc
     lfsmake2 tzdata
-    lfsmake2 cleanup-toolchain PASS=3
+    lfsmake2 cleanup-toolchain         PASS=3
+    lfsmake2 zlib
     lfsmake2 binutils
+    lfsmake2 gmp
+    lfsmake2 gmp-compat
+    lfsmake2 mpfr
+    lfsmake2 file
     lfsmake2 gcc
+    lfsmake2 sed
     lfsmake2 berkeley
     lfsmake2 coreutils
     lfsmake2 iana-etc
@@ -324,11 +327,9 @@ buildbase() {
     lfsmake2 bison
     lfsmake2 ncurses
     lfsmake2 procps
-    lfsmake2 sed
     lfsmake2 libtool
     lfsmake2 perl
     lfsmake2 readline
-    lfsmake2 zlib
     lfsmake2 autoconf
     lfsmake2 automake
     lfsmake2 bash
@@ -336,7 +337,6 @@ buildbase() {
     lfsmake2 diffutils
     lfsmake2 e2fsprogs
     lfsmake2 ed
-    lfsmake2 file
     lfsmake2 findutils
     lfsmake2 flex
     lfsmake2 gawk
@@ -484,7 +484,6 @@ buildipfire() {
   ipfiremake dracut
   ipfiremake expat
   ipfiremake gdbm
-  ipfiremake gmp
   ipfiremake pam
   ipfiremake openssl
   ipfiremake curl
@@ -607,7 +606,6 @@ buildipfire() {
   ipfiremake traceroute
   ipfiremake vlan
   ipfiremake wireless
-  ipfiremake libsafe
   ipfiremake pakfire
   ipfiremake spandsp
   ipfiremake lzo
@@ -623,7 +621,6 @@ buildipfire() {
   ipfiremake wget
   ipfiremake bridge-utils
   ipfiremake screen
-  ipfiremake hddtemp
   ipfiremake smartmontools
   ipfiremake htop
 #  ipfiremake postfix               # unknown system type linux 3.2.x
@@ -799,7 +796,6 @@ buildinstaller() {
   ipfiremake mbr
   ipfiremake memtest
   ipfiremake installer
-  cp -f $BASEDIR/doc/COPYING $BASEDIR/build/install/initrd/
   installmake strip
   ipfiremake initrd
 }
@@ -1041,9 +1037,7 @@ toolchain)
        echo "`date -u '+%b %e %T'`: Create toolchain tar.gz for $MACHINE" | tee -a $LOGFILE
        test -d $BASEDIR/cache/toolchains || mkdir -p $BASEDIR/cache/toolchains
        cd $BASEDIR && tar -zc --exclude='log/_build.*.log' -f cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
-               build/{bin,etc,usr/bin,usr/local} \
-               build/tools/{bin,etc,*-linux-gnu*,include,lib,libexec,sbin,share,var} \
-               log >> $LOGFILE
+               build/tools log >> $LOGFILE
        md5sum cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.tar.gz \
                > cache/toolchains/$SNAME-$VERSION-toolchain-$TOOLCHAINVER-$MACHINE.md5
        stdumount
index a3c95f7515b0f29e71742a12555e5ebae1e7c08e..89106de2280311a9e462bd2e592007963d6e8684 100644 (file)
 
 CC      = gcc 
 CFLAGS  = -Os -Wall
-INCLUDE = -I/opt/i586-uClibc/include
+INCLUDE =
 
 LD      = gcc
-LDFLAGS = -L/install/lib
+LDFLAGS =
 LIBS    = -lnewt -lslang -lpci
 
 COMPILE = $(CC) -c $(INCLUDE) $(CFLAGS)
index bc09aa62379c362160f99e35cc80dbdaf9933703..5ce869a5f57b3afd6fae8a20c4f3113ceffea019 100644 (file)
@@ -20,7 +20,7 @@
 
 CC      = gcc
 CFLAGS  = -O2 -Wall
-INCLUDE = -I/opt/i586-uClibc/include
+INCLUDE =
 
 LD      = ld
 LDFLAGS = -i
diff --git a/src/patches/binutils-2.18-configure-1.patch b/src/patches/binutils-2.18-configure-1.patch
deleted file mode 100644 (file)
index ae6aaa3..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Submitted By: Matt Burgess (matthew at linuxfromscratch dot org)
-Date: 2007-11-19
-Initial Package Version: 2.18
-Origin: Upstream (http://sourceware.org/cgi-bin/cvsweb.cgi/src/configure.diff?r1=1.268&r2=1.268.2.1&cvsroot=src)
-Upstream Status: Applied
-Description: Fixes the configure script to correctly dictate Texinfo > 4.9.
-
-diff -Naur binutils-2.18.orig/configure binutils-2.18/configure
---- binutils-2.18.orig/configure       2007-08-06 20:29:40.000000000 +0000
-+++ binutils-2.18/configure    2007-11-18 22:37:58.000000000 +0000
-@@ -6128,7 +6128,7 @@
-     # For an installed makeinfo, we require it to be from texinfo 4.4 or
-     # higher, else we use the "missing" dummy.
-     if ${MAKEINFO} --version \
--       | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
-+       | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
-       :
-     else
-       MAKEINFO="$MISSING makeinfo"
diff --git a/src/patches/coreutils-5.96-futimes.patch b/src/patches/coreutils-5.96-futimes.patch
new file mode 100644 (file)
index 0000000..e91f1df
--- /dev/null
@@ -0,0 +1,56 @@
+--- coreutils-6.0.orig/lib/utimens.c   2006-06-11 09:14:31.000000000 +0200
++++ coreutils-6.0/lib/utimens.c        2007-07-17 00:41:08.000000000 +0200
+@@ -75,7 +75,7 @@
+    Return 0 on success, -1 (setting errno) on failure.  */
+ int
+-futimens (int fd ATTRIBUTE_UNUSED,
++cu_futimens (int fd ATTRIBUTE_UNUSED,
+         char const *file, struct timespec const timespec[2])
+ {
+   /* There's currently no interface to set file timestamps with
+@@ -168,5 +168,5 @@
+ int
+ utimens (char const *file, struct timespec const timespec[2])
+ {
+-  return futimens (-1, file, timespec);
++  return cu_futimens (-1, file, timespec);
+ }
+--- coreutils-6.0.orig/lib/utimens.h   2004-11-23 21:41:51.000000000 +0100
++++ coreutils-6.0/lib/utimens.h        2007-07-17 00:41:31.000000000 +0200
+@@ -1,3 +1,3 @@
+ #include "timespec.h"
+-int futimens (int, char const *, struct timespec const [2]);
++int cu_futimens (int, char const *, struct timespec const [2]);
+ int utimens (char const *, struct timespec const [2]);
+--- coreutils-6.0.orig/src/copy.c      2007-07-16 23:18:42.000000000 +0200
++++ coreutils-6.0/src/copy.c   2007-07-17 00:43:10.000000000 +0200
+@@ -648,7 +648,7 @@
+       timespec[0] = get_stat_atime (src_sb);
+       timespec[1] = get_stat_mtime (src_sb);
+-      if (futimens (dest_desc, dst_name, timespec) != 0)
++      if (cu_futimens (dest_desc, dst_name, timespec) != 0)
+       {
+         error (0, errno, _("preserving times for %s"), quote (dst_name));
+         if (x->require_preserve)
+--- coreutils-6.0.orig/src/touch.c     2005-11-02 11:01:07.000000000 +0100
++++ coreutils-6.0/src/touch.c  2007-07-17 00:43:51.000000000 +0200
+@@ -167,7 +167,7 @@
+   if (amtime_now)
+     {
+-      /* Pass NULL to futimens so it will not fail if we have
++      /* Pass NULL to cu_futimens so it will not fail if we have
+        write access to the file, but don't own it.  */
+       t = NULL;
+     }
+@@ -182,7 +182,7 @@
+       t = timespec;
+     }
+-  ok = (futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0);
++  ok = (cu_futimens (fd, (fd == STDOUT_FILENO ? NULL : file), t) == 0);
+   if (fd == STDIN_FILENO)
+     {
diff --git a/src/patches/dbus-1.0.3-compile-fix-1.patch b/src/patches/dbus-1.0.3-compile-fix-1.patch
new file mode 100644 (file)
index 0000000..86fd2b3
--- /dev/null
@@ -0,0 +1,11 @@
+--- dbus-1.0.1.orig/dbus/dbus-sysdeps-unix.c   2009-01-01 03:50:33.000000000 +0200
++++ dbus-1.0.1.orig/dbus/dbus-sysdeps-unix.c   2009-01-01 04:09:24.000000000 +0200
+@@ -992,7 +992,7 @@ 
+   _dbus_verbose ("read credentials byte\n");
+   {
+-#ifdef SO_PEERCRED
++#if defined(SO_PEERCRED) && defined(HAVE_GETPEERUCRED)
+     struct ucred cr;   
+     int cr_len = sizeof (cr);
+    
diff --git a/src/patches/gcc-4.0.4-specs-1.patch b/src/patches/gcc-4.0.4-specs-1.patch
deleted file mode 100644 (file)
index 46521e1..0000000
+++ /dev/null
@@ -1,336 +0,0 @@
-Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
-Date: 2006-01-16
-Initial Package Version: 4.0.0
-Upstream Status: Not Sent - LFS Specfic
-Origin: Idea originally developed by Ryan Oliver and Greg Schafer for
-       the Pure LFS project.
-       More architectures added by Zack Winkles.
-       Further fine tunings by Greg Schafer.
-       Modified for gcc 3.3.2 by Oliver Brakmann.
-Rediffed against gcc 3.4.0 by Zack Winkles.
-       Rediffed against gcc 3.4.3 by Jim Gifford.
-       Rediffed against gcc 4.0.0 by Robert Connolly.
-Description: This patch modifies the location of the dynamic linker for
-       the GCC Pass 2 build in LFS Chapter 5.
-
-diff -Naur gcc-20050116.orig/gcc/config/alpha/linux-elf.h gcc-20050116/gcc/config/alpha/linux-elf.h
---- gcc-20050116.orig/gcc/config/alpha/linux-elf.h     2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/alpha/linux-elf.h  2005-01-17 00:46:14.560651027 +0000
-@@ -27,7 +27,7 @@
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
--#define ELF_DYNAMIC_LINKER    "/lib/ld-linux.so.2"
-+#define ELF_DYNAMIC_LINKER    "/tools/lib/ld-linux.so.2"
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}                \
-   %{O*:-O3} %{!O*:-O1}                                                \
-diff -Naur gcc-20050116.orig/gcc/config/arm/linux-elf.h gcc-20050116/gcc/config/arm/linux-elf.h
---- gcc-20050116.orig/gcc/config/arm/linux-elf.h       2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/arm/linux-elf.h    2005-01-17 00:46:50.538578614 +0000
-@@ -87,7 +87,7 @@
-    %{shared:-shared} \
-    %{symbolic:-Bsymbolic} \
-    %{rdynamic:-export-dynamic} \
--   %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2} \
-    -X \
-    %{mbig-endian:-EB}" \
-    SUBTARGET_EXTRA_LINK_SPEC
-diff -Naur gcc-20050116.orig/gcc/config/frv/linux.h gcc-20050116/gcc/config/frv/linux.h
---- gcc-20050116.orig/gcc/config/frv/linux.h   2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/frv/linux.h        2005-01-17 01:33:50.600805260 +0000
-@@ -41,7 +41,7 @@
-   %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
-   %{!shared: %{!static: \
-    %{rdynamic:-export-dynamic} \
--   %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-    %{static}}"
- /* Support for compile-time default CPU.  */
-diff -Naur gcc-20050116.orig/gcc/config/i386/gnu.h gcc-20050116/gcc/config/i386/gnu.h
---- gcc-20050116.orig/gcc/config/i386/gnu.h    2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/i386/gnu.h 2005-01-17 01:34:11.142021939 +0000
-@@ -27,7 +27,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
-     %{static:-static}}"
- #undef        STARTFILE_SPEC
-diff -Naur gcc-20050116.orig/gcc/config/i386/linux.h gcc-20050116/gcc/config/i386/linux.h
---- gcc-20050116.orig/gcc/config/i386/linux.h  2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/i386/linux.h       2005-01-17 00:49:27.412667132 +0000
-@@ -105,7 +105,7 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
- #define LINK_EMULATION "elf_i386"
--#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
- #undef  SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
-diff -Naur gcc-20050116.orig/gcc/config/i386/linux64.h gcc-20050116/gcc/config/i386/linux64.h
---- gcc-20050116.orig/gcc/config/i386/linux64.h        2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/i386/linux64.h     2005-01-17 00:50:23.055094690 +0000
-@@ -60,8 +60,8 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
--      %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+      %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-+      %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux-x86-64.so.2}}} \
-     %{static:-static}}"
- #define MULTILIB_DEFAULTS { "m64" }
-diff -Naur gcc-20050116.orig/gcc/config/ia64/linux.h gcc-20050116/gcc/config/ia64/linux.h
---- gcc-20050116.orig/gcc/config/ia64/linux.h  2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/ia64/linux.h       2005-01-17 00:50:43.146472133 +0000
-@@ -43,7 +43,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
-       %{static:-static}}"
-diff -Naur gcc-20050116.orig/gcc/config/linux.h gcc-20050116/gcc/config/linux.h
---- gcc-20050116.orig/gcc/config/linux.h       2005-01-17 00:45:16.000000000 +0000
-+++ gcc-20050116/gcc/config/linux.h    2005-01-17 00:51:14.101809663 +0000
-@@ -104,3 +104,7 @@
- #define TARGET_C99_FUNCTIONS 1
- #define TARGET_HAS_F_SETLKW
-+
-+/* Remove /usr/include from the end of the include search path.  */
-+#undef STANDARD_INCLUDE_DIR
-+#define STANDARD_INCLUDE_DIR 0
-diff -Naur gcc-20050116.orig/gcc/config/m32r/linux.h gcc-20050116/gcc/config/m32r/linux.h
---- gcc-20050116.orig/gcc/config/m32r/linux.h  2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/m32r/linux.h       2005-01-17 00:51:39.720640870 +0000
-@@ -66,7 +66,7 @@
-     %{!ibcs: \
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-       %{static:-static}}}"
- #else
- #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
-@@ -74,7 +74,7 @@
-     %{!ibcs: \
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-       %{static:-static}}}"
- #endif
-diff -Naur gcc-20050116.orig/gcc/config/m68k/linux.h gcc-20050116/gcc/config/m68k/linux.h
---- gcc-20050116.orig/gcc/config/m68k/linux.h  2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/m68k/linux.h       2005-01-17 00:52:07.633830392 +0000
-@@ -132,7 +132,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+      %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
-     %{static}}"
- /* For compatibility with linux/a.out */
-diff -Naur gcc-20050116.orig/gcc/config/mips/linux.h gcc-20050116/gcc/config/mips/linux.h
---- gcc-20050116.orig/gcc/config/mips/linux.h  2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/mips/linux.h       2005-01-17 00:52:28.348034505 +0000
-@@ -115,7 +115,7 @@
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-         %{static:-static}}}"
- #undef SUBTARGET_ASM_SPEC
-diff -Naur gcc-20050116.orig/gcc/config/mips/linux64.h gcc-20050116/gcc/config/mips/linux64.h
---- gcc-20050116.orig/gcc/config/mips/linux64.h        2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/mips/linux64.h     2005-01-17 00:53:04.645878728 +0000
-@@ -60,9 +60,9 @@
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
-         %{!dynamic-linker: \
--        %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
--        %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
--        %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
-+        %{mabi=n32: -dynamic-linker /tools/lib32/ld.so.1} \
-+        %{mabi=64: -dynamic-linker /tools/lib64/ld.so.1} \
-+        %{mabi=32: -dynamic-linker /tools/lib/ld.so.1}}} \
-       %{static:-static}}} \
- %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
- %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
-diff -Naur gcc-20050116.orig/gcc/config/mn10300/linux.h gcc-20050116/gcc/config/mn10300/linux.h
---- gcc-20050116.orig/gcc/config/mn10300/linux.h       2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/mn10300/linux.h    2005-01-17 00:53:23.477610026 +0000
-@@ -37,7 +37,7 @@
- #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
--     %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-    %{static:-static}"
- #undef  LIB_SPEC
-diff -Naur gcc-20050116.orig/gcc/config/pa/pa-linux.h gcc-20050116/gcc/config/pa/pa-linux.h
---- gcc-20050116.orig/gcc/config/pa/pa-linux.h 2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/pa/pa-linux.h      2005-01-17 00:53:45.334495141 +0000
-@@ -88,7 +88,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-       %{static:-static}}"
- /* glibc's profiling functions don't need gcc to allocate counters.  */
-diff -Naur gcc-20050116.orig/gcc/config/rs6000/linux64.h gcc-20050116/gcc/config/rs6000/linux64.h
---- gcc-20050116.orig/gcc/config/rs6000/linux64.h      2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/rs6000/linux64.h   2005-01-17 00:54:28.524412534 +0000
-@@ -351,11 +351,11 @@
- #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
- #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib64/ld64.so.1}}}"
- #undef  TOC_SECTION_ASM_OP
- #define TOC_SECTION_ASM_OP \
-diff -Naur gcc-20050116.orig/gcc/config/rs6000/sysv4.h gcc-20050116/gcc/config/rs6000/sysv4.h
---- gcc-20050116.orig/gcc/config/rs6000/sysv4.h        2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/rs6000/sysv4.h     2005-01-17 01:26:39.126999460 +0000
-@@ -1131,7 +1131,7 @@
- #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-@@ -1162,7 +1162,7 @@
- #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
- #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__  \
- %{!undef:                                                     \
-diff -Naur gcc-20050116.orig/gcc/config/s390/linux.h gcc-20050116/gcc/config/s390/linux.h
---- gcc-20050116.orig/gcc/config/s390/linux.h  2005-01-17 00:45:17.000000000 +0000
-+++ gcc-20050116/gcc/config/s390/linux.h       2005-01-17 01:26:58.672523211 +0000
-@@ -86,8 +86,8 @@
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
-       %{!dynamic-linker: \
--          %{m31:-dynamic-linker /lib/ld.so.1} \
--          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+          %{m31:-dynamic-linker /tools/lib/ld.so.1} \
-+          %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-diff -Naur gcc-20050116.orig/gcc/config/sh/linux.h gcc-20050116/gcc/config/sh/linux.h
---- gcc-20050116.orig/gcc/config/sh/linux.h    2005-01-17 00:45:18.000000000 +0000
-+++ gcc-20050116/gcc/config/sh/linux.h 2005-01-17 01:27:19.588663163 +0000
-@@ -70,7 +70,7 @@
-   "%{shared:-shared} \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
--     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-    %{static:-static}"
- #undef LIB_SPEC
-diff -Naur gcc-20050116.orig/gcc/config/sparc/linux.h gcc-20050116/gcc/config/sparc/linux.h
---- gcc-20050116.orig/gcc/config/sparc/linux.h 2005-01-17 00:45:18.000000000 +0000
-+++ gcc-20050116/gcc/config/sparc/linux.h      2005-01-17 01:30:07.282688639 +0000
-@@ -131,13 +131,13 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
- #undef  LINK_SPEC
--#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
-   %{!mno-relax:%{!r:-relax}} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-         %{static:-static}}}"
- /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-diff -Naur gcc-20050116.orig/gcc/config/sparc/linux64.h gcc-20050116/gcc/config/sparc/linux64.h
---- gcc-20050116.orig/gcc/config/sparc/linux64.h       2005-01-17 00:45:18.000000000 +0000
-+++ gcc-20050116/gcc/config/sparc/linux64.h    2005-01-17 01:31:18.242712476 +0000
-@@ -167,21 +167,21 @@
-   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },      \
-   { "link_arch",       LINK_ARCH_SPEC },
-     
--#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-         %{static:-static}}} \
- "
--#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
-         %{static:-static}}} \
- "
-@@ -257,12 +257,12 @@
- #else /* !SPARC_BI_ARCH */
- #undef LINK_SPEC
--#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
-         %{static:-static}}} \
- %{mlittle-endian:-EL} \
- %{!mno-relax:%{!r:-relax}} \
-diff -Naur gcc-20050116.orig/gcc/config/xtensa/linux.h gcc-20050116/gcc/config/xtensa/linux.h
---- gcc-20050116.orig/gcc/config/xtensa/linux.h        2005-01-17 00:45:18.000000000 +0000
-+++ gcc-20050116/gcc/config/xtensa/linux.h     2005-01-17 01:32:08.951429623 +0000
-@@ -50,7 +50,7 @@
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-       %{static:-static}}}"
- #undef LOCAL_LABEL_PREFIX
diff --git a/src/patches/gcc-4.1.2-arm-linux-soft-float.patch b/src/patches/gcc-4.1.2-arm-linux-soft-float.patch
deleted file mode 100644 (file)
index c22bc38..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -u -r gcc-4.0.2/gcc/config/arm/t-linux gcc-4.0.2/gcc/config/arm.new/t-linux
---- gcc-4.0.2/gcc/config/arm/t-linux   2005-10-18 22:04:44.000000000 +1000
-+++ gcc-4.0.2/gcc/config/arm.new/t-linux       2005-10-18 22:05:03.000000000 +1000
-@@ -4,7 +4,12 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
- LIBGCC2_DEBUG_CFLAGS = -g0
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
-+      _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+      _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+      _fixsfsi _fixunssfsi _floatdidf _floatdisf \
-+      _bb_init_func _call_via_rX _interwork_call_via_rX \
-+      _lshrdi3 _ashrdi3 _ashldi3
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
-
-
---- gcc-4.1.1/gcc/config/arm/linux-elf.h       2007-01-06 11:17:51.000000000 +0000
-+++ gcc-4.1.1/gcc/config/arm/linux-elf-soft.h  2007-01-06 11:22:01.000000000 +0000
-@@ -49,7 +49,7 @@
-    %{shared:-lc} \
-    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
-+/* #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc" */
- #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
diff --git a/src/patches/gcc-4.1.2-fix_linker_version_detection.patch b/src/patches/gcc-4.1.2-fix_linker_version_detection.patch
deleted file mode 100644 (file)
index 36a756c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur gcc-4.1.2.org/libstdc++-v3/configure gcc-4.1.2/libstdc++-v3/configure
---- gcc-4.1.2.org/libstdc++-v3/configure       2007-01-29 11:51:01.000000000 +0100
-+++ gcc-4.1.2/libstdc++-v3/configure   2011-08-29 19:25:22.973430586 +0200
-@@ -8281,7 +8281,7 @@
-   if test x"$with_gnu_ld" = x"yes"; then
-     ldver=`$LD --version 2>/dev/null | head -1 | \
--           sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
-+           sed -e 's/GNU ld .*) \([0-9.][0-9.]*\).*/\1/'`
-     glibcxx_gnu_ld_version=`echo $ldver | \
-            $AWK -F. '{ if (NF<3) $3=0; print ($1*100+$2)*100+$3 }'`
diff --git a/src/patches/gcc-4.1.2-gcc_eh.patch b/src/patches/gcc-4.1.2-gcc_eh.patch
deleted file mode 100644 (file)
index 9a2589a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -ur gcc-4.1.2/gcc/cp/g++spec.c gcc-4.1.2-gcc_eh/gcc/cp/g++spec.c
---- gcc-4.1.2/gcc/cp/g++spec.c 2005-06-25 02:59:41.000000000 +0200
-+++ gcc-4.1.2-gcc_eh/gcc/cp/g++spec.c  2007-08-03 14:46:03.000000000 +0200
-@@ -251,7 +251,7 @@
- #endif
-   /* Make sure to have room for the trailing NULL argument.  */
--  num_args = argc + added + need_math + shared_libgcc + (library > 0) + 1;
-+  num_args = argc + added + need_math + shared_libgcc + 2 * (library > 0) + 1;
-   arglist = xmalloc (num_args * sizeof (char *));
-   i = 0;
-@@ -311,7 +311,10 @@
-     {
-       arglist[j] = saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX;
-       if (arglist[j][0] != '-' || arglist[j][1] == 'l')
--      added_libraries++;
-+      {
-+      arglist[++j] = "-lgcc_eh";
-+      added_libraries += 2;
-+      }
-       j++;
-     }
-   if (saw_math)
diff --git a/src/patches/gcc-4.1.2-specs-1.patch b/src/patches/gcc-4.1.2-specs-1.patch
deleted file mode 100644 (file)
index 28ebb43..0000000
+++ /dev/null
@@ -1,507 +0,0 @@
-diff -Naur gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h gcc-4.1.2/gcc/config/alpha/linux-elf.h
---- gcc-4.1.2.orig/gcc/config/alpha/linux-elf.h        2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/alpha/linux-elf.h     2011-09-01 17:11:11.000000000 +0000
-@@ -27,7 +27,7 @@
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
--#define ELF_DYNAMIC_LINKER    "/lib/ld-linux.so.2"
-+#define ELF_DYNAMIC_LINKER    "/tools/lib/ld-linux.so.2"
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}                \
-   %{O*:-O3} %{!O*:-O1}                                                \
-diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-eabi.h gcc-4.1.2/gcc/config/arm/linux-eabi.h
---- gcc-4.1.2.orig/gcc/config/arm/linux-eabi.h 2005-11-15 14:32:13.000000000 +0000
-+++ gcc-4.1.2/gcc/config/arm/linux-eabi.h      2011-09-01 17:11:47.000000000 +0000
-@@ -53,7 +53,7 @@
- /* Use ld-linux.so.3 so that it will be possible to run "classic"
-    GNU/Linux binaries on an EABI system.  */
- #undef LINUX_TARGET_INTERPRETER
--#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.3"
-+#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.3"
- /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
-    use the GNU/Linux version, not the generic BPABI version.  */
-diff -Naur gcc-4.1.2.orig/gcc/config/arm/linux-elf.h gcc-4.1.2/gcc/config/arm/linux-elf.h
---- gcc-4.1.2.orig/gcc/config/arm/linux-elf.h  2005-10-10 01:04:31.000000000 +0000
-+++ gcc-4.1.2/gcc/config/arm/linux-elf.h       2011-09-01 17:11:11.000000000 +0000
-@@ -51,7 +51,7 @@
- #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
--#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
-+#define LINUX_TARGET_INTERPRETER "/tools/lib/ld-linux.so.2"
- #define LINUX_TARGET_LINK_SPEC  "%{h*} %{version:-v} \
-    %{b} \
-diff -Naur gcc-4.1.2.orig/gcc/config/frv/linux.h gcc-4.1.2/gcc/config/frv/linux.h
---- gcc-4.1.2.orig/gcc/config/frv/linux.h      2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/frv/linux.h   2011-09-01 17:11:11.000000000 +0000
-@@ -41,7 +41,7 @@
-   %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
-   %{!shared: %{!static: \
-    %{rdynamic:-export-dynamic} \
--   %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+   %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-    %{static}}"
- /* Support for compile-time default CPU.  */
-diff -Naur gcc-4.1.2.orig/gcc/config/i386/gnu.h gcc-4.1.2/gcc/config/i386/gnu.h
---- gcc-4.1.2.orig/gcc/config/i386/gnu.h       2004-09-08 00:17:19.000000000 +0000
-+++ gcc-4.1.2/gcc/config/i386/gnu.h    2011-09-01 17:11:11.000000000 +0000
-@@ -27,7 +27,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld.so}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so}} \
-     %{static:-static}}"
- #undef        STARTFILE_SPEC
-diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux64.h gcc-4.1.2/gcc/config/i386/linux64.h
---- gcc-4.1.2.orig/gcc/config/i386/linux64.h   2005-08-10 17:53:01.000000000 +0000
-+++ gcc-4.1.2/gcc/config/i386/linux64.h        2011-09-01 17:11:11.000000000 +0000
-@@ -60,8 +60,8 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
--      %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+      %{m32:%{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-+      %{!m32:%{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux-x86-64.so.2}}} \
-     %{static:-static}}"
- /* Similar to standard Linux, but adding -ffast-math support.  */
-diff -Naur gcc-4.1.2.orig/gcc/config/i386/linux.h gcc-4.1.2/gcc/config/i386/linux.h
---- gcc-4.1.2.orig/gcc/config/i386/linux.h     2005-08-10 17:53:01.000000000 +0000
-+++ gcc-4.1.2/gcc/config/i386/linux.h  2011-09-01 17:11:11.000000000 +0000
-@@ -105,7 +105,7 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
- #define LINK_EMULATION "elf_i386"
--#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define DYNAMIC_LINKER "/tools/lib/ld-linux.so.2"
- #undef  SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
-diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h gcc-4.1.2/gcc/config/ia64/linux.h
---- gcc-4.1.2.orig/gcc/config/ia64/linux.h     2006-12-12 15:24:07.000000000 +0000
-+++ gcc-4.1.2/gcc/config/ia64/linux.h  2011-09-01 17:11:11.000000000 +0000
-@@ -43,7 +43,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux-ia64.so.2}} \
-       %{static:-static}}"
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-diff -Naur gcc-4.1.2.orig/gcc/config/ia64/linux.h.orig gcc-4.1.2/gcc/config/ia64/linux.h.orig
---- gcc-4.1.2.orig/gcc/config/ia64/linux.h.orig        1970-01-01 00:00:00.000000000 +0000
-+++ gcc-4.1.2/gcc/config/ia64/linux.h.orig     2006-12-12 15:24:07.000000000 +0000
-@@ -0,0 +1,59 @@
-+/* Definitions for ia64-linux target.  */
-+
-+/* This macro is a C statement to print on `stderr' a string describing the
-+   particular machine description choice.  */
-+
-+#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
-+
-+/* This is for -profile to use -lc_p instead of -lc.  */
-+#undef CC1_SPEC
-+#define CC1_SPEC "%{profile:-p} %{G*}"
-+
-+/* Target OS builtins.  */
-+#define TARGET_OS_CPP_BUILTINS()              \
-+do {                                          \
-+      LINUX_TARGET_OS_CPP_BUILTINS();         \
-+      builtin_define("_LONGLONG");            \
-+} while (0)
-+
-+/* Need to override linux.h STARTFILE_SPEC, since it has crtbeginT.o in.  */
-+#undef STARTFILE_SPEC
-+#ifdef HAVE_LD_PIE
-+#define STARTFILE_SPEC \
-+  "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
-+   crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-+#else
-+#define STARTFILE_SPEC \
-+  "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}}\
-+   crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
-+#endif
-+
-+/* Similar to standard Linux, but adding -ffast-math support.  */
-+#undef  ENDFILE_SPEC
-+#define ENDFILE_SPEC \
-+  "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
-+   %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
-+
-+/* Define this for shared library support because it isn't in the main
-+   linux.h file.  */
-+
-+#undef LINK_SPEC
-+#define LINK_SPEC "\
-+  %{shared:-shared} \
-+  %{!shared: \
-+    %{!static: \
-+      %{rdynamic:-export-dynamic} \
-+      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+      %{static:-static}}"
-+
-+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-+
-+#define JMP_BUF_SIZE  76
-+
-+/* Override linux.h LINK_EH_SPEC definition.
-+   Signalize that because we have fde-glibc, we don't need all C shared libs
-+   linked against -lgcc_s.  */
-+#undef LINK_EH_SPEC
-+#define LINK_EH_SPEC ""
-+
-+#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
-diff -Naur gcc-4.1.2.orig/gcc/config/linux.h gcc-4.1.2/gcc/config/linux.h
---- gcc-4.1.2.orig/gcc/config/linux.h  2005-08-06 13:26:35.000000000 +0000
-+++ gcc-4.1.2/gcc/config/linux.h       2011-09-01 17:11:11.000000000 +0000
-@@ -104,3 +104,7 @@
- #define TARGET_C99_FUNCTIONS 1
- #define TARGET_POSIX_IO
-+
-+/* Remove /usr/include from the end of the include search path.  */
-+#undef STANDARD_INCLUDE_DIR
-+#define STANDARD_INCLUDE_DIR 0
-diff -Naur gcc-4.1.2.orig/gcc/config/m32r/linux.h gcc-4.1.2/gcc/config/m32r/linux.h
---- gcc-4.1.2.orig/gcc/config/m32r/linux.h     2005-07-08 10:00:15.000000000 +0000
-+++ gcc-4.1.2/gcc/config/m32r/linux.h  2011-09-01 17:11:11.000000000 +0000
-@@ -66,7 +66,7 @@
-     %{!ibcs: \
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-       %{static:-static}}}"
- #else
- #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
-@@ -74,7 +74,7 @@
-     %{!ibcs: \
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-       %{static:-static}}}"
- #endif
-diff -Naur gcc-4.1.2.orig/gcc/config/m68k/linux.h gcc-4.1.2/gcc/config/m68k/linux.h
---- gcc-4.1.2.orig/gcc/config/m68k/linux.h     2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/m68k/linux.h  2011-09-01 17:11:11.000000000 +0000
-@@ -128,7 +128,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+      %{!dynamic-linker*:-dynamic-linker /tools/lib/ld.so.1}} \
-     %{static}}"
- /* For compatibility with linux/a.out */
-diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux64.h gcc-4.1.2/gcc/config/mips/linux64.h
---- gcc-4.1.2.orig/gcc/config/mips/linux64.h   2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/mips/linux64.h        2011-09-01 17:11:11.000000000 +0000
-@@ -47,9 +47,9 @@
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
-         %{!dynamic-linker: \
--        %{mabi=n32: -dynamic-linker /lib32/ld.so.1} \
--        %{mabi=64: -dynamic-linker /lib64/ld.so.1} \
--        %{mabi=32: -dynamic-linker /lib/ld.so.1}}} \
-+        %{mabi=n32: -dynamic-linker /tools/lib32/ld.so.1} \
-+        %{mabi=64: -dynamic-linker /tools/lib64/ld.so.1} \
-+        %{mabi=32: -dynamic-linker /tools/lib/ld.so.1}}} \
-       %{static:-static}}} \
- %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
- %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
-diff -Naur gcc-4.1.2.orig/gcc/config/mips/linux.h gcc-4.1.2/gcc/config/mips/linux.h
---- gcc-4.1.2.orig/gcc/config/mips/linux.h     2006-12-17 13:57:31.000000000 +0000
-+++ gcc-4.1.2/gcc/config/mips/linux.h  2011-09-01 17:11:11.000000000 +0000
-@@ -112,7 +112,7 @@
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-         %{static:-static}}}"
- #undef SUBTARGET_ASM_SPEC
-diff -Naur gcc-4.1.2.orig/gcc/config/mn10300/linux.h gcc-4.1.2/gcc/config/mn10300/linux.h
---- gcc-4.1.2.orig/gcc/config/mn10300/linux.h  2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/mn10300/linux.h       2011-09-01 17:11:11.000000000 +0000
-@@ -37,7 +37,7 @@
- #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
--     %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-    %{static:-static}"
- #undef  PROCESSOR_DEFAULT
-diff -Naur gcc-4.1.2.orig/gcc/config/pa/pa-linux.h gcc-4.1.2/gcc/config/pa/pa-linux.h
---- gcc-4.1.2.orig/gcc/config/pa/pa-linux.h    2007-01-12 02:23:38.000000000 +0000
-+++ gcc-4.1.2/gcc/config/pa/pa-linux.h 2011-09-01 17:11:11.000000000 +0000
-@@ -55,7 +55,7 @@
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+      %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-       %{static:-static}}"
- /* glibc's profiling functions don't need gcc to allocate counters.  */
-diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/linux64.h gcc-4.1.2/gcc/config/rs6000/linux64.h
---- gcc-4.1.2.orig/gcc/config/rs6000/linux64.h 2006-02-10 20:58:33.000000000 +0000
-+++ gcc-4.1.2/gcc/config/rs6000/linux64.h      2011-09-01 17:11:11.000000000 +0000
-@@ -339,11 +339,11 @@
- #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
- #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib64/ld64.so.1}}}"
- #undef  TOC_SECTION_ASM_OP
- #define TOC_SECTION_ASM_OP \
-diff -Naur gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h gcc-4.1.2/gcc/config/rs6000/sysv4.h
---- gcc-4.1.2.orig/gcc/config/rs6000/sysv4.h   2006-02-10 20:58:33.000000000 +0000
-+++ gcc-4.1.2/gcc/config/rs6000/sysv4.h        2011-09-01 17:11:11.000000000 +0000
-@@ -1041,7 +1041,7 @@
- #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-@@ -1072,7 +1072,7 @@
- #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-   %{rdynamic:-export-dynamic} \
--  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+  %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}}}"
- #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__  \
- %{!undef:                                                     \
-diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h gcc-4.1.2/gcc/config/s390/linux.h
---- gcc-4.1.2.orig/gcc/config/s390/linux.h     2006-12-12 15:24:07.000000000 +0000
-+++ gcc-4.1.2/gcc/config/s390/linux.h  2011-09-01 17:11:11.000000000 +0000
-@@ -86,8 +86,8 @@
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
-       %{!dynamic-linker: \
--          %{m31:-dynamic-linker /lib/ld.so.1} \
--          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+          %{m31:-dynamic-linker /tools/lib/ld.so.1} \
-+          %{m64:-dynamic-linker /tools/lib/ld64.so.1}}}}"
- #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-diff -Naur gcc-4.1.2.orig/gcc/config/s390/linux.h.orig gcc-4.1.2/gcc/config/s390/linux.h.orig
---- gcc-4.1.2.orig/gcc/config/s390/linux.h.orig        1970-01-01 00:00:00.000000000 +0000
-+++ gcc-4.1.2/gcc/config/s390/linux.h.orig     2006-12-12 15:24:07.000000000 +0000
-@@ -0,0 +1,107 @@
-+/* Definitions for Linux for S/390.
-+   Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
-+   Contributed by Hartmut Penner (hpenner@de.ibm.com) and
-+                  Ulrich Weigand (uweigand@de.ibm.com).
-+
-+This file is part of GCC.
-+
-+GCC 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.
-+
-+GCC 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 GCC; see the file COPYING.  If not, write to the Free
-+Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
-+02110-1301, USA.  */
-+
-+#ifndef _LINUX_H
-+#define _LINUX_H
-+
-+/* Target specific version string.  */
-+
-+#ifdef DEFAULT_TARGET_64BIT
-+#undef  TARGET_VERSION
-+#define TARGET_VERSION fprintf (stderr, " (Linux for zSeries)");
-+#else
-+#undef  TARGET_VERSION
-+#define TARGET_VERSION fprintf (stderr, " (Linux for S/390)");
-+#endif
-+
-+
-+/* Target specific type definitions.  */
-+
-+/* ??? Do we really want long as size_t on 31-bit?  */
-+#undef  SIZE_TYPE
-+#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "long unsigned int")
-+#undef  PTRDIFF_TYPE
-+#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
-+
-+#undef  WCHAR_TYPE
-+#define WCHAR_TYPE "int"
-+#undef  WCHAR_TYPE_SIZE
-+#define WCHAR_TYPE_SIZE 32
-+
-+
-+/* Target specific preprocessor settings.  */
-+
-+#define TARGET_OS_CPP_BUILTINS()              \
-+  do                                          \
-+    {                                         \
-+      LINUX_TARGET_OS_CPP_BUILTINS();         \
-+      if (flag_pic)                           \
-+        {                                     \
-+          builtin_define ("__PIC__");         \
-+          builtin_define ("__pic__");         \
-+        }                                     \
-+    }                                         \
-+  while (0)
-+
-+
-+/* Target specific assembler settings.  */
-+
-+#undef  ASM_SPEC
-+#define ASM_SPEC "%{m31&m64}%{mesa&mzarch}%{march=*}"
-+
-+
-+/* Target specific linker settings.  */
-+
-+#ifdef DEFAULT_TARGET_64BIT
-+#define MULTILIB_DEFAULTS { "m64" }
-+#else
-+#define MULTILIB_DEFAULTS { "m31" }
-+#endif
-+
-+#undef  LINK_SPEC
-+#define LINK_SPEC \
-+  "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-+   %{shared:-shared} \
-+   %{!shared: \
-+      %{static:-static} \
-+      %{!static: \
-+      %{rdynamic:-export-dynamic} \
-+      %{!dynamic-linker: \
-+          %{m31:-dynamic-linker /lib/ld.so.1} \
-+          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+
-+#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-+
-+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-+
-+#define MD_UNWIND_SUPPORT "config/s390/linux-unwind.h"
-+
-+#ifdef TARGET_LIBC_PROVIDES_SSP
-+/* s390 glibc provides __stack_chk_guard in 0x14(tp),
-+   s390x glibc provides it at 0x28(tp).  */
-+#define TARGET_THREAD_SSP_OFFSET        (TARGET_64BIT ? 0x28 : 0x14)
-+#endif
-+
-+/* Define if long doubles should be mangled as 'g'.  */
-+#define TARGET_ALTERNATE_LONG_DOUBLE_MANGLING
-+
-+#endif
-diff -Naur gcc-4.1.2.orig/gcc/config/sh/linux.h gcc-4.1.2/gcc/config/sh/linux.h
---- gcc-4.1.2.orig/gcc/config/sh/linux.h       2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/sh/linux.h    2011-09-01 17:11:11.000000000 +0000
-@@ -60,7 +60,7 @@
-   "%{shared:-shared} \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
--     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+     %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-    %{static:-static}"
- /* Output assembler code to STREAM to call the profiler.  */
-diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux64.h gcc-4.1.2/gcc/config/sparc/linux64.h
---- gcc-4.1.2.orig/gcc/config/sparc/linux64.h  2006-02-11 08:38:51.000000000 +0000
-+++ gcc-4.1.2/gcc/config/sparc/linux64.h       2011-09-01 17:11:11.000000000 +0000
-@@ -162,21 +162,21 @@
-   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },      \
-   { "link_arch",       LINK_ARCH_SPEC },
-     
--#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-         %{static:-static}}} \
- "
--#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
-         %{static:-static}}} \
- "
-@@ -252,12 +252,12 @@
- #else /* !SPARC_BI_ARCH */
- #undef LINK_SPEC
--#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
-+#define LINK_SPEC "-m elf64_sparc -Y P,/tools/lib64 %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib64/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib64/ld-linux.so.2}} \
-         %{static:-static}}} \
- %{mlittle-endian:-EL} \
- %{!mno-relax:%{!r:-relax}} \
-diff -Naur gcc-4.1.2.orig/gcc/config/sparc/linux.h gcc-4.1.2/gcc/config/sparc/linux.h
---- gcc-4.1.2.orig/gcc/config/sparc/linux.h    2006-02-11 08:38:51.000000000 +0000
-+++ gcc-4.1.2/gcc/config/sparc/linux.h 2011-09-01 17:11:11.000000000 +0000
-@@ -126,13 +126,13 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
- #undef  LINK_SPEC
--#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-+#define LINK_SPEC "-m elf32_sparc -Y P,/tools/lib %{shared:-shared} \
-   %{!mno-relax:%{!r:-relax}} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld-linux.so.2}} \
-         %{static:-static}}}"
- /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
-diff -Naur gcc-4.1.2.orig/gcc/config/xtensa/linux.h gcc-4.1.2/gcc/config/xtensa/linux.h
---- gcc-4.1.2.orig/gcc/config/xtensa/linux.h   2005-06-25 01:22:41.000000000 +0000
-+++ gcc-4.1.2/gcc/config/xtensa/linux.h        2011-09-01 17:11:11.000000000 +0000
-@@ -50,7 +50,7 @@
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+        %{!dynamic-linker:-dynamic-linker /tools/lib/ld.so.1}} \
-       %{static:-static}}}"
- #undef LOCAL_LABEL_PREFIX
diff --git a/src/patches/gcc-4.4.3-startfiles_fix-1.patch b/src/patches/gcc-4.4.3-startfiles_fix-1.patch
new file mode 100644 (file)
index 0000000..a2eac9e
--- /dev/null
@@ -0,0 +1,33 @@
+Submitted By: Jeremy Huntwork (jhuntwork AT linuxfromscratch DOT org)
+Date: 2008-12-05
+Initial Package Version: 4.3.2
+Upstream Status: See below.
+Origin: DIY Linux, See below.
+Description: Original patch follows:
+
+# DIY Linux Patch
+Date: 2008-09-09
+Author: Refer Origin.
+Origin: Partial revert of http://gcc.gnu.org/ml/gcc-cvs/2006-11/msg00416.html
+Maker: Greg Schafer <gschafer@zip.com.au>
+Upstream Status: Not applicable. Tweak only for Temptools phase GCC-Pass2.
+Description: Partially revert GCC driver to pre-GCC-4.3 state to allow startfiles to be
+  found in $prefix when GCC is configured for a non-standard prefix eg: /temptools. Full
+  background info in thread starting here: http://gcc.gnu.org/ml/gcc/2008-03/msg00095.html
+  and GCC bugzilla here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35532
+
+diff -Naur gcc-4.3.0-RC-20080222.orig/gcc/gcc.c gcc-4.3.0-RC-20080222/gcc/gcc.c
+--- gcc-4.3.0-RC-20080222.orig/gcc/gcc.c       2008-01-24 18:57:12.000000000 +0000
++++ gcc-4.3.0-RC-20080222/gcc/gcc.c    2008-03-02 06:07:36.000000000 +0000
+@@ -6370,6 +6370,11 @@
+                             machine_suffix, 
+                             standard_startfile_prefix, NULL),
+                     NULL, PREFIX_PRIORITY_LAST, 0, 1);
++        add_prefix (&startfile_prefixes,
++                    concat (standard_exec_prefix,
++                            machine_suffix,
++                            standard_startfile_prefix, NULL),
++                    NULL, PREFIX_PRIORITY_LAST, 0, 1);
+       }
+       /* Sysrooted prefixes are relocated because target_system_root is
diff --git a/src/patches/gcc-libstdc++-pic.patch b/src/patches/gcc-libstdc++-pic.patch
deleted file mode 100644 (file)
index a9d6e71..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
---- gcc-4.0.0/libstdc++-v3/src/Makefile.am
-+++ gcc-4.0.0/libstdc++-v3/src/Makefile.am
-@@ -214,6 +214,10 @@
-         $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
-+install-exec-local:
-+      $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
-+      $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
- all-local: build_debug
---- gcc-4.0.0/libstdc++-v3/src/Makefile.in
-+++ gcc-4.0.0/libstdc++-v3/src/Makefile.in
-@@ -625,7 +625,7 @@
- install-data-am: install-data-local
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
- install-info: install-info-am
-@@ -664,7 +664,7 @@
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-info-am \
--      uninstall-toolexeclibLTLIBRARIES
-+      uninstall-toolexeclibLTLIBRARIES install-exec-local
- @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@libstdc++-symbol.ver:  ${glibcxx_srcdir}/$(SYMVER_MAP)
- @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@  cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
-@@ -743,6 +743,11 @@
- install_debug:
-       (cd ${debugdir} && $(MAKE) \
-       toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+      $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
-+      $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
diff --git a/src/patches/gcc-sdk-libstdc++-includes.patch b/src/patches/gcc-sdk-libstdc++-includes.patch
deleted file mode 100644 (file)
index c7676ae..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urN gcc-4.0.0-100/libstdc++-v3/fragment.am gcc-4.0.0/libstdc++-v3/fragment.am
---- gcc-4.0.0-100/libstdc++-v3/fragment.am     2004-10-25 15:32:40.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/fragment.am 2005-04-28 21:48:43.000000000 -0500
-@@ -18,5 +18,5 @@
-       $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
- # -I/-D flags to pass when compiling.
--AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
-+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
-diff -urN gcc-4.0.0-100/libstdc++-v3/libmath/Makefile.am gcc-4.0.0/libstdc++-v3/libmath/Makefile.am
---- gcc-4.0.0-100/libstdc++-v3/libmath/Makefile.am     2003-08-27 16:29:42.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/libmath/Makefile.am 2005-04-28 21:48:43.000000000 -0500
-@@ -32,7 +32,7 @@
- libmath_la_SOURCES = stubs.c
--AM_CPPFLAGS = $(CANADIAN_INCLUDES)
-+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
- # Only compiling "C" sources in this directory.
- LIBTOOL = @LIBTOOL@ --tag CC
diff --git a/src/patches/gcc-uclibc-conf.patch b/src/patches/gcc-uclibc-conf.patch
deleted file mode 100644 (file)
index 3be7d09..0000000
+++ /dev/null
@@ -1,553 +0,0 @@
---- gcc-4.0.2/gcc/config/t-linux-uclibc
-+++ gcc-4.0.2/gcc/config/t-linux-uclibc
-@@ -0,0 +1,5 @@
-+# Remove glibc specific files added in t-linux
-+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
-+
-+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
-+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
---- gcc-4.0.2/gcc/config.gcc
-+++ gcc-4.0.2/gcc/config.gcc
-@@ -1778,7 +1778,7 @@
-       ;;
- sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
- sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
--  sh-*-linux* | sh[346lbe]*-*-linux* | \
-+  sh*-*-linux* | sh[346lbe]*-*-linux* | \
-   sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-    sh64-*-netbsd* | sh64l*-*-netbsd*)
-       tmake_file="${tmake_file} sh/t-sh sh/t-elf"
-@@ -2234,10 +2234,16 @@
- *)
-       echo "*** Configuration ${target} not supported" 1>&2
-       exit 1
-       ;;
- esac
-+
-+# Rather than hook into each target, just do it after all the linux
-+# targets have been processed
-+case ${target} in
-+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
-+esac
- case ${target} in
- i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
-       tmake_file="${tmake_file} i386/t-gmm_malloc"
-       ;;
---- gcc-4.0.2/gcc/config/alpha/linux-elf.h
-+++ gcc-4.0.2/gcc/config/alpha/linux-elf.h
-@@ -27,7 +27,11 @@
- #define SUBTARGET_EXTRA_SPECS \
- { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER    "/lib/ld-uClibc.so.0"
-+#else
- #define ELF_DYNAMIC_LINKER    "/lib/ld-linux.so.2"
-+#endif
- #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}                \
-   %{O*:-O3} %{!O*:-O1}                                                \
---- gcc-4.0.2/gcc/config/arm/linux-elf.h
-+++ gcc-4.0.2/gcc/config/arm/linux-elf.h
-@@ -81,14 +81,19 @@
- #define ENDFILE_SPEC \
-   "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef  LINK_SPEC
- #define LINK_SPEC "%{h*} %{version:-v} \
-    %{b} %{Wl,*:%*} \
-    %{static:-Bstatic} \
-    %{shared:-shared} \
-    %{symbolic:-Bsymbolic} \
-    %{rdynamic:-export-dynamic} \
--   %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2} \
-+   %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "} \
-    -X \
-    %{mbig-endian:-EB}" \
-    SUBTARGET_EXTRA_LINK_SPEC
---- gcc-4.0.2/gcc/config/cris/linux.h
-+++ gcc-4.0.2/gcc/config/cris/linux.h
-@@ -79,6 +79,25 @@
- #undef CRIS_DEFAULT_CPU_VERSION
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-+#ifdef USE_UCLIBC
-+
-+#undef CRIS_SUBTARGET_VERSION
-+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+
-+#undef CRIS_LINK_SUBTARGET_SPEC
-+#define CRIS_LINK_SUBTARGET_SPEC \
-+ "-mcrislinux\
-+  -rpath-link include/asm/../..%s\
-+  %{shared} %{static}\
-+  %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
-+  %{!shared: \
-+    %{!static: \
-+      %{rdynamic:-export-dynamic} \
-+      %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
-+  %{!r:%{O2|O3: --gc-sections}}"
-+
-+#else  /* USE_UCLIBC */
-+
- #undef CRIS_SUBTARGET_VERSION
- #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-@@ -93,6 +112,8 @@
-   %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
-   %{!r:%{O2|O3: --gc-sections}}"
-+#endif  /* USE_UCLIBC */
-+
- /* Node: Run-time Target */
---- gcc-4.0.2/gcc/config/i386/linux.h
-+++ gcc-4.0.2/gcc/config/i386/linux.h
-@@ -107,6 +107,11 @@
- #define LINK_EMULATION "elf_i386"
- #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#ifdef USE_UCLIBC
-+#undef DYNAMIC_LINKER
-+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#endif
-+
- #undef  SUBTARGET_EXTRA_SPECS
- #define SUBTARGET_EXTRA_SPECS \
-   { "link_emulation", LINK_EMULATION },\
---- gcc-4.0.2/gcc/config/i386/linux64.h
-+++ gcc-4.0.2/gcc/config/i386/linux64.h
-@@ -54,14 +54,21 @@
-    When the -shared link option is used a final link is not being
-    done.  */
-+#ifdef USE_UCLIBC
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
-+#endif
- #undef        LINK_SPEC
- #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
-   %{shared:-shared} \
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
--      %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
-+      %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
-+      %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
-     %{static:-static}}"
- #define MULTILIB_DEFAULTS { "m64" }
---- gcc-4.0.2/gcc/config/ia64/linux.h
-+++ gcc-4.0.2/gcc/config/ia64/linux.h
-@@ -37,13 +37,18 @@
- /* Define this for shared library support because it isn't in the main
-    linux.h file.  */
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER    "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
-   %{shared:-shared} \
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
-+      %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-       %{static:-static}}"
---- gcc-4.0.2/gcc/config/m68k/linux.h
-+++ gcc-4.0.2/gcc/config/m68k/linux.h
-@@ -127,12 +127,17 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef        LINK_SPEC
- #define LINK_SPEC "-m m68kelf %{shared} \
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
-+      %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-     %{static}}"
- /* For compatibility with linux/a.out */
---- gcc-4.0.2/gcc/config/mips/linux.h
-+++ gcc-4.0.2/gcc/config/mips/linux.h
-@@ -108,14 +108,19 @@
- /* Borrowed from sparc/linux.h */
- #undef LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #define LINK_SPEC \
-  "%(endian_spec) \
-   %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+        %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-         %{static:-static}}}"
- #undef SUBTARGET_ASM_SPEC
---- gcc-4.0.2/gcc/config/pa/pa-linux.h
-+++ gcc-4.0.2/gcc/config/pa/pa-linux.h
-@@ -82,13 +82,18 @@
- /* Define this for shared library support because it isn't in the main
-    linux.h file.  */
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
-+#endif
- #undef LINK_SPEC
- #define LINK_SPEC "\
-   %{shared:-shared} \
-   %{!shared: \
-     %{!static: \
-       %{rdynamic:-export-dynamic} \
--      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
-+      %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-       %{static:-static}}"
- /* glibc's profiling functions don't need gcc to allocate counters.  */
---- gcc-4.0.2/gcc/config/rs6000/linux.h
-+++ gcc-4.0.2/gcc/config/rs6000/linux.h
-@@ -69,7 +69,11 @@
- #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
- #undef        LINK_OS_DEFAULT_SPEC
-+#ifdef USE_UCLIBC
-+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
-+#else
- #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
-+#endif
- #define LINK_GCC_C_SEQUENCE_SPEC \
-   "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
---- gcc-4.0.2/gcc/config/rs6000/sysv4.h
-+++ gcc-4.0.2/gcc/config/rs6000/sysv4.h
-@@ -949,6 +949,7 @@
-   mcall-linux  : %(link_os_linux)       ; \
-   mcall-gnu    : %(link_os_gnu)         ; \
-   mcall-netbsd : %(link_os_netbsd)      ; \
-+  mcall-linux-uclibc : %(link_os_linux_uclibc); \
-   mcall-openbsd: %(link_os_openbsd)     ; \
-                : %(link_os_default)     }"
-@@ -1127,6 +1128,10 @@
-   %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
-+  %{rdynamic:-export-dynamic} \
-+  %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
-+
- #if defined(HAVE_LD_EH_FRAME_HDR)
- # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
- #endif
-@@ -1293,6 +1298,7 @@
-   { "link_os_sim",            LINK_OS_SIM_SPEC },                     \
-   { "link_os_freebsd",                LINK_OS_FREEBSD_SPEC },                 \
-   { "link_os_linux",          LINK_OS_LINUX_SPEC },                   \
-+  { "link_os_linux_uclibc",   LINK_OS_LINUX_UCLIBC_SPEC },            \
-   { "link_os_gnu",            LINK_OS_GNU_SPEC },                     \
-   { "link_os_netbsd",         LINK_OS_NETBSD_SPEC },                  \
-   { "link_os_openbsd",                LINK_OS_OPENBSD_SPEC },                 \
---- gcc-4.0.2/gcc/config/s390/linux.h
-+++ gcc-4.0.2/gcc/config/s390/linux.h
-@@ -77,6 +77,13 @@
- #define MULTILIB_DEFAULTS { "m31" }
- #endif
-+#ifdef USE_UCLIBC
-+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
-+#else
-+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
-+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
-+#endif
- #undef  LINK_SPEC
- #define LINK_SPEC \
-   "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
-@@ -86,8 +93,8 @@
-       %{!static: \
-       %{rdynamic:-export-dynamic} \
-       %{!dynamic-linker: \
--          %{m31:-dynamic-linker /lib/ld.so.1} \
--          %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-+          %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
-+          %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
---- gcc-4.0.2/gcc/config/sh/linux.h
-+++ gcc-4.0.2/gcc/config/sh/linux.h
-@@ -67,11 +67,16 @@
- #undef SUBTARGET_LINK_EMUL_SUFFIX
- #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
- #undef SUBTARGET_LINK_SPEC
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #define SUBTARGET_LINK_SPEC \
-   "%{shared:-shared} \
-    %{!static: \
-      %{rdynamic:-export-dynamic} \
--     %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+     %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-    %{static:-static}"
- #undef LIB_SPEC
---- gcc-4.0.2/gcc/config/sparc/linux.h
-+++ gcc-4.0.2/gcc/config/sparc/linux.h
-@@ -130,14 +130,19 @@
- /* If ELF is the default format, we should not use /lib/elf.  */
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-+#endif
- #undef  LINK_SPEC
- #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-   %{!mno-relax:%{!r:-relax}} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-         %{static:-static}}}"
- /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
---- gcc-4.0.2/gcc/config/sparc/linux64.h
-+++ gcc-4.0.2/gcc/config/sparc/linux64.h
-@@ -167,12 +166,17 @@
-   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },      \
-   { "link_arch",       LINK_ARCH_SPEC },
-     
-+#ifdef USE_UCLIBC
-+#define ELF_DYNAMIC_LINKER    "/lib/ld-uClibc.so.0"
-+#else
-+#define ELF_DYNAMIC_LINKER  "/lib/ld-linux.so.2"
-+#endif
- #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
-   %{!shared: \
-     %{!ibcs: \
-       %{!static: \
-         %{rdynamic:-export-dynamic} \
--        %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+        %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
-         %{static:-static}}} \
- "
---- gcc-4.0.2/libtool.m4
-+++ gcc-4.0.2/libtool.m4
-@@ -682,6 +682,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
---- gcc-4.0.2/ltconfig
-+++ gcc-4.0.2/ltconfig
-@@ -603,6 +603,7 @@
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
-+linux-uclibc*) ;;
- linux-gnu*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-@@ -1274,6 +1275,23 @@
-   dynamic_linker='GNU/Linux ld.so'
-   ;;
-+linux-uclibc*)
-+  version_type=linux
-+  need_lib_prefix=no
-+  need_version=no
-+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
-+  soname_spec='${libname}${release}.so$major'
-+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-+  shlibpath_var=LD_LIBRARY_PATH
-+  shlibpath_overrides_runpath=no
-+  # This implies no fast_install, which is unacceptable.
-+  # Some rework will be needed to allow for fast_install
-+  # before this can be enabled.
-+  hardcode_into_libs=yes
-+  # Assume using the uClibc dynamic linker.
-+  dynamic_linker="uClibc ld.so"
-+  ;;
-+
- netbsd*)
-   need_lib_prefix=no
-   need_version=no
---- gcc-4.0.2/libffi/configure
-+++ gcc-4.0.2/libffi/configure
-@@ -3457,6 +3457,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libgfortran/configure
-+++ gcc-4.0.2/libgfortran/configure
-@@ -3681,6 +3681,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libjava/configure
-+++ gcc-4.0.2/libjava/configure
-@@ -4351,6 +4351,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libmudflap/configure
-+++ gcc-4.0.2/libmudflap/configure
-@@ -5380,6 +5380,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/libobjc/configure
-+++ gcc-4.0.2/libobjc/configure
-@@ -3283,6 +3283,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/boehm-gc/configure
-+++ gcc-4.0.2/boehm-gc/configure
-@@ -4320,6 +4320,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.0.2/configure
-+++ gcc-4.0.2/configure
-@@ -1141,7 +1141,7 @@
-     ;;
- "")
-     case "${target}" in
--    *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+    *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
-         # Enable libmudflap by default in GNU and friends.
-       ;;
-     *-*-freebsd*)
---- gcc-4.0.2/configure.in
-+++ gcc-4.0.2/configure.in
-@@ -350,7 +350,7 @@
-     ;;
- "")
-     case "${target}" in
--    *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
-+    *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
-         # Enable libmudflap by default in GNU and friends.
-       ;;
-     *-*-freebsd*)
---- gcc-4.0.2/contrib/regression/objs-gcc.sh
-+++ gcc-4.0.2/contrib/regression/objs-gcc.sh
-@@ -105,6 +105,10 @@
-  then
-   make all-gdb all-dejagnu all-ld || exit 1
-   make install-gdb install-dejagnu install-ld || exit 1
-+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
-+ then
-+  make all-gdb all-dejagnu all-ld || exit 1
-+  make install-gdb install-dejagnu install-ld || exit 1
- elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
-   make bootstrap || exit 1
-   make install || exit 1
---- gcc-4.0.2/zlib/configure
-+++ gcc-4.0.2/zlib/configure
-@@ -3426,6 +3426,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
diff --git a/src/patches/gcc-uclibc-locale.patch b/src/patches/gcc-uclibc-locale.patch
deleted file mode 100644 (file)
index ac4cf97..0000000
+++ /dev/null
@@ -1,3237 +0,0 @@
-diff -urN gcc-4.0.0-100/libstdc++-v3/acinclude.m4 gcc-4.0.0/libstdc++-v3/acinclude.m4
---- gcc-4.0.0-100/libstdc++-v3/acinclude.m4    2005-04-30 13:06:53.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/acinclude.m4        2005-04-28 20:19:01.000000000 -0500
-@@ -1104,7 +1104,7 @@
-   AC_MSG_CHECKING([for C locale to use])
-   GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
-     [use MODEL for target locale package],
--    [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+    [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-   
-   # If they didn't use this option switch, or if they specified --enable
-   # with no specific model, we'll have to look for one.  If they
-@@ -1120,6 +1120,9 @@
-   # Default to "generic".
-   if test $enable_clocale_flag = auto; then
-     case ${target_os} in
-+      *-uclibc*)
-+        enable_clocale_flag=uclibc
-+        ;;
-       linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
-         AC_EGREP_CPP([_GLIBCXX_ok], [
-         #include <features.h>
-@@ -1263,6 +1266,40 @@
-       CTIME_CC=config/locale/generic/time_members.cc
-       CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-+    uclibc)
-+      AC_MSG_RESULT(uclibc)
-+
-+      # Declare intention to use gettext, and add support for specific
-+      # languages.
-+      # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+      ALL_LINGUAS="de fr"
-+
-+      # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+      AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+      if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+        USE_NLS=yes
-+      fi
-+      # Export the build objects.
-+      for ling in $ALL_LINGUAS; do \
-+        glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+        glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+      done
-+      AC_SUBST(glibcxx_MOFILES)
-+      AC_SUBST(glibcxx_POFILES)
-+
-+      CLOCALE_H=config/locale/uclibc/c_locale.h
-+      CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+      CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+      CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+      CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+      CMESSAGES_H=config/locale/uclibc/messages_members.h
-+      CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+      CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+      CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+      CTIME_H=config/locale/uclibc/time_members.h
-+      CTIME_CC=config/locale/uclibc/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+      ;;
-   esac
-   # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c++locale_internal.h       1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h   2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+                                                  
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.cc        1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.cc    2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8  Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno>  // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L)      strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L)     strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L)     strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L)    strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L)         strtof((S), (E))
-+#define __strtod_l(S, E, L)         strtod((S), (E))
-+#define __strtold_l(S, E, L)        strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c)        NULL
-+#define __freelocale(a)             ((void)0)
-+#define __duplocale(a)              __c_locale()
-+#endif
-+
-+namespace std 
-+{
-+  template<>
-+    void
-+    __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, 
-+                 const __c_locale& __cloc)
-+    {
-+      if (!(__err & ios_base::failbit))
-+      {
-+        char* __sanity;
-+        errno = 0;
-+        float __f = __strtof_l(__s, &__sanity, __cloc);
-+          if (__sanity != __s && errno != ERANGE)
-+          __v = __f;
-+        else
-+          __err |= ios_base::failbit;
-+      }
-+    }
-+
-+  template<>
-+    void
-+    __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err, 
-+                 const __c_locale& __cloc)
-+    {
-+      if (!(__err & ios_base::failbit))
-+      {
-+        char* __sanity;
-+        errno = 0;
-+        double __d = __strtod_l(__s, &__sanity, __cloc);
-+          if (__sanity != __s && errno != ERANGE)
-+          __v = __d;
-+        else
-+          __err |= ios_base::failbit;
-+      }
-+    }
-+
-+  template<>
-+    void
-+    __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+                 const __c_locale& __cloc)
-+    {
-+      if (!(__err & ios_base::failbit))
-+      {
-+        char* __sanity;
-+        errno = 0;
-+        long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+          if (__sanity != __s && errno != ERANGE)
-+          __v = __ld;
-+        else
-+          __err |= ios_base::failbit;
-+      }
-+    }
-+
-+  void
-+  locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s, 
-+                                  __c_locale __old)
-+  {
-+    __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    if (!__cloc)
-+      {
-+      // This named locale is not supported by the underlying OS.
-+      __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+                            "name not valid"));
-+      }
-+#endif
-+  }
-+  
-+  void
-+  locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+  {
-+    if (_S_get_c_locale() != __cloc)
-+      __freelocale(__cloc); 
-+  }
-+
-+  __c_locale
-+  locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+  { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+  const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+    {
-+      "LC_CTYPE", 
-+      "LC_NUMERIC",
-+      "LC_TIME", 
-+      "LC_COLLATE", 
-+      "LC_MONETARY",
-+      "LC_MESSAGES", 
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+      "LC_PAPER", 
-+      "LC_NAME", 
-+      "LC_ADDRESS",
-+      "LC_TELEPHONE", 
-+      "LC_MEASUREMENT", 
-+      "LC_IDENTIFICATION" 
-+#endif
-+    };
-+}
-+
-+namespace std
-+{
-+  const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+}  // namespace std
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/c_locale.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/c_locale.h     2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,115 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8  Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring>              // get std::strlen
-+#include <cstdio>               // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h>         // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h>            // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h>          // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+ 
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+  extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+  typedef __locale_t          __c_locale;
-+#else
-+  typedef int*                        __c_locale;
-+#endif
-+
-+  // Convert numeric value of type _Tv to string and return length of
-+  // string.  If snprintf is available use it, otherwise fall back to
-+  // the unsafe sprintf which, in general, can be dangerous and should
-+  // be avoided.
-+  template<typename _Tv>
-+    int
-+    __convert_from_v(char* __out, const int __size, const char* __fmt,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+                   _Tv __v, const __c_locale& __cloc, int __prec)
-+    {
-+      __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+                   _Tv __v, const __c_locale&, int __prec)
-+    {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+      char* __old = std::setlocale(LC_ALL, NULL);
-+      char* __sav = new char[std::strlen(__old) + 1];
-+      std::strcpy(__sav, __old);
-+      std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+      const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+      __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+      std::setlocale(LC_ALL, __sav);
-+      delete [] __sav;
-+#endif
-+      return __ret;
-+    }
-+}
-+
-+#endif
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc     2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+  // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+  codecvt_base::result
-+  codecvt<wchar_t, char, mbstate_t>::
-+  do_out(state_type& __state, const intern_type* __from, 
-+       const intern_type* __from_end, const intern_type*& __from_next,
-+       extern_type* __to, extern_type* __to_end,
-+       extern_type*& __to_next) const
-+  {
-+    result __ret = ok;
-+    state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+    // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+    // in case we fall back to wcrtomb and then continue, in a loop.
-+    // NB: wcsnrtombs is a GNU extension
-+    for (__from_next = __from, __to_next = __to;
-+       __from_next < __from_end && __to_next < __to_end
-+       && __ret == ok;)
-+      {
-+      const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+                                                    __from_end - __from_next);
-+      if (!__from_chunk_end)
-+        __from_chunk_end = __from_end;
-+
-+      __from = __from_next;
-+      const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+                                       __from_chunk_end - __from_next,
-+                                       __to_end - __to_next, &__state);
-+      if (__conv == static_cast<size_t>(-1))
-+        {
-+          // In case of error, in order to stop at the exact place we
-+          // have to start again from the beginning with a series of
-+          // wcrtomb.
-+          for (; __from < __from_next; ++__from)
-+            __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+          __state = __tmp_state;
-+          __ret = error;
-+        }
-+      else if (__from_next && __from_next < __from_chunk_end)
-+        {
-+          __to_next += __conv;
-+          __ret = partial;
-+        }
-+      else
-+        {
-+          __from_next = __from_chunk_end;
-+          __to_next += __conv;
-+        }
-+
-+      if (__from_next < __from_end && __ret == ok)
-+        {
-+          extern_type __buf[MB_LEN_MAX];
-+          __tmp_state = __state;
-+          const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+          if (__conv > static_cast<size_t>(__to_end - __to_next))
-+            __ret = partial;
-+          else
-+            {
-+              memcpy(__to_next, __buf, __conv);
-+              __state = __tmp_state;
-+              __to_next += __conv;
-+              ++__from_next;
-+            }
-+        }
-+      }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+
-+    return __ret; 
-+  }
-+  
-+  codecvt_base::result
-+  codecvt<wchar_t, char, mbstate_t>::
-+  do_in(state_type& __state, const extern_type* __from, 
-+      const extern_type* __from_end, const extern_type*& __from_next,
-+      intern_type* __to, intern_type* __to_end,
-+      intern_type*& __to_next) const
-+  {
-+    result __ret = ok;
-+    state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+    // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+    // in case we store a L'\0' and then continue, in a loop.
-+    // NB: mbsnrtowcs is a GNU extension
-+    for (__from_next = __from, __to_next = __to;
-+       __from_next < __from_end && __to_next < __to_end
-+       && __ret == ok;)
-+      {
-+      const extern_type* __from_chunk_end;
-+      __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+                                                                __from_end
-+                                                                - __from_next));
-+      if (!__from_chunk_end)
-+        __from_chunk_end = __from_end;
-+
-+      __from = __from_next;
-+      size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+                                 __from_chunk_end - __from_next,
-+                                 __to_end - __to_next, &__state);
-+      if (__conv == static_cast<size_t>(-1))
-+        {
-+          // In case of error, in order to stop at the exact place we
-+          // have to start again from the beginning with a series of
-+          // mbrtowc.
-+          for (;; ++__to_next, __from += __conv)
-+            {
-+              __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+                               &__tmp_state);
-+              if (__conv == static_cast<size_t>(-1)
-+                  || __conv == static_cast<size_t>(-2))
-+                break;
-+            }
-+          __from_next = __from;
-+          __state = __tmp_state;          
-+          __ret = error;
-+        }
-+      else if (__from_next && __from_next < __from_chunk_end)
-+        {
-+          // It is unclear what to return in this case (see DR 382). 
-+          __to_next += __conv;
-+          __ret = partial;
-+        }
-+      else
-+        {
-+          __from_next = __from_chunk_end;
-+          __to_next += __conv;
-+        }
-+
-+      if (__from_next < __from_end && __ret == ok)
-+        {
-+          if (__to_next < __to_end)
-+            {
-+              // XXX Probably wrong for stateful encodings
-+              __tmp_state = __state;          
-+              ++__from_next;
-+              *__to_next++ = L'\0';
-+            }
-+          else
-+            __ret = partial;
-+        }
-+      }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+
-+    return __ret; 
-+  }
-+
-+  int 
-+  codecvt<wchar_t, char, mbstate_t>::
-+  do_encoding() const throw()
-+  {
-+    // XXX This implementation assumes that the encoding is
-+    // stateless and is either single-byte or variable-width.
-+    int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+    if (MB_CUR_MAX == 1)
-+      __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+    return __ret;
-+  }  
-+
-+  int 
-+  codecvt<wchar_t, char, mbstate_t>::
-+  do_max_length() const throw()
-+  {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+    // XXX Probably wrong for stateful encodings.
-+    int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+    return __ret;
-+  }
-+  
-+  int 
-+  codecvt<wchar_t, char, mbstate_t>::
-+  do_length(state_type& __state, const extern_type* __from,
-+          const extern_type* __end, size_t __max) const
-+  {
-+    int __ret = 0;
-+    state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+    // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+    // in case we advance past it and then continue, in a loop.
-+    // NB: mbsnrtowcs is a GNU extension
-+  
-+    // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+    // its fourth parameter (it wouldn't with NULL as first parameter).
-+    wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t) 
-+                                                         * __max));
-+    while (__from < __end && __max)
-+      {
-+      const extern_type* __from_chunk_end;
-+      __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+                                                                __end
-+                                                                - __from));
-+      if (!__from_chunk_end)
-+        __from_chunk_end = __end;
-+
-+      const extern_type* __tmp_from = __from;
-+      size_t __conv = mbsnrtowcs(__to, &__from,
-+                                 __from_chunk_end - __from,
-+                                 __max, &__state);
-+      if (__conv == static_cast<size_t>(-1))
-+        {
-+          // In case of error, in order to stop at the exact place we
-+          // have to start again from the beginning with a series of
-+          // mbrtowc.
-+          for (__from = __tmp_from;; __from += __conv)
-+            {
-+              __conv = mbrtowc(NULL, __from, __end - __from,
-+                               &__tmp_state);
-+              if (__conv == static_cast<size_t>(-1)
-+                  || __conv == static_cast<size_t>(-2))
-+                break;
-+            }
-+          __state = __tmp_state;
-+          __ret += __from - __tmp_from;
-+          break;
-+        }
-+      if (!__from)
-+        __from = __from_chunk_end;
-+      
-+      __ret += __from - __tmp_from;
-+      __max -= __conv;
-+
-+      if (__from < __end && __max)
-+        {
-+          // XXX Probably wrong for stateful encodings
-+          __tmp_state = __state;
-+          ++__from;
-+          ++__ret;
-+          --__max;
-+        }
-+      }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+
-+    return __ret; 
-+  }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/collate_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/collate_members.cc     2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2  collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L)      strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L)   strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L)      wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L)   wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+  // These are basically extensions to char_traits, and perhaps should
-+  // be put there instead of here.
-+  template<>
-+    int 
-+    collate<char>::_M_compare(const char* __one, const char* __two) const
-+    { 
-+      int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+      return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+    }
-+  
-+  template<>
-+    size_t
-+    collate<char>::_M_transform(char* __to, const char* __from, 
-+                              size_t __n) const 
-+    { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+  template<>
-+    int 
-+    collate<wchar_t>::_M_compare(const wchar_t* __one, 
-+                               const wchar_t* __two) const
-+    {
-+      int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+      return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+    }
-+  
-+  template<>
-+    size_t
-+    collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+                                 size_t __n) const
-+    { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/ctype_members.cc   1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc       2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2  ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L)           wctype((S))
-+#define __towupper_l(C, L)         towupper((C))
-+#define __towlower_l(C, L)         towlower((C))
-+#define __iswctype_l(C, M, L)      iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+  // NB: The other ctype<char> specializations are in src/locale.cc and
-+  // various /config/os/* files.
-+  template<>
-+    ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+    : ctype<char>(0, false, __refs) 
-+    {                 
-+      if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+      {
-+        this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+        this->_S_create_c_locale(this->_M_c_locale_ctype, __s); 
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+        this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+        this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+        this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+      }
-+    }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T  
-+  ctype<wchar_t>::__wmask_type
-+  ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+  {
-+    __wmask_type __ret;
-+    switch (__m)
-+      {
-+      case space:
-+      __ret = __wctype_l("space", _M_c_locale_ctype);
-+      break;
-+      case print:
-+      __ret = __wctype_l("print", _M_c_locale_ctype);
-+      break;
-+      case cntrl:
-+      __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+      break;
-+      case upper:
-+      __ret = __wctype_l("upper", _M_c_locale_ctype);
-+      break;
-+      case lower:
-+      __ret = __wctype_l("lower", _M_c_locale_ctype);
-+      break;
-+      case alpha:
-+      __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+      break;
-+      case digit:
-+      __ret = __wctype_l("digit", _M_c_locale_ctype);
-+      break;
-+      case punct:
-+      __ret = __wctype_l("punct", _M_c_locale_ctype);
-+      break;
-+      case xdigit:
-+      __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+      break;
-+      case alnum:
-+      __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+      break;
-+      case graph:
-+      __ret = __wctype_l("graph", _M_c_locale_ctype);
-+      break;
-+      default:
-+      __ret = __wmask_type();
-+      }
-+    return __ret;
-+  }
-+  
-+  wchar_t
-+  ctype<wchar_t>::do_toupper(wchar_t __c) const
-+  { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+  const wchar_t*
-+  ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+  {
-+    while (__lo < __hi)
-+      {
-+        *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+        ++__lo;
-+      }
-+    return __hi;
-+  }
-+  
-+  wchar_t
-+  ctype<wchar_t>::do_tolower(wchar_t __c) const
-+  { return __towlower_l(__c, _M_c_locale_ctype); }
-+  
-+  const wchar_t*
-+  ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+  {
-+    while (__lo < __hi)
-+      {
-+        *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+        ++__lo;
-+      }
-+    return __hi;
-+  }
-+
-+  bool
-+  ctype<wchar_t>::
-+  do_is(mask __m, wchar_t __c) const
-+  { 
-+    // Highest bitmask in ctype_base == 10, but extra in "C"
-+    // library for blank.
-+    bool __ret = false;
-+    const size_t __bitmasksize = 11; 
-+    for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+      if (__m & _M_bit[__bitcur]
-+        && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+      {
-+        __ret = true;
-+        break;
-+      }
-+    return __ret;    
-+  }
-+  
-+  const wchar_t* 
-+  ctype<wchar_t>::
-+  do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+  {
-+    for (; __lo < __hi; ++__vec, ++__lo)
-+      {
-+      // Highest bitmask in ctype_base == 10, but extra in "C"
-+      // library for blank.
-+      const size_t __bitmasksize = 11; 
-+      mask __m = 0;
-+      for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+        if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+          __m |= _M_bit[__bitcur];
-+      *__vec = __m;
-+      }
-+    return __hi;
-+  }
-+  
-+  const wchar_t* 
-+  ctype<wchar_t>::
-+  do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+  {
-+    while (__lo < __hi && !this->do_is(__m, *__lo))
-+      ++__lo;
-+    return __lo;
-+  }
-+
-+  const wchar_t*
-+  ctype<wchar_t>::
-+  do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+  {
-+    while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+      ++__lo;
-+    return __lo;
-+  }
-+
-+  wchar_t
-+  ctype<wchar_t>::
-+  do_widen(char __c) const
-+  { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+  const char* 
-+  ctype<wchar_t>::
-+  do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+  {
-+    while (__lo < __hi)
-+      {
-+      *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+      ++__lo;
-+      ++__dest;
-+      }
-+    return __hi;
-+  }
-+
-+  char
-+  ctype<wchar_t>::
-+  do_narrow(wchar_t __wc, char __dfault) const
-+  {
-+    if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+      return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+    const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+    return (__c == EOF ? __dfault : static_cast<char>(__c)); 
-+  }
-+
-+  const wchar_t*
-+  ctype<wchar_t>::
-+  do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault, 
-+          char* __dest) const
-+  {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+    if (_M_narrow_ok)
-+      while (__lo < __hi)
-+      {
-+        if (*__lo >= 0 && *__lo < 128)
-+          *__dest = _M_narrow[*__lo];
-+        else
-+          {
-+            const int __c = wctob(*__lo);
-+            *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+          }
-+        ++__lo;
-+        ++__dest;
-+      }
-+    else
-+      while (__lo < __hi)
-+      {
-+        const int __c = wctob(*__lo);
-+        *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+        ++__lo;
-+        ++__dest;
-+      }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+    return __hi;
-+  }
-+
-+  void
-+  ctype<wchar_t>::_M_initialize_ctype()
-+  {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+    wint_t __i;
-+    for (__i = 0; __i < 128; ++__i)
-+      {
-+      const int __c = wctob(__i);
-+      if (__c == EOF)
-+        break;
-+      else
-+        _M_narrow[__i] = static_cast<char>(__c);
-+      }
-+    if (__i == 128)
-+      _M_narrow_ok = true;
-+    else
-+      _M_narrow_ok = false;
-+    for (size_t __j = 0;
-+       __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+      _M_widen[__j] = btowc(__j);
-+
-+    for (size_t __k = 0; __k <= 11; ++__k)
-+      { 
-+      _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+      _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+      }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+    __uselocale(__old);
-+#endif
-+  }
-+#endif //  _GLIBCXX_USE_WCHAR_T
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.cc        1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.cc    2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2  messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+                           const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+  // Specializations.
-+  template<>
-+    string
-+    messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+    {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+      __c_locale __old = __uselocale(_M_c_locale_messages);
-+      const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+      __uselocale(__old);
-+      return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+      char* __old = strdup(setlocale(LC_ALL, NULL));
-+      setlocale(LC_ALL, _M_name_messages);
-+      const char* __msg = gettext(__dfault.c_str());
-+      setlocale(LC_ALL, __old);
-+      free(__old);
-+      return string(__msg);
-+#else
-+      const char* __msg = gettext(__dfault.c_str());
-+      return string(__msg);
-+#endif
-+    }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+  template<>
-+    wstring
-+    messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+    {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+      __c_locale __old = __uselocale(_M_c_locale_messages);
-+      char* __msg = gettext(_M_convert_to_char(__dfault));
-+      __uselocale(__old);
-+      return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+      char* __old = strdup(setlocale(LC_ALL, NULL));
-+      setlocale(LC_ALL, _M_name_messages);
-+      char* __msg = gettext(_M_convert_to_char(__dfault));
-+      setlocale(LC_ALL, __old);
-+      free(__old);
-+      return _M_convert_from_char(__msg);
-+# else
-+      char* __msg = gettext(_M_convert_to_char(__dfault));
-+      return _M_convert_from_char(__msg);
-+# endif
-+    }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/messages_members.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/messages_members.h     2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2  messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+                                const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D)           ((void)0)
-+#define __bindtextdomain(D,P)     ((void)0)
-+#endif
-+
-+  // Non-virtual member functions.
-+  template<typename _CharT>
-+     messages<_CharT>::messages(size_t __refs)
-+     : facet(__refs), _M_c_locale_messages(_S_get_c_locale()), 
-+     _M_name_messages(_S_get_c_name())
-+     { }
-+
-+  template<typename _CharT>
-+     messages<_CharT>::messages(__c_locale __cloc, const char* __s, 
-+                              size_t __refs) 
-+     : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+     _M_name_messages(__s)
-+     {
-+       char* __tmp = new char[std::strlen(__s) + 1];
-+       std::strcpy(__tmp, __s);
-+       _M_name_messages = __tmp;
-+     }
-+
-+  template<typename _CharT>
-+    typename messages<_CharT>::catalog 
-+    messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc, 
-+                         const char* __dir) const
-+    { 
-+      __bindtextdomain(__s.c_str(), __dir);
-+      return this->do_open(__s, __loc); 
-+    }
-+
-+  // Virtual member functions.
-+  template<typename _CharT>
-+    messages<_CharT>::~messages()
-+    { 
-+      if (_M_name_messages != _S_get_c_name())
-+      delete [] _M_name_messages;
-+      _S_destroy_c_locale(_M_c_locale_messages); 
-+    }
-+
-+  template<typename _CharT>
-+    typename messages<_CharT>::catalog 
-+    messages<_CharT>::do_open(const basic_string<char>& __s, 
-+                            const locale&) const
-+    { 
-+      // No error checking is done, assume the catalog exists and can
-+      // be used.
-+      __textdomain(__s.c_str());
-+      return 0;
-+    }
-+
-+  template<typename _CharT>
-+    void    
-+    messages<_CharT>::do_close(catalog) const 
-+    { }
-+
-+   // messages_byname
-+   template<typename _CharT>
-+     messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+     : messages<_CharT>(__refs) 
-+     { 
-+       if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+       delete [] this->_M_name_messages;
-+       char* __tmp = new char[std::strlen(__s) + 1];
-+       std::strcpy(__tmp, __s);
-+       this->_M_name_messages = __tmp;
-+
-+       if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+       {
-+         this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+         this->_S_create_c_locale(this->_M_c_locale_messages, __s); 
-+       }
-+     }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/monetary_members.cc        1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc    2005-04-28 01:23:02.000000000 -0500
-@@ -0,0 +1,692 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2  moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L)         nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+  // Construct and return valid pattern consisting of some combination of:
-+  // space none symbol sign value
-+  money_base::pattern
-+  money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+  { 
-+    pattern __ret;
-+
-+    // This insanely complicated routine attempts to construct a valid
-+    // pattern for use with monyepunct. A couple of invariants:
-+
-+    // if (__precedes) symbol -> value
-+    // else value -> symbol
-+    
-+    // if (__space) space
-+    // else none
-+
-+    // none == never first
-+    // space never first or last
-+
-+    // Any elegant implementations of this are welcome.
-+    switch (__posn)
-+      {
-+      case 0:
-+      case 1:
-+      // 1 The sign precedes the value and symbol.
-+      __ret.field[0] = sign;
-+      if (__space)
-+        {
-+          // Pattern starts with sign.
-+          if (__precedes)
-+            {
-+              __ret.field[1] = symbol;
-+              __ret.field[3] = value;
-+            }
-+          else
-+            {
-+              __ret.field[1] = value;
-+              __ret.field[3] = symbol;
-+            }
-+          __ret.field[2] = space;
-+        }
-+      else
-+        {
-+          // Pattern starts with sign and ends with none.
-+          if (__precedes)
-+            {
-+              __ret.field[1] = symbol;
-+              __ret.field[2] = value;
-+            }
-+          else
-+            {
-+              __ret.field[1] = value;
-+              __ret.field[2] = symbol;
-+            }
-+          __ret.field[3] = none;
-+        }
-+      break;
-+      case 2:
-+      // 2 The sign follows the value and symbol.
-+      if (__space)
-+        {
-+          // Pattern either ends with sign.
-+          if (__precedes)
-+            {
-+              __ret.field[0] = symbol;
-+              __ret.field[2] = value;
-+            }
-+          else
-+            {
-+              __ret.field[0] = value;
-+              __ret.field[2] = symbol;
-+            }
-+          __ret.field[1] = space;
-+          __ret.field[3] = sign;
-+        }
-+      else
-+        {
-+          // Pattern ends with sign then none.
-+          if (__precedes)
-+            {
-+              __ret.field[0] = symbol;
-+              __ret.field[1] = value;
-+            }
-+          else
-+            {
-+              __ret.field[0] = value;
-+              __ret.field[1] = symbol;
-+            }
-+          __ret.field[2] = sign;
-+          __ret.field[3] = none;
-+        }
-+      break;
-+      case 3:
-+      // 3 The sign immediately precedes the symbol.
-+      if (__precedes)
-+        {
-+          __ret.field[0] = sign;
-+          __ret.field[1] = symbol;        
-+          if (__space)
-+            {
-+              __ret.field[2] = space;
-+              __ret.field[3] = value;
-+            }
-+          else
-+            {
-+              __ret.field[2] = value;         
-+              __ret.field[3] = none;
-+            }
-+        }
-+      else
-+        {
-+          __ret.field[0] = value;
-+          if (__space)
-+            {
-+              __ret.field[1] = space;
-+              __ret.field[2] = sign;
-+              __ret.field[3] = symbol;
-+            }
-+          else
-+            {
-+              __ret.field[1] = sign;
-+              __ret.field[2] = symbol;
-+              __ret.field[3] = none;
-+            }
-+        }
-+      break;
-+      case 4:
-+      // 4 The sign immediately follows the symbol.
-+      if (__precedes)
-+        {
-+          __ret.field[0] = symbol;
-+          __ret.field[1] = sign;
-+          if (__space)
-+            {
-+              __ret.field[2] = space;
-+              __ret.field[3] = value;
-+            }
-+          else
-+            {
-+              __ret.field[2] = value;
-+              __ret.field[3] = none;
-+            }
-+        }
-+      else
-+        {
-+          __ret.field[0] = value;
-+          if (__space)
-+            {
-+              __ret.field[1] = space;
-+              __ret.field[2] = symbol;
-+              __ret.field[3] = sign;
-+            }
-+          else
-+            {
-+              __ret.field[1] = symbol;
-+              __ret.field[2] = sign;
-+              __ret.field[3] = none;
-+            }
-+        }
-+      break;
-+      default:
-+      __ret = pattern();
-+      }
-+    return __ret;
-+  }
-+
-+  template<> 
-+    void
-+    moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc, 
-+                                                   const char*)
-+    {
-+      if (!_M_data)
-+      _M_data = new __moneypunct_cache<char, true>;
-+
-+      if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_data->_M_decimal_point = '.';
-+        _M_data->_M_thousands_sep = ',';
-+        _M_data->_M_grouping = "";
-+        _M_data->_M_grouping_size = 0;
-+        _M_data->_M_curr_symbol = "";
-+        _M_data->_M_curr_symbol_size = 0;
-+        _M_data->_M_positive_sign = "";
-+        _M_data->_M_positive_sign_size = 0;
-+        _M_data->_M_negative_sign = "";
-+        _M_data->_M_negative_sign_size = 0;
-+        _M_data->_M_frac_digits = 0;
-+        _M_data->_M_pos_format = money_base::_S_default_pattern;
-+        _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+        for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+          _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+      }
-+      else
-+      {
-+        // Named locale.
-+        _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT, 
-+                                                      __cloc));
-+        _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP, 
-+                                                      __cloc));
-+        _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+        _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+        _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+        _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+        char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+        if (!__nposn)
-+          _M_data->_M_negative_sign = "()";
-+        else
-+          _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN, 
-+                                                      __cloc);
-+        _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+        // _Intl == true
-+        _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+        _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+        _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS, 
-+                                                    __cloc));
-+        char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+        char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+        char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+        _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace, 
-+                                                      __pposn);
-+        char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+        char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+        _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace, 
-+                                                      __nposn);
-+      }
-+    }
-+
-+  template<> 
-+    void
-+    moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc, 
-+                                                    const char*)
-+    {
-+      if (!_M_data)
-+      _M_data = new __moneypunct_cache<char, false>;
-+
-+      if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_data->_M_decimal_point = '.';
-+        _M_data->_M_thousands_sep = ',';
-+        _M_data->_M_grouping = "";
-+        _M_data->_M_grouping_size = 0;
-+        _M_data->_M_curr_symbol = "";
-+        _M_data->_M_curr_symbol_size = 0;
-+        _M_data->_M_positive_sign = "";
-+        _M_data->_M_positive_sign_size = 0;
-+        _M_data->_M_negative_sign = "";
-+        _M_data->_M_negative_sign_size = 0;
-+        _M_data->_M_frac_digits = 0;
-+        _M_data->_M_pos_format = money_base::_S_default_pattern;
-+        _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+        for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+          _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+      }
-+      else
-+      {
-+        // Named locale.
-+        _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT, 
-+                                                      __cloc));
-+        _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP, 
-+                                                      __cloc));
-+        _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+        _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+        _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+        _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+        char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+        if (!__nposn)
-+          _M_data->_M_negative_sign = "()";
-+        else
-+          _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+                                                      __cloc);
-+        _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+        // _Intl == false
-+        _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+        _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+        _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+        char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+        char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+        char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+        _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace, 
-+                                                      __pposn);
-+        char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+        char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+        _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace, 
-+                                                      __nposn);
-+      }
-+    }
-+
-+  template<> 
-+    moneypunct<char, true>::~moneypunct()
-+    { delete _M_data; }
-+
-+  template<> 
-+    moneypunct<char, false>::~moneypunct()
-+    { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+  template<> 
-+    void
-+    moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc, 
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+                                                      const char*)
-+#else
-+                                                      const char* __name)
-+#endif
-+    {
-+      if (!_M_data)
-+      _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+      if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_data->_M_decimal_point = L'.';
-+        _M_data->_M_thousands_sep = L',';
-+        _M_data->_M_grouping = "";
-+        _M_data->_M_grouping_size = 0;
-+        _M_data->_M_curr_symbol = L"";
-+        _M_data->_M_curr_symbol_size = 0;
-+        _M_data->_M_positive_sign = L"";
-+        _M_data->_M_positive_sign_size = 0;
-+        _M_data->_M_negative_sign = L"";
-+        _M_data->_M_negative_sign_size = 0;
-+        _M_data->_M_frac_digits = 0;
-+        _M_data->_M_pos_format = money_base::_S_default_pattern;
-+        _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+        // Use ctype::widen code without the facet...
-+        for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+          _M_data->_M_atoms[__i] =
-+            static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+      }
-+      else
-+      {
-+        // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+        __c_locale __old = __uselocale(__cloc);
-+#else
-+        // Switch to named locale so that mbsrtowcs will work.
-+        char* __old = strdup(setlocale(LC_ALL, NULL));
-+        setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+        _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+        _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+        _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+        _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+        union { char *__s; wchar_t __w; } __u;
-+        __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+        _M_data->_M_decimal_point = __u.__w;
-+
-+        __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+        _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+        _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+        _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+        const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+        const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+        const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+        wchar_t* __wcs_ps = 0;
-+        wchar_t* __wcs_ns = 0;
-+        const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+        try
-+          {
-+            mbstate_t __state;
-+            size_t __len = strlen(__cpossign);
-+            if (__len)
-+              {
-+                ++__len;
-+                memset(&__state, 0, sizeof(mbstate_t));
-+                __wcs_ps = new wchar_t[__len];
-+                mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+                _M_data->_M_positive_sign = __wcs_ps;
-+              }
-+            else
-+              _M_data->_M_positive_sign = L"";
-+            _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+            
-+            __len = strlen(__cnegsign);
-+            if (!__nposn)
-+              _M_data->_M_negative_sign = L"()";
-+            else if (__len)
-+              { 
-+                ++__len;
-+                memset(&__state, 0, sizeof(mbstate_t));
-+                __wcs_ns = new wchar_t[__len];
-+                mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+                _M_data->_M_negative_sign = __wcs_ns;
-+              }
-+            else
-+              _M_data->_M_negative_sign = L"";
-+            _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+            
-+            // _Intl == true.
-+            __len = strlen(__ccurr);
-+            if (__len)
-+              {
-+                ++__len;
-+                memset(&__state, 0, sizeof(mbstate_t));
-+                wchar_t* __wcs = new wchar_t[__len];
-+                mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+                _M_data->_M_curr_symbol = __wcs;
-+              }
-+            else
-+              _M_data->_M_curr_symbol = L"";
-+            _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+          }
-+        catch (...)
-+          {
-+            delete _M_data;
-+            _M_data = 0;
-+            delete __wcs_ps;
-+            delete __wcs_ns;        
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+            __uselocale(__old);
-+#else
-+            setlocale(LC_ALL, __old);
-+            free(__old);
-+#endif
-+            __throw_exception_again;
-+          } 
-+        
-+        _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS, 
-+                                                    __cloc));
-+        char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+        char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+        char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+        _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace, 
-+                                                      __pposn);
-+        char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+        char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+        _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace, 
-+                                                      __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+        __uselocale(__old);
-+#else
-+        setlocale(LC_ALL, __old);
-+        free(__old);
-+#endif
-+      }
-+    }
-+
-+  template<> 
-+  void
-+  moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+                                                     const char*)
-+#else
-+                                                       const char* __name)
-+#endif
-+  {
-+    if (!_M_data)
-+      _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+    if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_data->_M_decimal_point = L'.';
-+        _M_data->_M_thousands_sep = L',';
-+        _M_data->_M_grouping = "";
-+          _M_data->_M_grouping_size = 0;
-+        _M_data->_M_curr_symbol = L"";
-+        _M_data->_M_curr_symbol_size = 0;
-+        _M_data->_M_positive_sign = L"";
-+        _M_data->_M_positive_sign_size = 0;
-+        _M_data->_M_negative_sign = L"";
-+        _M_data->_M_negative_sign_size = 0;
-+        _M_data->_M_frac_digits = 0;
-+        _M_data->_M_pos_format = money_base::_S_default_pattern;
-+        _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+        // Use ctype::widen code without the facet...
-+        for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+          _M_data->_M_atoms[__i] =
-+            static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+      }
-+      else
-+      {
-+        // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+        __c_locale __old = __uselocale(__cloc);
-+#else
-+        // Switch to named locale so that mbsrtowcs will work.
-+        char* __old = strdup(setlocale(LC_ALL, NULL));
-+        setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+        _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+        _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+        _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+        _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+          union { char *__s; wchar_t __w; } __u;
-+        __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+        _M_data->_M_decimal_point = __u.__w;
-+
-+        __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+        _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+        _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+          _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+        const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+        const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+        const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+        wchar_t* __wcs_ps = 0;
-+        wchar_t* __wcs_ns = 0;
-+        const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+        try
-+            {
-+              mbstate_t __state;
-+              size_t __len;
-+              __len = strlen(__cpossign);
-+              if (__len)
-+                {
-+                ++__len;
-+                memset(&__state, 0, sizeof(mbstate_t));
-+                __wcs_ps = new wchar_t[__len];
-+                mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+                _M_data->_M_positive_sign = __wcs_ps;
-+              }
-+            else
-+              _M_data->_M_positive_sign = L"";
-+              _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+            
-+            __len = strlen(__cnegsign);
-+            if (!__nposn)
-+              _M_data->_M_negative_sign = L"()";
-+            else if (__len)
-+              { 
-+                ++__len;
-+                memset(&__state, 0, sizeof(mbstate_t));
-+                __wcs_ns = new wchar_t[__len];
-+                mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+                _M_data->_M_negative_sign = __wcs_ns;
-+              }
-+            else
-+              _M_data->_M_negative_sign = L"";
-+              _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+            // _Intl == true.
-+            __len = strlen(__ccurr);
-+            if (__len)
-+              {
-+                ++__len;
-+                memset(&__state, 0, sizeof(mbstate_t));
-+                wchar_t* __wcs = new wchar_t[__len];
-+                mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+                _M_data->_M_curr_symbol = __wcs;
-+              }
-+            else
-+              _M_data->_M_curr_symbol = L"";
-+              _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+          }
-+          catch (...)
-+          {
-+            delete _M_data;
-+              _M_data = 0;
-+            delete __wcs_ps;
-+            delete __wcs_ns;        
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+            __uselocale(__old);
-+#else
-+            setlocale(LC_ALL, __old);
-+            free(__old);
-+#endif
-+              __throw_exception_again;
-+          }
-+
-+        _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+        char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+        char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+        char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+        _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace, 
-+                                                      __pposn);
-+        char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+        char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+        _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace, 
-+                                                      __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+        __uselocale(__old);
-+#else
-+        setlocale(LC_ALL, __old);
-+        free(__old);
-+#endif
-+      }
-+    }
-+
-+  template<> 
-+    moneypunct<wchar_t, true>::~moneypunct()
-+    {
-+      if (_M_data->_M_positive_sign_size)
-+      delete [] _M_data->_M_positive_sign;
-+      if (_M_data->_M_negative_sign_size
-+          && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+      delete [] _M_data->_M_negative_sign;
-+      if (_M_data->_M_curr_symbol_size)
-+      delete [] _M_data->_M_curr_symbol;
-+      delete _M_data;
-+    }
-+
-+  template<> 
-+    moneypunct<wchar_t, false>::~moneypunct()
-+    {
-+      if (_M_data->_M_positive_sign_size)
-+      delete [] _M_data->_M_positive_sign;
-+      if (_M_data->_M_negative_sign_size
-+          && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+      delete [] _M_data->_M_negative_sign;
-+      if (_M_data->_M_curr_symbol_size)
-+      delete [] _M_data->_M_curr_symbol;
-+      delete _M_data;
-+    }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc     2005-04-28 01:20:20.000000000 -0500
-@@ -0,0 +1,173 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2  numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L)         nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+  template<> 
-+    void
-+    numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+    {
-+      if (!_M_data)
-+      _M_data = new __numpunct_cache<char>;
-+
-+      if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_data->_M_grouping = "";
-+        _M_data->_M_grouping_size = 0;
-+        _M_data->_M_use_grouping = false;
-+
-+        _M_data->_M_decimal_point = '.';
-+        _M_data->_M_thousands_sep = ',';
-+
-+        for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+          _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+        for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+          _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+      }
-+      else
-+      {
-+        // Named locale.
-+        _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT, 
-+                                                      __cloc));
-+        _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP, 
-+                                                      __cloc));
-+
-+        // Check for NULL, which implies no grouping.
-+        if (_M_data->_M_thousands_sep == '\0')
-+          _M_data->_M_grouping = "";
-+        else
-+          _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+        _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+      }
-+
-+      // NB: There is no way to extact this info from posix locales.
-+      // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+      _M_data->_M_truename = "true";
-+      _M_data->_M_truename_size = 4;
-+      // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+      _M_data->_M_falsename = "false";
-+      _M_data->_M_falsename_size = 5;
-+    }
-+ 
-+  template<> 
-+    numpunct<char>::~numpunct()
-+    { delete _M_data; }
-+   
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+  template<> 
-+    void
-+    numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+    {
-+      if (!_M_data)
-+      _M_data = new __numpunct_cache<wchar_t>;
-+
-+      if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_data->_M_grouping = "";
-+        _M_data->_M_grouping_size = 0;
-+        _M_data->_M_use_grouping = false;
-+
-+        _M_data->_M_decimal_point = L'.';
-+        _M_data->_M_thousands_sep = L',';
-+
-+        // Use ctype::widen code without the facet...
-+        for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+          _M_data->_M_atoms_out[__i] =
-+            static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
-+
-+        for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+          _M_data->_M_atoms_in[__j] =
-+            static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
-+      }
-+      else
-+      {
-+        // Named locale.
-+        // NB: In the GNU model wchar_t is always 32 bit wide.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+        _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+        _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+        _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+        _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+        union { char *__s; wchar_t __w; } __u;
-+        __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+        _M_data->_M_decimal_point = __u.__w;
-+
-+        __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+        _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+
-+        if (_M_data->_M_thousands_sep == L'\0')
-+          _M_data->_M_grouping = "";
-+        else
-+          _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+        _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+      }
-+
-+      // NB: There is no way to extact this info from posix locales.
-+      // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+      _M_data->_M_truename = L"true";
-+      _M_data->_M_truename_size = 4;
-+      // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+      _M_data->_M_falsename = L"false";
-+      _M_data->_M_falsename_size = 5;
-+    }
-+
-+  template<> 
-+    numpunct<wchar_t>::~numpunct()
-+    { delete _M_data; }
-+ #endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.cc    1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.cc        2005-04-28 01:13:15.000000000 -0500
-@@ -0,0 +1,406 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L)         nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+  template<>
-+    void
-+    __timepunct<char>::
-+    _M_put(char* __s, size_t __maxlen, const char* __format, 
-+         const tm* __tm) const
-+    {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+      const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+                                      _M_c_locale_timepunct);
-+#else
-+      char* __old = strdup(setlocale(LC_ALL, NULL));
-+      setlocale(LC_ALL, _M_name_timepunct);
-+      const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+      setlocale(LC_ALL, __old);
-+      free(__old);
-+#endif
-+      // Make sure __s is null terminated.
-+      if (__len == 0)
-+      __s[0] = '\0';
-+    }
-+
-+  template<> 
-+    void
-+    __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+    {
-+      if (!_M_data)
-+      _M_data = new __timepunct_cache<char>;
-+
-+      if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_c_locale_timepunct = _S_get_c_locale();
-+
-+        _M_data->_M_date_format = "%m/%d/%y";
-+        _M_data->_M_date_era_format = "%m/%d/%y";
-+        _M_data->_M_time_format = "%H:%M:%S";
-+        _M_data->_M_time_era_format = "%H:%M:%S";
-+        _M_data->_M_date_time_format = "";
-+        _M_data->_M_date_time_era_format = "";
-+        _M_data->_M_am = "AM";
-+        _M_data->_M_pm = "PM";
-+        _M_data->_M_am_pm_format = "";
-+
-+        // Day names, starting with "C"'s Sunday.
-+        _M_data->_M_day1 = "Sunday";
-+        _M_data->_M_day2 = "Monday";
-+        _M_data->_M_day3 = "Tuesday";
-+        _M_data->_M_day4 = "Wednesday";
-+        _M_data->_M_day5 = "Thursday";
-+        _M_data->_M_day6 = "Friday";
-+        _M_data->_M_day7 = "Saturday";
-+
-+        // Abbreviated day names, starting with "C"'s Sun.
-+        _M_data->_M_aday1 = "Sun";
-+        _M_data->_M_aday2 = "Mon";
-+        _M_data->_M_aday3 = "Tue";
-+        _M_data->_M_aday4 = "Wed";
-+        _M_data->_M_aday5 = "Thu";
-+        _M_data->_M_aday6 = "Fri";
-+        _M_data->_M_aday7 = "Sat";
-+
-+        // Month names, starting with "C"'s January.
-+        _M_data->_M_month01 = "January";
-+        _M_data->_M_month02 = "February";
-+        _M_data->_M_month03 = "March";
-+        _M_data->_M_month04 = "April";
-+        _M_data->_M_month05 = "May";
-+        _M_data->_M_month06 = "June";
-+        _M_data->_M_month07 = "July";
-+        _M_data->_M_month08 = "August";
-+        _M_data->_M_month09 = "September";
-+        _M_data->_M_month10 = "October";
-+        _M_data->_M_month11 = "November";
-+        _M_data->_M_month12 = "December";
-+
-+        // Abbreviated month names, starting with "C"'s Jan.
-+        _M_data->_M_amonth01 = "Jan";
-+        _M_data->_M_amonth02 = "Feb";
-+        _M_data->_M_amonth03 = "Mar";
-+        _M_data->_M_amonth04 = "Apr";
-+        _M_data->_M_amonth05 = "May";
-+        _M_data->_M_amonth06 = "Jun";
-+        _M_data->_M_amonth07 = "Jul";
-+        _M_data->_M_amonth08 = "Aug";
-+        _M_data->_M_amonth09 = "Sep";
-+        _M_data->_M_amonth10 = "Oct";
-+        _M_data->_M_amonth11 = "Nov";
-+        _M_data->_M_amonth12 = "Dec";
-+      }
-+      else
-+      {
-+        _M_c_locale_timepunct = _S_clone_c_locale(__cloc); 
-+
-+        _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+        _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+        _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+        _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+        _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+        _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
-+                                                           __cloc);
-+        _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+        _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+        _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+        // Day names, starting with "C"'s Sunday.
-+        _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+        _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+        _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+        _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+        _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+        _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+        _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+        // Abbreviated day names, starting with "C"'s Sun.
-+        _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+        _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+        _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+        _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+        _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+        _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+        _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+        // Month names, starting with "C"'s January.
-+        _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+        _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+        _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+        _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+        _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+        _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+        _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+        _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+        _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+        _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+        _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+        _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+        // Abbreviated month names, starting with "C"'s Jan.
-+        _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+        _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+        _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+        _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+        _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+        _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+        _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+        _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+        _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+        _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+        _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+        _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+      }
-+    }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+  template<>
-+    void
-+    __timepunct<wchar_t>::
-+    _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format, 
-+         const tm* __tm) const
-+    {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+      __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+      const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+                                      _M_c_locale_timepunct);
-+#else
-+      char* __old = strdup(setlocale(LC_ALL, NULL));
-+      setlocale(LC_ALL, _M_name_timepunct);
-+      const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+      setlocale(LC_ALL, __old);
-+      free(__old);
-+#endif
-+      // Make sure __s is null terminated.
-+      if (__len == 0)
-+      __s[0] = L'\0';
-+    }
-+
-+  template<> 
-+    void
-+    __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+    {
-+      if (!_M_data)
-+      _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+//       if (!__cloc)
-+      {
-+        // "C" locale
-+        _M_c_locale_timepunct = _S_get_c_locale();
-+
-+        _M_data->_M_date_format = L"%m/%d/%y";
-+        _M_data->_M_date_era_format = L"%m/%d/%y";
-+        _M_data->_M_time_format = L"%H:%M:%S";
-+        _M_data->_M_time_era_format = L"%H:%M:%S";
-+        _M_data->_M_date_time_format = L"";
-+        _M_data->_M_date_time_era_format = L"";
-+        _M_data->_M_am = L"AM";
-+        _M_data->_M_pm = L"PM";
-+        _M_data->_M_am_pm_format = L"";
-+
-+        // Day names, starting with "C"'s Sunday.
-+        _M_data->_M_day1 = L"Sunday";
-+        _M_data->_M_day2 = L"Monday";
-+        _M_data->_M_day3 = L"Tuesday";
-+        _M_data->_M_day4 = L"Wednesday";
-+        _M_data->_M_day5 = L"Thursday";
-+        _M_data->_M_day6 = L"Friday";
-+        _M_data->_M_day7 = L"Saturday";
-+
-+        // Abbreviated day names, starting with "C"'s Sun.
-+        _M_data->_M_aday1 = L"Sun";
-+        _M_data->_M_aday2 = L"Mon";
-+        _M_data->_M_aday3 = L"Tue";
-+        _M_data->_M_aday4 = L"Wed";
-+        _M_data->_M_aday5 = L"Thu";
-+        _M_data->_M_aday6 = L"Fri";
-+        _M_data->_M_aday7 = L"Sat";
-+
-+        // Month names, starting with "C"'s January.
-+        _M_data->_M_month01 = L"January";
-+        _M_data->_M_month02 = L"February";
-+        _M_data->_M_month03 = L"March";
-+        _M_data->_M_month04 = L"April";
-+        _M_data->_M_month05 = L"May";
-+        _M_data->_M_month06 = L"June";
-+        _M_data->_M_month07 = L"July";
-+        _M_data->_M_month08 = L"August";
-+        _M_data->_M_month09 = L"September";
-+        _M_data->_M_month10 = L"October";
-+        _M_data->_M_month11 = L"November";
-+        _M_data->_M_month12 = L"December";
-+
-+        // Abbreviated month names, starting with "C"'s Jan.
-+        _M_data->_M_amonth01 = L"Jan";
-+        _M_data->_M_amonth02 = L"Feb";
-+        _M_data->_M_amonth03 = L"Mar";
-+        _M_data->_M_amonth04 = L"Apr";
-+        _M_data->_M_amonth05 = L"May";
-+        _M_data->_M_amonth06 = L"Jun";
-+        _M_data->_M_amonth07 = L"Jul";
-+        _M_data->_M_amonth08 = L"Aug";
-+        _M_data->_M_amonth09 = L"Sep";
-+        _M_data->_M_amonth10 = L"Oct";
-+        _M_data->_M_amonth11 = L"Nov";
-+        _M_data->_M_amonth12 = L"Dec";
-+      }
-+#if 0
-+      else
-+      {
-+        _M_c_locale_timepunct = _S_clone_c_locale(__cloc); 
-+
-+        union { char *__s; wchar_t *__w; } __u;
-+
-+        __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
-+        _M_data->_M_date_format = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
-+        _M_data->_M_date_era_format = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
-+        _M_data->_M_time_format = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
-+        _M_data->_M_time_era_format = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
-+        _M_data->_M_date_time_format = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
-+        _M_data->_M_date_time_era_format = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
-+        _M_data->_M_am = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
-+        _M_data->_M_pm = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
-+        _M_data->_M_am_pm_format = __u.__w;
-+
-+        // Day names, starting with "C"'s Sunday.
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
-+        _M_data->_M_day1 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
-+        _M_data->_M_day2 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
-+        _M_data->_M_day3 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
-+        _M_data->_M_day4 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
-+        _M_data->_M_day5 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
-+        _M_data->_M_day6 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
-+        _M_data->_M_day7 = __u.__w;
-+
-+        // Abbreviated day names, starting with "C"'s Sun.
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
-+        _M_data->_M_aday1 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
-+        _M_data->_M_aday2 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
-+        _M_data->_M_aday3 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
-+        _M_data->_M_aday4 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
-+        _M_data->_M_aday5 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
-+        _M_data->_M_aday6 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
-+        _M_data->_M_aday7 = __u.__w;
-+
-+        // Month names, starting with "C"'s January.
-+        __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
-+        _M_data->_M_month01 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
-+        _M_data->_M_month02 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
-+        _M_data->_M_month03 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
-+        _M_data->_M_month04 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
-+        _M_data->_M_month05 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
-+        _M_data->_M_month06 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
-+        _M_data->_M_month07 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
-+        _M_data->_M_month08 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
-+        _M_data->_M_month09 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
-+        _M_data->_M_month10 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
-+        _M_data->_M_month11 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
-+        _M_data->_M_month12 = __u.__w;
-+
-+        // Abbreviated month names, starting with "C"'s Jan.
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
-+        _M_data->_M_amonth01 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
-+        _M_data->_M_amonth02 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
-+        _M_data->_M_amonth03 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
-+        _M_data->_M_amonth04 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
-+        _M_data->_M_amonth05 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
-+        _M_data->_M_amonth06 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
-+        _M_data->_M_amonth07 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
-+        _M_data->_M_amonth08 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
-+        _M_data->_M_amonth09 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
-+        _M_data->_M_amonth10 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
-+        _M_data->_M_amonth11 = __u.__w;
-+        __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
-+        _M_data->_M_amonth12 = __u.__w;
-+      }
-+#endif // 0
-+    }
-+#endif
-+}
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.0.0-100/libstdc++-v3/config/locale/uclibc/time_members.h     1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/locale/uclibc/time_members.h 2004-05-22 18:46:31.000000000 -0500
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+  template<typename _CharT>
-+    __timepunct<_CharT>::__timepunct(size_t __refs) 
-+    : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), 
-+    _M_name_timepunct(_S_get_c_name())
-+    { _M_initialize_timepunct(); }
-+
-+  template<typename _CharT>
-+    __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs) 
-+    : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL), 
-+    _M_name_timepunct(_S_get_c_name())
-+    { _M_initialize_timepunct(); }
-+
-+  template<typename _CharT>
-+    __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+                                   size_t __refs) 
-+    : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL), 
-+    _M_name_timepunct(__s)
-+    { 
-+      char* __tmp = new char[std::strlen(__s) + 1];
-+      std::strcpy(__tmp, __s);
-+      _M_name_timepunct = __tmp;
-+      _M_initialize_timepunct(__cloc); 
-+    }
-+
-+  template<typename _CharT>
-+    __timepunct<_CharT>::~__timepunct()
-+    { 
-+      if (_M_name_timepunct != _S_get_c_name())
-+      delete [] _M_name_timepunct;
-+      delete _M_data; 
-+      _S_destroy_c_locale(_M_c_locale_timepunct); 
-+    }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_base.h   1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_base.h       2005-04-28 01:10:27.000000000 -0500
-@@ -0,0 +1,64 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1  Locales
-+//
-+  
-+/** @file ctype_base.h
-+ *  This is an internal header file, included by other library headers.
-+ *  You should not attempt to use it directly.
-+ */
-+
-+// Information as gleaned from /usr/include/ctype.h
-+  
-+  /// @brief  Base class for ctype.
-+  struct ctype_base
-+  {
-+    // Note: In uClibc, the following two types depend on configuration.
-+ 
-+    // Non-standard typedefs.
-+    typedef const __ctype_touplow_t* __to_type;
-+
-+    // NB: Offsets into ctype<char>::_M_table force a particular size
-+    // on the mask type. Because of this, we don't use an enum.
-+    typedef __ctype_mask_t    mask;   
-+    static const mask upper           = _ISupper;
-+    static const mask lower   = _ISlower;
-+    static const mask alpha   = _ISalpha;
-+    static const mask digit   = _ISdigit;
-+    static const mask xdigit  = _ISxdigit;
-+    static const mask space   = _ISspace;
-+    static const mask print   = _ISprint;
-+    static const mask graph   = _ISalpha | _ISdigit | _ISpunct;
-+    static const mask cntrl   = _IScntrl;
-+    static const mask punct   = _ISpunct;
-+    static const mask alnum   = _ISalpha | _ISdigit;
-+  };
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_inline.h 1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_inline.h     2002-06-24 00:49:19.000000000 -0500
-@@ -0,0 +1,69 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 2000, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1  Locales
-+//
-+  
-+// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
-+// functions go in ctype.cc
-+  
-+  bool
-+  ctype<char>::
-+  is(mask __m, char __c) const
-+  { return _M_table[static_cast<unsigned char>(__c)] & __m; }
-+
-+  const char*
-+  ctype<char>::
-+  is(const char* __low, const char* __high, mask* __vec) const
-+  {
-+    while (__low < __high)
-+      *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
-+    return __high;
-+  }
-+
-+  const char*
-+  ctype<char>::
-+  scan_is(mask __m, const char* __low, const char* __high) const
-+  {
-+    while (__low < __high 
-+         && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
-+      ++__low;
-+    return __low;
-+  }
-+
-+  const char*
-+  ctype<char>::
-+  scan_not(mask __m, const char* __low, const char* __high) const
-+  {
-+    while (__low < __high 
-+         && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
-+      ++__low;
-+    return __low;
-+  }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/ctype_noninline.h      1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h  2005-04-28 01:10:27.000000000 -0500
-@@ -0,0 +1,92 @@
-+// Locale support -*- C++ -*-
-+
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
-+// Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.1  Locales
-+//
-+  
-+// Information as gleaned from /usr/include/ctype.h
-+
-+  const ctype_base::mask*
-+  ctype<char>::classic_table() throw()
-+  { return __C_ctype_b; }
-+
-+  ctype<char>::ctype(__c_locale, const mask* __table, bool __del, 
-+                   size_t __refs) 
-+  : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), 
-+  _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+  {
-+    _M_toupper = __C_ctype_toupper;
-+    _M_tolower = __C_ctype_tolower;
-+    _M_table = __table ? __table : __C_ctype_b;
-+    memset(_M_widen, 0, sizeof(_M_widen));
-+    memset(_M_narrow, 0, sizeof(_M_narrow));
-+  }
-+
-+  ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
-+  : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), 
-+  _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0)
-+  {
-+    _M_toupper = __C_ctype_toupper;
-+    _M_tolower = __C_ctype_tolower;
-+    _M_table = __table ? __table : __C_ctype_b;
-+    memset(_M_widen, 0, sizeof(_M_widen));
-+    memset(_M_narrow, 0, sizeof(_M_narrow));
-+  }
-+
-+  char
-+  ctype<char>::do_toupper(char __c) const
-+  { return _M_toupper[static_cast<unsigned char>(__c)]; }
-+
-+  const char*
-+  ctype<char>::do_toupper(char* __low, const char* __high) const
-+  {
-+    while (__low < __high)
-+      {
-+      *__low = _M_toupper[static_cast<unsigned char>(*__low)];
-+      ++__low;
-+      }
-+    return __high;
-+  }
-+
-+  char
-+  ctype<char>::do_tolower(char __c) const
-+  { return _M_tolower[static_cast<unsigned char>(__c)]; }
-+
-+  const char* 
-+  ctype<char>::do_tolower(char* __low, const char* __high) const
-+  {
-+    while (__low < __high)
-+      {
-+      *__low = _M_tolower[static_cast<unsigned char>(*__low)];
-+      ++__low;
-+      }
-+    return __high;
-+  }
-diff -urN gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h
---- gcc-4.0.0-100/libstdc++-v3/config/os/uclibc/os_defines.h   1969-12-31 18:00:00.000000000 -0600
-+++ gcc-4.0.0/libstdc++-v3/config/os/uclibc/os_defines.h       2005-04-28 01:10:27.000000000 -0500
-@@ -0,0 +1,44 @@
-+// Specific definitions for GNU/Linux  -*- C++ -*-
-+
-+// Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 library 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 library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+#ifndef _GLIBCXX_OS_DEFINES
-+#define _GLIBCXX_OS_DEFINES 1
-+
-+// System-specific #define, typedefs, corrections, etc, go here.  This
-+// file will come before all others.
-+
-+// This keeps isanum, et al from being propagated as macros.
-+#define __NO_CTYPE 1
-+
-+#include <features.h>
-+
-+// We must not see the optimized string functions GNU libc defines.
-+#define __NO_STRING_INLINES
-+
-+#endif
-diff -urN gcc-4.0.0-100/libstdc++-v3/configure gcc-4.0.0/libstdc++-v3/configure
---- gcc-4.0.0-100/libstdc++-v3/configure       2005-04-30 13:06:53.683055232 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure   2005-04-30 12:24:24.000000000 -0500
-@@ -3998,6 +3998,11 @@
-   lt_cv_deplibs_check_method=pass_all
-   ;;
-+linux-uclibc*)
-+  lt_cv_deplibs_check_method=pass_all
-+  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
-+  ;;
-+
- netbsd* | knetbsd*-gnu)
-   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5672,7 +5677,7 @@
-   enableval="$enable_clocale"
-       case "$enableval" in
--       generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
-+       generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
-        *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
- echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
-    { (exit 1); exit 1; }; } ;;
-@@ -5697,6 +5702,9 @@
-   # Default to "generic".
-   if test $enable_clocale_flag = auto; then
-     case ${target_os} in
-+      linux-uclibc*)
-+      enable_clocale_flag=uclibc
-+      ;;
-       linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
-         cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -5927,6 +5935,76 @@
-       CTIME_CC=config/locale/generic/time_members.cc
-       CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-+    uclibc)
-+      echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+      # Declare intention to use gettext, and add support for specific
-+      # languages.
-+      # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+      ALL_LINGUAS="de fr"
-+
-+      # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+      # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  if test -n "$check_msgfmt"; then
-+  ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for ac_exec_ext in '' $ac_executable_extensions; do
-+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+    ac_cv_prog_check_msgfmt="yes"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
-+  test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+  echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+      if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+        USE_NLS=yes
-+      fi
-+      # Export the build objects.
-+      for ling in $ALL_LINGUAS; do \
-+        glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+        glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+      done
-+
-+
-+
-+      CLOCALE_H=config/locale/uclibc/c_locale.h
-+      CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+      CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+      CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+      CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+      CMESSAGES_H=config/locale/uclibc/messages_members.h
-+      CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+      CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+      CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+      CTIME_H=config/locale/uclibc/time_members.h
-+      CTIME_CC=config/locale/uclibc/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+      ;;
-   esac
-   # This is where the testsuite looks for locale catalogs, using the
-diff -urN gcc-4.0.0-100/libstdc++-v3/configure.host gcc-4.0.0/libstdc++-v3/configure.host
---- gcc-4.0.0-100/libstdc++-v3/configure.host  2005-04-30 13:06:53.688054472 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure.host      2005-04-28 20:20:32.000000000 -0500
-@@ -249,6 +249,12 @@
-     ;;
- esac
-+# Override for uClibc since linux-uclibc gets mishandled above.
-+case "${host_os}" in
-+  *-uclibc*)
-+    os_include_dir="os/uclibc"
-+    ;;
-+esac
- # Set any OS-dependent and CPU-dependent bits.
- # THIS TABLE IS SORTED.  KEEP IT THAT WAY.
-diff -urN gcc-4.0.0-100/libstdc++-v3/crossconfig.m4 gcc-4.0.0/libstdc++-v3/crossconfig.m4
---- gcc-4.0.0-100/libstdc++-v3/crossconfig.m4  2005-04-30 13:06:53.689054320 -0500
-+++ gcc-4.0.0/libstdc++-v3/crossconfig.m4      2005-04-28 20:27:15.000000000 -0500
-@@ -142,6 +142,98 @@
-       ;;
-     esac
-     ;;
-+  *-uclibc*)
-+# Temporary hack until we implement the float versions of the libm funcs
-+    AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-+      machine/endian.h machine/param.h sys/machine.h sys/types.h \
-+      fp.h float.h endian.h inttypes.h locale.h float.h stdint.h])
-+    SECTION_FLAGS='-ffunction-sections -fdata-sections'
-+    AC_SUBST(SECTION_FLAGS)
-+    GLIBCXX_CHECK_LINKER_FEATURES
-+    GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT
-+    GLIBCXX_CHECK_WCHAR_T_SUPPORT
-+
-+    # For LFS.
-+    AC_DEFINE(HAVE_INT64_T)
-+    case "$target" in
-+      *-uclinux*)
-+        # Don't enable LFS with uClinux
-+        ;;
-+      *)
-+        AC_DEFINE(_GLIBCXX_USE_LFS)
-+    esac
-+
-+    # For showmanyc_helper().
-+    AC_CHECK_HEADERS(sys/ioctl.h sys/filio.h)
-+    GLIBCXX_CHECK_POLL
-+    GLIBCXX_CHECK_S_ISREG_OR_S_IFREG
-+
-+    # For xsputn_2().
-+    AC_CHECK_HEADERS(sys/uio.h)
-+    GLIBCXX_CHECK_WRITEV
-+
-+#     AC_DEFINE(HAVE_ACOSF)
-+#     AC_DEFINE(HAVE_ASINF)
-+#     AC_DEFINE(HAVE_ATANF)
-+#     AC_DEFINE(HAVE_ATAN2F)
-+    AC_DEFINE(HAVE_CEILF)
-+    AC_DEFINE(HAVE_COPYSIGN)
-+#     AC_DEFINE(HAVE_COPYSIGNF)
-+#     AC_DEFINE(HAVE_COSF)
-+#     AC_DEFINE(HAVE_COSHF)
-+#     AC_DEFINE(HAVE_EXPF)
-+#     AC_DEFINE(HAVE_FABSF)
-+    AC_DEFINE(HAVE_FINITE)
-+    AC_DEFINE(HAVE_FINITEF)
-+    AC_DEFINE(HAVE_FLOORF)
-+#     AC_DEFINE(HAVE_FMODF)
-+#     AC_DEFINE(HAVE_FREXPF)
-+    AC_DEFINE(HAVE_HYPOT)
-+#     AC_DEFINE(HAVE_HYPOTF)
-+    AC_DEFINE(HAVE_ISINF)
-+    AC_DEFINE(HAVE_ISINFF)
-+    AC_DEFINE(HAVE_ISNAN)
-+    AC_DEFINE(HAVE_ISNANF)
-+#     AC_DEFINE(HAVE_LOGF)
-+#     AC_DEFINE(HAVE_LOG10F)
-+#     AC_DEFINE(HAVE_MODFF)
-+#     AC_DEFINE(HAVE_SINF)
-+#     AC_DEFINE(HAVE_SINHF)
-+#     AC_DEFINE(HAVE_SINCOS)
-+#     AC_DEFINE(HAVE_SINCOSF)
-+    AC_DEFINE(HAVE_SQRTF)
-+#     AC_DEFINE(HAVE_TANF)
-+#     AC_DEFINE(HAVE_TANHF)
-+    if test x"long_double_math_on_this_cpu" = x"yes"; then
-+#       AC_DEFINE(HAVE_ACOSL)
-+#       AC_DEFINE(HAVE_ASINL)
-+#       AC_DEFINE(HAVE_ATANL)
-+#       AC_DEFINE(HAVE_ATAN2L)
-+#       AC_DEFINE(HAVE_CEILL)
-+#       AC_DEFINE(HAVE_COPYSIGNL)
-+#       AC_DEFINE(HAVE_COSL)
-+#       AC_DEFINE(HAVE_COSHL)
-+#       AC_DEFINE(HAVE_EXPL)
-+#       AC_DEFINE(HAVE_FABSL)
-+#       AC_DEFINE(HAVE_FINITEL)
-+#       AC_DEFINE(HAVE_FLOORL)
-+#       AC_DEFINE(HAVE_FMODL)
-+#       AC_DEFINE(HAVE_FREXPL)
-+#       AC_DEFINE(HAVE_HYPOTL)
-+#       AC_DEFINE(HAVE_ISINFL)
-+#       AC_DEFINE(HAVE_ISNANL)
-+#       AC_DEFINE(HAVE_LOGL)
-+#       AC_DEFINE(HAVE_LOG10L)
-+#       AC_DEFINE(HAVE_MODFL)
-+#       AC_DEFINE(HAVE_POWL)
-+#       AC_DEFINE(HAVE_SINL)
-+#       AC_DEFINE(HAVE_SINHL)
-+#       AC_DEFINE(HAVE_SINCOSL)
-+#       AC_DEFINE(HAVE_SQRTL)
-+#       AC_DEFINE(HAVE_TANL)
-+#       AC_DEFINE(HAVE_TANHL)
-+    fi
-+    ;;
-   *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
-     AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
-       machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -156,7 +248,7 @@
-     AC_DEFINE(HAVE_INT64_T)
-     case "$target" in
-       *-uclinux*)
--        # Don't enable LFS with uClibc
-+        # Don't enable LFS with uClinux
-         ;;
-       *)
-         AC_DEFINE(_GLIBCXX_USE_LFS)
-diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-4.0.0-100/libstdc++-v3/include/c_compatibility/wchar.h 2005-04-30 13:06:53.690054168 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_compatibility/wchar.h     2005-04-28 20:15:56.000000000 -0500
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -urN gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-4.0.0-100/libstdc++-v3/include/c_std/std_cwchar.h      2005-04-30 13:06:53.691054016 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cwchar.h  2005-04-28 20:15:56.000000000 -0500
-@@ -179,7 +179,9 @@
-   using ::wcscoll;
-   using ::wcscpy;
-   using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
-   using ::wcsftime;
-+#endif
-   using ::wcslen;
-   using ::wcsncat;
-   using ::wcsncmp;
diff --git a/src/patches/glibc-cfi-entry-not-closed.patch b/src/patches/glibc-cfi-entry-not-closed.patch
new file mode 100644 (file)
index 0000000..02cfe8f
--- /dev/null
@@ -0,0 +1,23 @@
+--- glibc-2.12.2/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S       2011-09-08 22:22:41.000000000 +0400
++++ glibc-2.12.2/ports/sysdeps/unix/sysv/linux/arm/sigrestorer.S       2011-09-08 21:44:49.000000000 +0400
+@@ -18,16 +18,20 @@ 
+ #include <sysdep.h>
++        .text
++
+ /* If no SA_RESTORER function was specified by the application we use
+    one of these.  This avoids the need for the kernel to synthesise a return
+    instruction on the stack, which would involve expensive cache flushes. */
+ ENTRY(__default_sa_restorer)
+       swi     SYS_ify(sigreturn)
++PSEUDO_END (__default_sa_restorer)
+ #ifdef __NR_rt_sigreturn
+ ENTRY(__default_rt_sa_restorer)
+       swi     SYS_ify(rt_sigreturn)
++PSEUDO_END (__default_rt_sa_restorer)
+ #endif
diff --git a/src/patches/glibc-ports-avoid-using-asm-procinfo.patch b/src/patches/glibc-ports-avoid-using-asm-procinfo.patch
deleted file mode 100644 (file)
index 53a6d1b..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-#
-# Submitted-By: Marc Kleine-Budde, 2006-11-22
-# Committed-By: Marc Kleine-Budde
-#
-# Error:
-#
-# try to compile glibc-ports with sanitized headers
-#
-# arm-v4t-linux-gnueabi-gcc ../ports/sysdeps/arm/eabi/setfpucw.c -c
-#-std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants
-#-g -Wstrict-prototypes -Wno-uninitialized -D__NO_MATH_INLINES
-#-D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE
-#-D_Mlong_double_=double -I../include
-#-I/home/mkl/pengutronix/ptxdist/build/OSELAS.Toolchain-trunk-headers/build-target/glibc-2.5-build/math
-#-I/home/mkl/pengutronix/ptxdist/build/OSELAS.Toolchain-trunk-headers/build-target/glibc-2.5-build
-#-I../ports/sysdeps/arm/elf
-#-I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl
-#-I../ports/sysdeps/unix/sysv/linux/arm/eabi
-#-I../ports/sysdeps/unix/sysv/linux/arm/nptl
-#-I../ports/sysdeps/unix/sysv/linux/arm
-#-I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux
-#-I../nptl/sysdeps/pthread -I../sysdeps/pthread
-#-I../sysdeps/unix/sysv/linux -I../sysdeps/gnu
-#-I../sysdeps/unix/common -I../sysdeps/unix/mman
-#-I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv
-#-I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv
-#-I../ports/sysdeps/unix/arm -I../ports/sysdeps/unix
-#-I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix
-#-I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/nptl
-#-I../ports/sysdeps/arm -I../sysdeps/wordsize-32
-#-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64
-#-I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic
-#-I../ports -I../nptl -I.. -I../libio -I. -nostdinc -isystem
-#/ptx/work/mkl/ptxdist/build/OSELAS.Toolchain-trunk-headers/install/arm-v4t-linux-gnueabi/gcc-4.1.1-glibc-2.5-linux-2.6.19-rc6-s/bin/../lib/gcc/arm-v4t-linux-gnueabi/4.1.1/include
-#-isystem
-#/home/mkl/pengutronix/ptxdist/build/OSELAS.Toolchain-trunk-headers/install/arm-v4t-linux-gnueabi/gcc-4.1.1-glibc-2.5-linux-2.6.19-rc6-s/sysroot-arm-v4t-linux-gnueabi/usr/include
-#-D_LIBC_REENTRANT -include ../include/libc-symbols.h -o
-#/home/mkl/pengutronix/ptxdist/build/OSELAS.Toolchain-trunk-headers/build-target/glibc-2.5-build/math/setfpucw.o
-#-MD -MP -MF
-#/home/mkl/pengutronix/ptxdist/build/OSELAS.Toolchain-trunk-headers/build-target/glibc-2.5-build/math/setfpucw.o.dt
-#-MT
-#/home/mkl/pengutronix/ptxdist/build/OSELAS.Toolchain-trunk-headers/build-target/glibc-2.5-build/math/setfpucw.o
-# ../ports/sysdeps/arm/eabi/setfpucw.c:26:26: error: asm/procinfo.h: No such file or directory
-# ../ports/sysdeps/arm/eabi/setfpucw.c: In function '__setfpucw':
-# ../ports/sysdeps/arm/eabi/setfpucw.c:31: error: 'HWCAP_VFP' undeclared (first use in this function)
-# ../ports/sysdeps/arm/eabi/setfpucw.c:31: error: (Each undeclared identifier is reported only once
-# ../ports/sysdeps/arm/eabi/setfpucw.c:31: error: for each function it appears in.)
-#
-# Description:
-#
-# http://sourceware.org/ml/libc-ports/2006-10/msg00040.html
-#
-# State:
-#
-# added to glibc-ports on 10/31/2006 06:20 PM
-#
-Date: Tue, 24 Oct 2006 19:25:12 +0000 (UTC)
-From: "Joseph S. Myers" <joseph@codesourcery.com>
-To: libc-ports@sourceware.org
-Subject: Avoid using asm/procinfo.h
-
-I previously noted
-<http://sourceware.org/ml/libc-ports/2006-08/msg00023.html> that the
-use of <asm/procinfo.h>, a Linux-specific kernel header, in
-sysdeps/arm/eabi, is an abstraction violation, and that in principle
-all the files in sysdeps/arm/eabi should use sysdep.h not
-asm/procinfo.h for HWCAP_VFP.
-
-The ARM kernel maintainers have now declared that <asm/procinfo.h>
-should not be used outside the kernel at all (and in particular that
-headers_install is correct in not exporting it), and that these
-definitions will move to a different kernel header.  This gives a
-concrete reason for making the change to use glibc's internal
-definitions, which this patch does, thereby allowing glibc to build
-with the exported headers.
-
-2006-10-24  Joseph S. Myers  <joseph@codesourcery.com>
-
-       * sysdeps/arm/eabi/fclrexcpt.c: Include <sysdep.h> instead of
-       <asm/procinfo.h>.  Use HWCAP_ARM_VFP instead of HWCAP_VFP.
-       * sysdeps/arm/eabi/fedisblxcpt.c: Likewise.
-       * sysdeps/arm/eabi/feenablxcpt.c: Likewise.
-       * sysdeps/arm/eabi/fegetenv.c: Likewise.
-       * sysdeps/arm/eabi/fegetexcept.c: Likewise.
-       * sysdeps/arm/eabi/fegetround.c: Likewise.
-       * sysdeps/arm/eabi/feholdexcpt.c: Likewise.
-       * sysdeps/arm/eabi/fesetenv.c: Likewise.
-       * sysdeps/arm/eabi/fesetround.c: Likewise.
-       * sysdeps/arm/eabi/fraiseexcpt.c: Likewise.
-       * sysdeps/arm/eabi/fsetexcptflg.c: Likewise.
-       * sysdeps/arm/eabi/ftestexcept.c: Likewise.
-       * sysdeps/arm/eabi/setfpucw.c: Likewise.
-
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fclrexcpt.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fclrexcpt.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fclrexcpt.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- __feclearexcept (int excepts)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned long int temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fedisblxcpt.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fedisblxcpt.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fedisblxcpt.c
-@@ -24,12 +24,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- fedisableexcept (int excepts)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned long int new_exc, old_exc;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/feenablxcpt.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/feenablxcpt.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/feenablxcpt.c
-@@ -24,12 +24,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- feenableexcept (int excepts)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned long int new_exc, old_exc;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fegetenv.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fegetenv.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fegetenv.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- __fegetenv (fenv_t *envp)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned long int temp;
-       _FPU_GETCW (temp);
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fegetexcept.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fegetexcept.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fegetexcept.c
-@@ -24,12 +24,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- fegetexcept (void)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned long temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fegetround.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fegetround.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fegetround.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- fegetround (void)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned int temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/feholdexcpt.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/feholdexcpt.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/feholdexcpt.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- feholdexcept (fenv_t *envp)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned long int temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fesetenv.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fesetenv.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fesetenv.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- __fesetenv (const fenv_t *envp)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       unsigned int temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fesetround.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fesetround.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fesetround.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- fesetround (int round)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       fpu_control_t temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fraiseexcpt.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fraiseexcpt.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fraiseexcpt.c
-@@ -24,12 +24,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- feraiseexcept (int excepts)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       int fpscr;
-       const float fp_zero = 0.0, fp_one = 1.0, fp_max = FLT_MAX,
-Index: glibc-ports-2.5/sysdeps/arm/eabi/fsetexcptflg.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/fsetexcptflg.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/fsetexcptflg.c
-@@ -24,12 +24,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- __fesetexceptflag (const fexcept_t *flagp, int excepts)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       fexcept_t temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/ftestexcept.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/ftestexcept.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/ftestexcept.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- int
- fetestexcept (int excepts)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       fexcept_t temp;
-Index: glibc-ports-2.5/sysdeps/arm/eabi/setfpucw.c
-===================================================================
---- glibc-ports-2.5.orig/sysdeps/arm/eabi/setfpucw.c
-+++ glibc-ports-2.5/sysdeps/arm/eabi/setfpucw.c
-@@ -23,12 +23,12 @@
- #include <unistd.h>
- #include <ldsodefs.h>
- #include <dl-procinfo.h>
--#include <asm/procinfo.h>
-+#include <sysdep.h>
- void
- __setfpucw (fpu_control_t set)
- {
--  if (GLRO (dl_hwcap) & HWCAP_VFP)
-+  if (GLRO (dl_hwcap) & HWCAP_ARM_VFP)
-     {
-       fpu_control_t cw;
diff --git a/src/patches/glibc-remove-ctors-dtors-output-sections.patch b/src/patches/glibc-remove-ctors-dtors-output-sections.patch
new file mode 100644 (file)
index 0000000..91155c9
--- /dev/null
@@ -0,0 +1,150 @@
+From 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 Mon Sep 17 00:00:00 2001
+From: H.J. Lu <hongjiu.lu@intel.com>
+Date: Fri, 24 Dec 2010 20:14:37 -0500
+Subject: [PATCH] Remove `.ctors' and `.dtors' output sections
+
+---
+ config.h.in                            |    3 +
+ configure.in                           |    2 +
+ elf/sofini.c                           |    2 +
+ elf/soinit.c                           |    2 +
+ sysdeps/i386/init-first.c              |    2 +
+ sysdeps/mach/hurd/i386/init-first.c    |    2 +-
+ sysdeps/mach/hurd/powerpc/init-first.c |    2 +-
+ sysdeps/sh/init-first.c                |    2 +
+ sysdeps/unix/sysv/linux/init-first.c   |    2 +-
+ 9 files changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/config.h.in b/config.h.in
+index 18bf01a..9e797eb 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -201,6 +201,9 @@
+ /* Define if multi-arch DSOs should be generated.  */
+ #undef USE_MULTIARCH
++/* Define if `.ctors' and `.dtors' sections shouldn't be used.  */
++#undef        NO_CTORS_DTORS_SECTIONS
++
+ /*
\f */
+diff --git a/configure.in b/configure.in
+index d8cd5f1..ad25b9b 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1497,6 +1497,8 @@ EOF
+   rm -f conftest*])
+   if test $libc_cv_initfini_array != yes; then
+     AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
++  elif AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep SORT_BY_INIT_PRIORITY 1>&AS_MESSAGE_LOG_FD]); then
++    AC_DEFINE(NO_CTORS_DTORS_SECTIONS)
+   fi
+   AC_CACHE_CHECK(for libunwind-support in compiler,
+diff --git a/elf/sofini.c b/elf/sofini.c
+index 5e06f0c..13e74b7 100644
+--- a/elf/sofini.c
++++ b/elf/sofini.c
+@@ -1,12 +1,14 @@
+ /* Finalizer module for ELF shared C library.  This provides terminating
+    null pointer words in the `.ctors' and `.dtors' sections.  */
++#ifndef NO_CTORS_DTORS_SECTIONS
+ static void (*const __CTOR_END__[1]) (void)
+      __attribute__ ((used, section (".ctors")))
+      = { 0 };
+ static void (*const __DTOR_END__[1]) (void)
+      __attribute__ ((used, section (".dtors")))
+      = { 0 };
++#endif
+ /* Terminate the frame unwind info section with a 4byte 0 as a sentinel;
+    this would be the 'length' field in a real FDE.  */
+diff --git a/elf/soinit.c b/elf/soinit.c
+index 6fecbb5..1db676a 100644
+--- a/elf/soinit.c
++++ b/elf/soinit.c
+@@ -3,6 +3,7 @@
+    the `.ctors' and `.dtors' sections so the lists are terminated, and
+    calling those lists of functions.  */
++#ifndef NO_CTORS_DTORS_SECTIONS
+ #include <libc-internal.h>
+ #include <stdlib.h>
+@@ -40,3 +41,4 @@ __libc_fini (void)
+ void (*_fini_ptr) (void) __attribute__ ((section (".fini_array")))
+      = &__libc_fini;
++#endif
+diff --git a/sysdeps/i386/init-first.c b/sysdeps/i386/init-first.c
+index c6355a8..2af042f 100644
+--- a/sysdeps/i386/init-first.c
++++ b/sysdeps/i386/init-first.c
+@@ -59,7 +59,9 @@ _init (int argc, ...)
+ {
+   init (&argc);
++#ifndef NO_CTORS_DTORS_SECTIONS
+   __libc_global_ctors ();
++#endif
+ }
+ #endif
+diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c
+index f9a7a58..60823bd 100644
+--- a/sysdeps/mach/hurd/i386/init-first.c
++++ b/sysdeps/mach/hurd/i386/init-first.c
+@@ -92,7 +92,7 @@ posixland_init (int argc, char **argv, char **envp)
+   __getopt_clean_environment (envp);
+ #endif
+-#ifdef SHARED
++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
+   __libc_global_ctors ();
+ #endif
+ }
+diff --git a/sysdeps/mach/hurd/powerpc/init-first.c b/sysdeps/mach/hurd/powerpc/init-first.c
+index 20fa1d4..21b5054 100644
+--- a/sysdeps/mach/hurd/powerpc/init-first.c
++++ b/sysdeps/mach/hurd/powerpc/init-first.c
+@@ -82,7 +82,7 @@ posixland_init (int argc, char **argv, char **envp)
+   __getopt_clean_environment (__environ);
+ #endif
+-#ifdef SHARED
++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
+   __libc_global_ctors ();
+ #endif
+ }
+diff --git a/sysdeps/sh/init-first.c b/sysdeps/sh/init-first.c
+index d816625..1f3a821 100644
+--- a/sysdeps/sh/init-first.c
++++ b/sysdeps/sh/init-first.c
+@@ -59,7 +59,9 @@ _init (int argc, ...)
+ {
+   init (&argc);
++#ifndef NO_CTORS_DTORS_SECTIONS
+   __libc_global_ctors ();
++#endif
+ }
+ #endif
+diff --git a/sysdeps/unix/sysv/linux/init-first.c b/sysdeps/unix/sysv/linux/init-first.c
+index 7b2333d..a60212f 100644
+--- a/sysdeps/unix/sysv/linux/init-first.c
++++ b/sysdeps/unix/sysv/linux/init-first.c
+@@ -93,7 +93,7 @@ _init (int argc, char **argv, char **envp)
+   __getopt_clean_environment (envp);
+ #endif
+-#ifdef SHARED
++#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS
+   __libc_global_ctors ();
+ #endif
+ }
+-- 
+1.7.3.4
+
diff --git a/src/patches/glibc-resolv-stack_chk_fail.patch b/src/patches/glibc-resolv-stack_chk_fail.patch
new file mode 100644 (file)
index 0000000..00bb710
--- /dev/null
@@ -0,0 +1,35 @@
+From e057a1b5930ec538c2b8abbba700a436ef2c81d5 Mon Sep 17 00:00:00 2001
+From: Joseph Myers <joseph@codesourcery.com>
+Date: Wed, 21 Sep 2011 13:27:50 -0700
+Subject: [PATCH] Link libresolv.so with ld.so for __stack_chk_guard.
+
+---
+ resolv/Makefile |    8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/resolv/Makefile b/resolv/Makefile
+index ec3788f..b4287de 100644
+--- a/resolv/Makefile
++++ b/resolv/Makefile
+@@ -1,4 +1,5 @@
+-# Copyright (C) 1994-2001,2003,2004,2007,2008 Free Software Foundation, Inc.
++# Copyright (C) 1994-2001,2003,2004,2007,2008,2011
++#     Free Software Foundation, Inc.
+ # This file is part of the GNU C Library.
+ # The GNU C Library is free software; you can redistribute it and/or
+@@ -88,6 +89,11 @@ CFLAGS-res_hconf.c = -fexceptions
+ # This ensures they will load libc.so for needed symbols if loaded by
+ # a statically-linked program that hasn't already loaded it.
+ $(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
++# Some hosts need '__stack_chk_guard', so pull in the definition from
++# ld.so if required.
++ifeq (yesyes,$(have-ssp)$(elf))
++LDLIBS-resolv.so += $(as-needed) $(elfobjdir)/ld.so $(no-as-needed)
++endif
+ # The DNS NSS modules needs the resolver.
+ $(objpfx)libnss_dns.so: $(objpfx)libresolv.so $(common-objpfx)libc.so \
+-- 
+1.7.3.4
+
diff --git a/src/patches/glibc/glibc-aliasing.patch b/src/patches/glibc/glibc-aliasing.patch
new file mode 100644 (file)
index 0000000..016a4d4
--- /dev/null
@@ -0,0 +1,87 @@
+Index: glibc-2.12-2-gc4ccff1/elf/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
++++ glibc-2.12-2-gc4ccff1/elf/Makefile
+@@ -129,6 +129,7 @@ include ../Makeconfig
+ ifeq ($(unwind-find-fde),yes)
+ routines += unwind-dw2-fde-glibc
+ shared-only-routines += unwind-dw2-fde-glibc
++CFLAGS-unwind-dw2-fde-glibc.c += -fno-strict-aliasing
+ endif
+ before-compile  = $(objpfx)trusted-dirs.h
+Index: glibc-2.12-2-gc4ccff1/inet/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/inet/Makefile
++++ glibc-2.12-2-gc4ccff1/inet/Makefile
+@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa 
+ include ../Rules
++CFLAGS-tst-inet6_rth.c += -fno-strict-aliasing
++
+ ifeq ($(have-thread-library),yes)
+ CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions
+Index: glibc-2.12-2-gc4ccff1/nis/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nis/Makefile
++++ glibc-2.12-2-gc4ccff1/nis/Makefile
+@@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out 
+ include ../Rules
++CFLAGS-nis_findserv.c += -fno-strict-aliasing
++CFLAGS-ypclnt.c += -fno-strict-aliasing
+ $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version)
+ $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \
+Index: glibc-2.12-2-gc4ccff1/nss/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nss/Makefile
++++ glibc-2.12-2-gc4ccff1/nss/Makefile
+@@ -74,6 +74,7 @@ endif
+ include ../Rules
++CFLAGS-files-hosts.c += -fno-strict-aliasing
+ ifeq (yes,$(build-static-nss))
+ $(objpfx)getent: $(objpfx)libnss_files.a
+Index: glibc-2.12-2-gc4ccff1/resolv/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/resolv/Makefile
++++ glibc-2.12-2-gc4ccff1/resolv/Makefile
+@@ -77,6 +77,7 @@ CPPFLAGS += -Dgethostbyname=res_gethostb
+           -Dgetnetbyaddr=res_getnetbyaddr
+ CFLAGS-res_hconf.c = -fexceptions
++CFLAGS-res_send.c += -fno-strict-aliasing
+ # The BIND code elicits some harmless warnings.
+ +cflags += -Wno-strict-prototypes -Wno-write-strings
+Index: glibc-2.12-2-gc4ccff1/sunrpc/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sunrpc/Makefile
++++ glibc-2.12-2-gc4ccff1/sunrpc/Makefile
+@@ -129,6 +129,10 @@ CFLAGS-openchild.c = -fexceptions
+ CPPFLAGS += -D_RPC_THREAD_SAFE_
++CFLAGS-clnt_tcp.c += -fno-strict-aliasing
++CFLAGS-clnt_udp.c += -fno-strict-aliasing
++CFLAGS-clnt_unix.c += -fno-strict-aliasing
++
+ include ../Rules
+ $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \
+Index: glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/elf/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/powerpc/powerpc64/elf/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/elf/Makefile
+@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-re
+ CFLAGS-rtld-memmove.os = $(no-special-regs)
+ CFLAGS-rtld-memchr.os = $(no-special-regs)
+ CFLAGS-rtld-strnlen.os = $(no-special-regs)
++
++CFLAGS-gmon-start.c += -fno-strict-aliasing
diff --git a/src/patches/glibc/glibc-fedora.patch b/src/patches/glibc/glibc-fedora.patch
new file mode 100644 (file)
index 0000000..5a7fce9
--- /dev/null
@@ -0,0 +1,2106 @@
+--- glibc-2.12-2-gc4ccff1/ChangeLog
++++ glibc-2.12-1/ChangeLog
+@@ -241,6 +241,12 @@
+       * Makerules (libc-abis): Fix search for libc-abis in add-ons.
++2010-04-06  Ulrich Drepper  <drepper@redhat.com>
++
++      * sysdeps/posix/getaddrinfo.c (default_scopes): Assign global
++      scope to RFC 1918 addresses.
++      * posix/gai.conf: Document difference from RFC 3484.
++
+ 2010-04-05  Thomas Schwinge  <thomas@schwinge.name>
+       * sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/.
+@@ -995,6 +1001,19 @@
+       * sysdeps/x86_64/fpu/fegetenv.c: Likewise
+       * sysdeps/s390/fpu/fegetenv.c: Likewise.  Remove unused headers.
++2009-10-27  Aurelien Jarno  <aurelien@aurel32.net>
++
++      [BZ #10855]
++      * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory
++      used later with MMAP_FIXED | MMAP_SHARED to cope with different
++      alignment restrictions.
++
++2010-02-08  Andreas Schwab  <schwab@redhat.com>
++
++      [BZ #11155]
++      * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Include i386
++      version.
++
+ 2010-02-05  H.J. Lu  <hongjiu.lu@intel.com>
+       [BZ #11230]
+@@ -2938,6 +2957,11 @@ d2009-10-30  Ulrich Drepper  <drepper@re
+       * sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in
+       the unique symbol hash table should not be const.
++2009-07-22  Jakub Jelinek  <jakub@redhat.com>
++
++      * Makeconfig (ASFLAGS): Append $(sysdep-ASFLAGS).
++      * sysdeps/i386/Makefile (sysdep-ASFLAGS): Add -U__i686.
++
+ 2009-07-21  Ulrich Drepper  <drepper@redhat.com>
+       * sysdeps/x86_64/multiarch/strstr.c: Minor cleanups.  Remove
+@@ -3203,6 +3227,11 @@ d2009-10-30  Ulrich Drepper  <drepper@re
+       out common code into new function get_common_indeces. Determine
+       extended family and model for Intel processors.
++2009-06-26  Andreas Schwab  <aschwab@redhat.com>
++
++      * timezone/zic.c (stringzone): Don't try to generate a POSIX TZ
++      string when the timezone ends in DST.
++
+ 2009-06-26  Ulrich Drepper  <drepper@redhat.com>
+       * resolv/resolv.h: Define RES_SNGLKUPREOP.
+@@ -11896,6 +11925,10 @@ d2009-10-30  Ulrich Drepper  <drepper@re
+       [BZ #4368]
+       * stdlib/stdlib.h: Remove obsolete part of comment for realpath.
++2007-04-16  Jakub Jelinek  <jakub@redhat.com>
++
++      * locale/programs/locarchive.c (add_alias, insert_name): Remove static.
++
+ 2007-04-16  Ulrich Drepper  <drepper@redhat.com>
+       [BZ #4364]
+@@ -13153,6 +13186,15 @@ d2009-10-30  Ulrich Drepper  <drepper@re
+       separators also if no non-zero digits found.
+       * stdlib/Makefile (tests): Add tst-strtod3.
++2006-12-10  Jakub Jelinek  <jakub@redhat.com>
++
++      * sysdeps/unix/sysv/linux/netlinkaccess.h: Include linux/if_addr.h
++      if IFA_MAX is not defined.
++      (IFA_RTA, IFA_PAYLOAD, IFLA_RTA, IFLA_PAYLOAD): Define if not
++      defined.
++      * sysdeps/unix/sysv/linux/check_pf.c: Include netlinkaccess.h
++      instead of asm/types.h, linux/netlink.h and linux/rtnetlink.h.
++
+ 2006-12-09  Ulrich Drepper  <drepper@redhat.com>
+       [BZ #3632]
+--- glibc-2.12-2-gc4ccff1/ChangeLog.15
++++ glibc-2.12-1/ChangeLog.15
+@@ -477,6 +477,14 @@
+ 2004-11-26  Jakub Jelinek  <jakub@redhat.com>
++      * posix/Makefile (generated: Add getconf.speclist.
++      ($(inst_libexecdir)/getconf): Use getconf.speclist instead of
++      getconf output.
++      ($(objpfx)getconf.speclist): New rule.
++      * posix/getconf.speclist.h: New file.
++
++2004-11-26  Jakub Jelinek  <jakub@redhat.com>
++
+       * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.
+ 2004-11-26  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+@@ -1103,6 +1111,13 @@
+       * sysdeps/generic/tempname.c (__path_search): Add missing argument
+       TRY_TMPDIR.
++2004-11-02  Jakub Jelinek  <jakub@redhat.com>
++
++      * include/features.h (__USE_FORTIFY_LEVEL): Also set for Red Hat
++      GCC 3.4.x-RH >= 3.4.2-8.
++      * debug/tst-chk1.c (do_test): Deal with GCC 3.4.x-RH not
++      being able to recognize subobjects.
++
+ 2004-10-31  Mariusz Mazur <mmazur@kernel.pl>
+       * sysdeps/unix/sysv/linux/alpha/setregid.c: New file.
+@@ -1443,6 +1458,11 @@
+       * sysdeps/generic/readonly-area.c (__readonly_str): Renamed to ...
+       (__readonly_area): ... this.
++2004-10-19  Jakub Jelinek  <jakub@redhat.com>
++
++      * include/features.h (__USE_FORTIFY_LEVEL): Enable even with
++      Red Hat gcc4 4.0.0 and above.
++
+ 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
+       * sysdeps/generic/strcpy_chk.c (__strcpy_chk): Speed up by checking
+@@ -3182,6 +3202,23 @@
+       before return type.
+       * locale/localename.c (__current_locale_name): Likewise.
++2004-08-31  Jakub Jelinek  <jakub@redhat.com>
++
++      * elf/ldconfig.c (parse_conf): Add prefix argument, prepend it
++      before arguments to add_dir and pass to parse_conf_include.
++      (parse_conf_include): Add prefix argument, pass it down to
++      parse_conf.
++      (main): Call arch_startup.  Adjust parse_conf caller.
++      Call add_arch_dirs.
++      * sysdeps/generic/dl-cache.h (arch_startup, add_arch_dirs): Define.
++      * sysdeps/unix/sysv/linux/i386/dl-cache.h: New file.
++      * sysdeps/unix/sysv/linux/ia64/dl-cache.h (EMUL_HACK, arch_startup,
++      add_arch_dirs): Define.
++      * sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: Prepend
++      /emul/ia32-linux before the 32-bit ld.so pathname.
++      * sysdeps/unix/sysv/linux/ia64/dl-procinfo.c: New file.
++      * sysdeps/unix/sysv/linux/ia64/dl-procinfo.h: New file.
++
+ 2004-08-30  Roland McGrath  <roland@frob.com>
+       * scripts/extract-abilist.awk: If `lastversion' variable defined, omit
+--- glibc-2.12-2-gc4ccff1/ChangeLog.16
++++ glibc-2.12-1/ChangeLog.16
+@@ -2042,6 +2042,9 @@
+       (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT
+       followed by __THROW.
++      * sysdeps/unix/sysv/linux/futimesat.c (futimesat): If
++      file == NULL, use __futimes unconditionally.
++
+ 2006-02-02  Ulrich Drepper  <drepper@redhat.com>
+       * sysdeps/unix/sysv/linux/futimesat.c [__NR_futimesat]
+@@ -2101,6 +2104,11 @@
+       * sysdeps/ieee754/ldbl-128/s_llrintl.c (__llrintl): Fix a typo.
+       * sysdeps/s390/fpu/libm-test-ulps: Remove llrint ulps.
++2006-01-30  Jakub Jelinek  <jakub@redhat.com>
++
++      * include/bits/stdlib-ldbl.h: New file.
++      * include/bits/wchar-ldbl.h: New file.
++
+ 2006-01-19  Thomas Schwinge  <tschwinge@gnu.org>
+       * libio/genops.c: Include <stdbool.h>.
+@@ -8922,6 +8930,12 @@
+       * argp/argp-help.c (__argp_error): __asprintf -> vasprintf.
+       (__argp_failure): Likewise.
++2005-08-08  Jakub Jelinek  <jakub@redhat.com>
++
++      * sysdeps/unix/sysv/linux/dl-osinfo.h (_dl_setup_stack_chk_guard):
++      Shift marked &errno down on big-endian instead of up.
++      * elf/tst-stackguard1.c (do_test): Fix a typo.
++
+ 2005-08-08  Ulrich Drepper  <drepper@redhat.com>
+       * nscd/cache.c (cache_add): Commit hash table and header to disk.
+@@ -9046,6 +9060,17 @@
+       __syslog_chk.
+       * misc/Versions: Export __syslog_chk and __vsyslog_chk.
++2005-07-29  Jakub Jelinek  <jakub@redhat.com>
++
++      * sysdeps/unix/sysv/linux/dl-osinfo.h: Include errno.h, hp-timing.h,
++      endian.h.
++      (_dl_setup_stack_chk_guard): Even without
++      --enable-stackguard-randomization attempt to do some guard
++      randomization using hp-timing (if available) and kernel stack and
++      mmap randomization.
++      * elf/tst-stackguard1.c (do_test): Don't fail if the poor man's
++      randomization doesn't work well enough.
++
+ 2005-07-28  Thomas Schwinge  <schwinge@nic-nac-project.de>
+       [BZ #1137]
+--- glibc-2.12-2-gc4ccff1/Makeconfig
++++ glibc-2.12-1/Makeconfig
+@@ -789,12 +789,12 @@ endif
+ # The assembler can generate debug information too.
+ ifndef ASFLAGS
+ ifeq ($(have-cpp-asm-debuginfo),yes)
+-ASFLAGS := $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
++ASFLAGS = $(filter -g% -fdebug-prefix-map=%,$(CFLAGS))
+ else
+-ASFLAGS :=
++ASFLAGS =
+ endif
+ endif
+-ASFLAGS += $(ASFLAGS-config) $(asflags-cpu)
++ASFLAGS += $(ASFLAGS-config) $(asflags-cpu) $(sysdep-ASFLAGS)
+ ifndef BUILD_CC
+ BUILD_CC = $(CC)
+--- glibc-2.12-2-gc4ccff1/csu/Makefile
++++ glibc-2.12-1/csu/Makefile
+@@ -93,7 +93,8 @@ omit-deps += $(crtstuff)
+ $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h
+       $(compile.S) -g0 $(ASFLAGS-.os) -o $@
+-CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time)
++CFLAGS-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \
++                  -fno-asynchronous-unwind-tables
+ vpath initfini.c $(sysdirs)
+--- glibc-2.12-2-gc4ccff1/csu/elf-init.c
++++ glibc-2.12-1/csu/elf-init.c
+@@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int,
+ extern void (*__fini_array_start []) (void) attribute_hidden;
+ extern void (*__fini_array_end []) (void) attribute_hidden;
++#if defined HAVE_VISIBILITY_ATTRIBUTE \
++    && (defined SHARED || defined LIBC_NONSHARED)
++# define hidden_undef_2(x) #x
++# define hidden_undef_1(x) hidden_undef_2 (x)
++# define hidden_undef(x) \
++  __asm (hidden_undef_1 (ASM_GLOBAL_DIRECTIVE) " " #x); \
++  __asm (".hidden " #x);
++#else
++# define hidden_undef(x)
++#endif
++
++hidden_undef (__preinit_array_start)
++hidden_undef (__preinit_array_end)
++hidden_undef (__init_array_start)
++hidden_undef (__init_array_end)
++hidden_undef (__fini_array_start)
++hidden_undef (__fini_array_end)
+ /* These function symbols are provided for the .init/.fini section entry
+    points automagically by the linker.  */
+--- glibc-2.12-2-gc4ccff1/debug/tst-chk1.c
++++ glibc-2.12-1/debug/tst-chk1.c
+@@ -17,6 +17,9 @@
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
++/* Hack: make sure GCC doesn't know __chk_fail () will not return.  */
++#define __noreturn__
++
+ #include <assert.h>
+ #include <fcntl.h>
+ #include <locale.h>
+@@ -242,7 +245,7 @@ do_test (void)
+   if (memcmp (a.buf1, "aabcdabcjj", 10))
+     FAIL ();
+-#if __USE_FORTIFY_LEVEL < 2
++#if __USE_FORTIFY_LEVEL < 2 || !__GNUC_PREREQ (4, 0)
+   /* The following tests are supposed to crash with -D_FORTIFY_SOURCE=2
+      and sufficient GCC support, as the string operations overflow
+      from a.buf1 into a.buf2.  */
+@@ -357,7 +360,7 @@ do_test (void)
+   memset (a.buf1 + 9, 'j', l0 + 2);
+   CHK_FAIL_END
+-# if __USE_FORTIFY_LEVEL >= 2
++# if __USE_FORTIFY_LEVEL >= 2 && __GNUC_PREREQ (4, 0)
+ #  define O 0
+ # else
+ #  define O 1
+--- glibc-2.12-2-gc4ccff1/elf/ldconfig.c
++++ glibc-2.12-1/elf/ldconfig.c
+@@ -1031,17 +1031,19 @@ search_dirs (void)
+ static void parse_conf_include (const char *config_file, unsigned int lineno,
+-                              bool do_chroot, const char *pattern);
++                              const char *prefix, bool do_chroot,
++                              const char *pattern);
+ /* Parse configuration file.  */
+ static void
+-parse_conf (const char *filename, bool do_chroot)
++parse_conf (const char *filename, const char *prefix, bool do_chroot)
+ {
+   FILE *file = NULL;
+   char *line = NULL;
+   const char *canon;
+   size_t len = 0;
+   unsigned int lineno;
++  size_t prefix_len = prefix ? strlen (prefix) : 0;
+   if (do_chroot && opt_chroot)
+     {
+@@ -1102,7 +1104,14 @@ parse_conf (const char *filename, bool d
+         cp += 8;
+         while ((dir = strsep (&cp, " \t")) != NULL)
+           if (dir[0] != '\0')
+-            parse_conf_include (filename, lineno, do_chroot, dir);
++            parse_conf_include (filename, lineno, prefix, do_chroot, dir);
++      }
++      else if (prefix != NULL)
++      {
++        size_t cp_len = strlen (cp);
++        char new_cp [prefix_len + cp_len + 1];
++        memcpy (mempcpy (new_cp, prefix, prefix_len), cp, cp_len + 1);
++        add_dir (new_cp);
+       }
+       else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5]))
+       {
+@@ -1165,7 +1174,7 @@ parse_conf (const char *filename, bool d
+    config files to read.  */
+ static void
+ parse_conf_include (const char *config_file, unsigned int lineno,
+-                  bool do_chroot, const char *pattern)
++                  const char *prefix, bool do_chroot, const char *pattern)
+ {
+   if (opt_chroot && pattern[0] != '/')
+     error (EXIT_FAILURE, 0,
+@@ -1197,7 +1206,7 @@ parse_conf_include (const char *config_f
+     {
+     case 0:
+       for (size_t i = 0; i < gl.gl_pathc; ++i)
+-      parse_conf (gl.gl_pathv[i], false);
++      parse_conf (gl.gl_pathv[i], prefix, false);
+       globfree64 (&gl);
+       break;
+@@ -1240,6 +1249,8 @@ main (int argc, char **argv)
+   /* Set the text message domain.  */
+   textdomain (_libc_intl_domainname);
++  arch_startup (argc, argv);
++
+   /* Parse and process arguments.  */
+   int remaining;
+   argp_parse (&argp, argc, argv, 0, &remaining, NULL);
+@@ -1349,12 +1360,14 @@ main (int argc, char **argv)
+   if (!opt_only_cline)
+     {
+-      parse_conf (config_file, true);
++      parse_conf (config_file, NULL, true);
+       /* Always add the standard search paths.  */
+       add_system_dir (SLIBDIR);
+       if (strcmp (SLIBDIR, LIBDIR))
+       add_system_dir (LIBDIR);
++
++      add_arch_dirs (config_file);
+     }
+   char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE;
+--- glibc-2.12-2-gc4ccff1/elf/tst-stackguard1.c
++++ glibc-2.12-1/elf/tst-stackguard1.c
+@@ -160,17 +160,21 @@ do_test (void)
+      the 16 runs, something is very wrong.  */
+   int ndifferences = 0;
+   int ndefaults = 0;
++  int npartlyrandomized = 0;
+   for (i = 0; i < N; ++i) 
+     {
+       if (child_stack_chk_guards[i] != child_stack_chk_guards[i+1])
+       ndifferences++;
+       else if (child_stack_chk_guards[i] == default_guard)
+       ndefaults++;
++      else if (*(char *) &child_stack_chk_guards[i] == 0)
++      npartlyrandomized++;
+     }
+-  printf ("differences %d defaults %d\n", ndifferences, ndefaults);
++  printf ("differences %d defaults %d partly randomized %d\n",
++        ndifferences, ndefaults, npartlyrandomized);
+-  if (ndifferences < N / 2 && ndefaults < N / 2)
++  if ((ndifferences + ndefaults + npartlyrandomized) < 3 * N / 4)
+     {
+       puts ("stack guard canaries are not randomized enough");
+       puts ("nor equal to the default canary value");
+--- glibc-2.12-2-gc4ccff1/include/bits/stdlib-ldbl.h
++++ glibc-2.12-1/include/bits/stdlib-ldbl.h
+@@ -0,0 +1 @@
++#include <stdlib/bits/stdlib-ldbl.h>
+--- glibc-2.12-2-gc4ccff1/include/bits/wchar-ldbl.h
++++ glibc-2.12-1/include/bits/wchar-ldbl.h
+@@ -0,0 +1 @@
++#include <wcsmbs/bits/wchar-ldbl.h>
+--- glibc-2.12-2-gc4ccff1/include/features.h
++++ glibc-2.12-1/include/features.h
+@@ -308,8 +308,13 @@
+ #endif
+ #if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \
+-    && __GNUC_PREREQ (4, 1) && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
+-# if _FORTIFY_SOURCE > 1
++    && defined __OPTIMIZE__ && __OPTIMIZE__ > 0
++# if !__GNUC_PREREQ (4, 1)
++#  ifdef __GNUC_RH_RELEASE__
++#   warning _FORTIFY_SOURCE supported only with GCC 4.1 and later
++#  endif
++#  define __USE_FORTIFY_LEVEL 0
++# elif _FORTIFY_SOURCE > 1
+ #  define __USE_FORTIFY_LEVEL 2
+ # else
+ #  define __USE_FORTIFY_LEVEL 1
+--- glibc-2.12-2-gc4ccff1/intl/locale.alias
++++ glibc-2.12-1/intl/locale.alias
+@@ -57,8 +57,6 @@ korean               ko_KR.eucKR
+ korean.euc    ko_KR.eucKR
+ ko_KR         ko_KR.eucKR
+ lithuanian      lt_LT.ISO-8859-13
+-no_NO         nb_NO.ISO-8859-1
+-no_NO.ISO-8859-1 nb_NO.ISO-8859-1
+ norwegian       nb_NO.ISO-8859-1
+ nynorsk               nn_NO.ISO-8859-1
+ polish          pl_PL.ISO-8859-2
+--- glibc-2.12-2-gc4ccff1/libio/stdio.h
++++ glibc-2.12-1/libio/stdio.h
+@@ -165,10 +165,12 @@ typedef _G_fpos64_t fpos64_t;
+ extern struct _IO_FILE *stdin;                /* Standard input stream.  */
+ extern struct _IO_FILE *stdout;               /* Standard output stream.  */
+ extern struct _IO_FILE *stderr;               /* Standard error output stream.  */
++#ifdef __STDC__
+ /* C89/C99 say they're macros.  Make them happy.  */
+ #define stdin stdin
+ #define stdout stdout
+ #define stderr stderr
++#endif
+ __BEGIN_NAMESPACE_STD
+ /* Remove file FILENAME.  */
+--- glibc-2.12-2-gc4ccff1/locale/iso-4217.def
++++ glibc-2.12-1/locale/iso-4217.def
+@@ -8,6 +8,7 @@
+  *
+  * !!! The list has to be sorted !!!
+  */
++DEFINE_INT_CURR("ADP")                /* Andorran Peseta -> EUR  */
+ DEFINE_INT_CURR("AED")                /* United Arab Emirates Dirham  */
+ DEFINE_INT_CURR("AFN")                /* Afghanistan Afgani  */
+ DEFINE_INT_CURR("ALL")                /* Albanian Lek  */
+@@ -15,12 +16,14 @@ DEFINE_INT_CURR("AMD")             /* Armenia Dram 
+ DEFINE_INT_CURR("ANG")                /* Netherlands Antilles  */
+ DEFINE_INT_CURR("AOA")                /* Angolan Kwanza  */
+ DEFINE_INT_CURR("ARS")                /* Argentine Peso  */
++DEFINE_INT_CURR("ATS")                /* Austrian Schilling -> EUR  */
+ DEFINE_INT_CURR("AUD")                /* Australian Dollar  */
+ DEFINE_INT_CURR("AWG")                /* Aruba Guilder  */
+ DEFINE_INT_CURR("AZM")                /* Azerbaijan Manat  */
+ DEFINE_INT_CURR("BAM")                /* Bosnian and Herzegovina Convertible Mark  */
+ DEFINE_INT_CURR("BBD")                /* Barbados Dollar  */
+ DEFINE_INT_CURR("BDT")                /* Bangladesh Taka  */
++DEFINE_INT_CURR("BEF")                /* Belgian Franc -> EUR  */
+ DEFINE_INT_CURR("BGN")                /* Bulgarian Lev  */
+ DEFINE_INT_CURR("BHD")                /* Bahraini Dinar  */
+ DEFINE_INT_CURR("BIF")                /* Burundi Franc  */
+@@ -44,6 +47,7 @@ DEFINE_INT_CURR("CUP")               /* Cuban Peso  *
+ DEFINE_INT_CURR("CVE")                /* Cape Verde Escudo  */
+ DEFINE_INT_CURR("CYP")                /* Cypriot Pound  */
+ DEFINE_INT_CURR("CZK")                /* Czech Koruna  */
++DEFINE_INT_CURR("DEM")                /* German Mark -> EUR  */
+ DEFINE_INT_CURR("DJF")                /* Djibouti Franc  */
+ DEFINE_INT_CURR("DKK")                /* Danish Krone (Faroe Islands, Greenland)  */
+ DEFINE_INT_CURR("DOP")                /* Dominican Republic  */
+@@ -51,16 +55,20 @@ DEFINE_INT_CURR("DZD")             /* Algerian Dina
+ DEFINE_INT_CURR("EEK")                /* Estonian Kroon  */
+ DEFINE_INT_CURR("EGP")                /* Egyptian Pound  */
+ DEFINE_INT_CURR("ERN")                /* Eritrean Nakfa  */
++DEFINE_INT_CURR("ESP")                /* Spanish Peseta -> EUR  */
+ DEFINE_INT_CURR("ETB")                /* Ethiopian Birr  */
+ DEFINE_INT_CURR("EUR")                /* European Union Euro  */
++DEFINE_INT_CURR("FIM")                /* Finnish Markka -> EUR  */
+ DEFINE_INT_CURR("FJD")                /* Fiji Dollar  */
+ DEFINE_INT_CURR("FKP")                /* Falkland Islands Pound (Malvinas)  */
++DEFINE_INT_CURR("FRF")                /* French Franc -> EUR  */
+ DEFINE_INT_CURR("GBP")                /* British Pound  */
+ DEFINE_INT_CURR("GEL")                /* Georgia Lari  */
+ DEFINE_INT_CURR("GHC")                /* Ghana Cedi  */
+ DEFINE_INT_CURR("GIP")                /* Gibraltar Pound  */
+ DEFINE_INT_CURR("GMD")                /* Gambian Dalasi  */
+ DEFINE_INT_CURR("GNF")                /* Guinea Franc  */
++DEFINE_INT_CURR("GRD")                /* Greek Drachma -> EUR  */
+ DEFINE_INT_CURR("GTQ")                /* Guatemala Quetzal  */
+ DEFINE_INT_CURR("GYD")                /* Guyana Dollar  */
+ DEFINE_INT_CURR("HKD")                /* Hong Kong Dollar  */
+@@ -69,12 +77,14 @@ DEFINE_INT_CURR("HRK")             /* Croatia Kuna 
+ DEFINE_INT_CURR("HTG")                /* Haiti Gourde  */
+ DEFINE_INT_CURR("HUF")                /* Hungarian Forint  */
+ DEFINE_INT_CURR("IDR")                /* Indonesia Rupiah  */
++DEFINE_INT_CURR("IEP")                /* Irish Pound -> EUR  */
+ DEFINE_INT_CURR("ILS")                /* Israeli Shekel  */
+ DEFINE_INT_CURR("IMP")                /* Isle of Man Pounds  */
+ DEFINE_INT_CURR("INR")                /* Indian Rupee (Bhutan)  */
+ DEFINE_INT_CURR("IQD")                /* Iraqi Dinar  */
+ DEFINE_INT_CURR("IRR")                /* Iranian Rial  */
+ DEFINE_INT_CURR("ISK")                /* Iceland Krona  */
++DEFINE_INT_CURR("ITL")                /* Italian Lira -> EUR  */
+ DEFINE_INT_CURR("JEP")                /* Jersey Pound  */
+ DEFINE_INT_CURR("JMD")                /* Jamaican Dollar  */
+ DEFINE_INT_CURR("JOD")                /* Jordanian Dinar  */
+@@ -94,6 +104,7 @@ DEFINE_INT_CURR("LKR")              /* Sri Lankan Ru
+ DEFINE_INT_CURR("LRD")                /* Liberian Dollar  */
+ DEFINE_INT_CURR("LSL")                /* Lesotho Maloti  */
+ DEFINE_INT_CURR("LTL")                /* Lithuanian Litas  */
++DEFINE_INT_CURR("LUF")                /* Luxembourg Franc -> EUR  */
+ DEFINE_INT_CURR("LVL")                /* Latvia Lat  */
+ DEFINE_INT_CURR("LYD")                /* Libyan Arab Jamahiriya Dinar  */
+ DEFINE_INT_CURR("MAD")                /* Moroccan Dirham  */
+@@ -114,6 +125,7 @@ DEFINE_INT_CURR("MZM")             /* Mozambique Me
+ DEFINE_INT_CURR("NAD")                /* Namibia Dollar  */
+ DEFINE_INT_CURR("NGN")                /* Nigeria Naira  */
+ DEFINE_INT_CURR("NIO")                /* Nicaragua Cordoba Oro  */
++DEFINE_INT_CURR("NLG")                /* Netherlands Guilder -> EUR  */
+ DEFINE_INT_CURR("NOK")                /* Norwegian Krone  */
+ DEFINE_INT_CURR("NPR")                /* Nepalese Rupee  */
+ DEFINE_INT_CURR("NZD")                /* New Zealand Dollar  */
+@@ -124,6 +136,7 @@ DEFINE_INT_CURR("PGK")             /* Papau New Gui
+ DEFINE_INT_CURR("PHP")                /* Philippines Peso  */
+ DEFINE_INT_CURR("PKR")                /* Pakistan Rupee  */
+ DEFINE_INT_CURR("PLN")                /* Polish Zloty  */
++DEFINE_INT_CURR("PTE")                /* Portugese Escudo -> EUR  */
+ DEFINE_INT_CURR("PYG")                /* Paraguay Guarani  */
+ DEFINE_INT_CURR("QAR")                /* Qatar Rial  */
+ DEFINE_INT_CURR("ROL")                /* Romanian Leu  */
+--- glibc-2.12-2-gc4ccff1/locale/programs/locarchive.c
++++ glibc-2.12-1/locale/programs/locarchive.c
+@@ -134,7 +134,7 @@ create_archive (const char *archivefname
+   size_t reserved = RESERVE_MMAP_SIZE;
+   int xflags = 0;
+   if (total < reserved
+-      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
++      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
+                      -1, 0)) != MAP_FAILED))
+     xflags = MAP_FIXED;
+   else
+@@ -241,9 +241,9 @@ oldlocrecentcmp (const void *a, const vo
+ /* forward decls for below */
+ static uint32_t add_locale (struct locarhandle *ah, const char *name,
+                           locale_data_t data, bool replace);
+-static void add_alias (struct locarhandle *ah, const char *alias,
+-                     bool replace, const char *oldname,
+-                     uint32_t *locrec_offset_p);
++void add_alias (struct locarhandle *ah, const char *alias,
++              bool replace, const char *oldname,
++              uint32_t *locrec_offset_p);
+ static bool
+@@ -396,7 +396,7 @@ enlarge_archive (struct locarhandle *ah,
+   size_t reserved = RESERVE_MMAP_SIZE;
+   int xflags = 0;
+   if (total < reserved
+-      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
++      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
+                      -1, 0)) != MAP_FAILED))
+     xflags = MAP_FIXED;
+   else
+@@ -614,7 +614,7 @@ open_archive (struct locarhandle *ah, bo
+   int xflags = 0;
+   void *p;
+   if (st.st_size < reserved
+-      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_PRIVATE | MAP_ANON,
++      && ((p = mmap64 (NULL, reserved, PROT_NONE, MAP_SHARED | MAP_ANON,
+                      -1, 0)) != MAP_FAILED))
+     xflags = MAP_FIXED;
+   else
+@@ -649,7 +649,7 @@ close_archive (struct locarhandle *ah)
+ #include "../../intl/explodename.c"
+ #include "../../intl/l10nflist.c"
+-static struct namehashent *
++struct namehashent *
+ insert_name (struct locarhandle *ah,
+            const char *name, size_t name_len, bool replace)
+ {
+@@ -707,7 +707,7 @@ insert_name (struct locarhandle *ah,
+   return &namehashtab[idx];
+ }
+-static void
++void
+ add_alias (struct locarhandle *ah, const char *alias, bool replace,
+          const char *oldname, uint32_t *locrec_offset_p)
+ {
+--- glibc-2.12-2-gc4ccff1/localedata/Makefile
++++ glibc-2.12-1/localedata/Makefile
+@@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo
+       echo -n '...'; \
+       input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
+       $(LOCALEDEF) --alias-file=../intl/locale.alias \
++                   --no-archive \
+                    -i locales/$$input -c -f charmaps/$$charset \
+                    $(addprefix --prefix=,$(install_root)) $$locale; \
+       echo ' done'; \
+--- glibc-2.12-2-gc4ccff1/localedata/SUPPORTED
++++ glibc-2.12-1/localedata/SUPPORTED
+@@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \
+ cy_GB/ISO-8859-14 \
+ da_DK.UTF-8/UTF-8 \
+ da_DK/ISO-8859-1 \
++da_DK.ISO-8859-15/ISO-8859-15 \
+ de_AT.UTF-8/UTF-8 \
+ de_AT/ISO-8859-1 \
+ de_AT@euro/ISO-8859-15 \
+@@ -116,6 +117,7 @@ en_DK.UTF-8/UTF-8 \
+ en_DK/ISO-8859-1 \
+ en_GB.UTF-8/UTF-8 \
+ en_GB/ISO-8859-1 \
++en_GB.ISO-8859-15/ISO-8859-15 \
+ en_HK.UTF-8/UTF-8 \
+ en_HK/ISO-8859-1 \
+ en_IE.UTF-8/UTF-8 \
+@@ -131,6 +133,7 @@ en_SG.UTF-8/UTF-8 \
+ en_SG/ISO-8859-1 \
+ en_US.UTF-8/UTF-8 \
+ en_US/ISO-8859-1 \
++en_US.ISO-8859-15/ISO-8859-15 \
+ en_ZA.UTF-8/UTF-8 \
+ en_ZA/ISO-8859-1 \
+ en_ZW.UTF-8/UTF-8 \
+@@ -307,6 +310,8 @@ nl_NL/ISO-8859-1 \
+ nl_NL@euro/ISO-8859-15 \
+ nn_NO.UTF-8/UTF-8 \
+ nn_NO/ISO-8859-1 \
++no_NO.UTF-8/UTF-8 \
++no_NO/ISO-8859-1 \
+ nr_ZA/UTF-8 \
+ nso_ZA/UTF-8 \
+ oc_FR.UTF-8/UTF-8 \
+@@ -367,6 +372,7 @@ sv_FI/ISO-8859-1 \
+ sv_FI@euro/ISO-8859-15 \
+ sv_SE.UTF-8/UTF-8 \
+ sv_SE/ISO-8859-1 \
++sv_SE.ISO-8859-15/ISO-8859-15 \
+ ta_IN/UTF-8 \
+ te_IN/UTF-8 \
+ tg_TJ.UTF-8/UTF-8 \
+--- glibc-2.12-2-gc4ccff1/localedata/locales/cy_GB
++++ glibc-2.12-1/localedata/locales/cy_GB
+@@ -248,8 +248,11 @@ mon         "<U0049><U006F><U006E><U0061
+ d_t_fmt     "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt       "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>"
+ t_fmt       "<U0025><U0054>"
+-am_pm       "";""
+-t_fmt_ampm  ""
++am_pm       "<U0041><U004D>";"<U0050><U004D>"
++t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
++date_fmt    "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
++<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
++<U0025><U005A><U0020><U0025><U0059>"
+ END LC_TIME
+ LC_MESSAGES
+--- glibc-2.12-2-gc4ccff1/localedata/locales/en_GB
++++ glibc-2.12-1/localedata/locales/en_GB
+@@ -116,8 +116,8 @@ mon         "<U004A><U0061><U006E><U0075
+ d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt       "<U0025><U0054>"
+-am_pm       "";""
+-t_fmt_ampm  ""
++am_pm       "<U0041><U004D>";"<U0050><U004D>"
++t_fmt_ampm  "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0050><U0020><U0025><U005A>"
+ date_fmt      "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
+ <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
+ <U0025><U005A><U0020><U0025><U0059>"
+--- glibc-2.12-2-gc4ccff1/localedata/locales/no_NO
++++ glibc-2.12-1/localedata/locales/no_NO
+@@ -0,0 +1,69 @@
++escape_char   /
++comment_char    %
++
++% Norwegian language locale for Norway
++% Source: Norsk Standardiseringsforbund
++% Address: University Library,
++%   Drammensveien 41, N-9242 Oslo, Norge
++% Contact: Kolbjoern Aamboe
++% Tel: +47 - 22859109
++% Fax: +47 - 22434497
++% Email: kolbjorn.aambo@usit.uio.no
++% Language: no
++% Territory: NO
++% Revision: 4.3
++% Date: 1996-10-15
++% Application: general
++% Users: general
++% Repertoiremap: mnemonic.ds
++% Charset: ISO-8859-1
++% Distribution and use is free, also
++% for commercial purposes.
++
++LC_IDENTIFICATION
++copy "nb_NO"
++END LC_IDENTIFICATION
++
++LC_COLLATE
++copy "nb_NO"
++END LC_COLLATE
++
++LC_CTYPE
++copy "nb_NO"
++END LC_CTYPE
++
++LC_MONETARY
++copy "nb_NO"
++END LC_MONETARY
++
++LC_NUMERIC
++copy "nb_NO"
++END LC_NUMERIC
++
++LC_TIME
++copy "nb_NO"
++END LC_TIME
++
++LC_MESSAGES
++copy "nb_NO"
++END LC_MESSAGES
++
++LC_PAPER
++copy "nb_NO"
++END LC_PAPER
++
++LC_TELEPHONE
++copy "nb_NO"
++END LC_TELEPHONE
++
++LC_MEASUREMENT
++copy "nb_NO"
++END LC_MEASUREMENT
++
++LC_NAME
++copy "nb_NO"
++END LC_NAME
++
++LC_ADDRESS
++copy "nb_NO"
++END LC_ADDRESS
+--- glibc-2.12-2-gc4ccff1/localedata/locales/zh_TW
++++ glibc-2.12-1/localedata/locales/zh_TW
+@@ -1,7 +1,7 @@
+ comment_char %
+ escape_char /
+ %
+-% Chinese language locale for Taiwan R.O.C.
++% Chinese language locale for Taiwan
+ % charmap: BIG5-CP950
+ %
+ % Original Author:
+@@ -17,7 +17,7 @@ escape_char /
+ % Reference:  http://wwwold.dkuug.dk/JTC1/SC22/WG20/docs/n690.pdf
+ LC_IDENTIFICATION
+-title      "Chinese locale for Taiwan R.O.C."
++title      "Chinese locale for Taiwan"
+ source     ""
+ address    ""
+ contact    ""
+@@ -25,7 +25,7 @@ email      "bug-glibc-locales@gnu.org"
+ tel        ""
+ fax        ""
+ language   "Chinese"
+-territory  "Taiwan R.O.C."
++territory  "Taiwan"
+ revision   "0.2"
+ date       "2000-08-02"
+ %
+--- glibc-2.12-2-gc4ccff1/malloc/mcheck.c
++++ glibc-2.12-1/malloc/mcheck.c
+@@ -24,9 +24,25 @@
+ # include <mcheck.h>
+ # include <stdint.h>
+ # include <stdio.h>
++# include <stdlib.h>
+ # include <libintl.h>
+ #endif
++#ifdef _LIBC
++extern __typeof (malloc) __libc_malloc;
++extern __typeof (free) __libc_free;
++extern __typeof (realloc) __libc_realloc;
++libc_hidden_proto (__libc_malloc)
++libc_hidden_proto (__libc_realloc)
++libc_hidden_proto (__libc_free)
++libc_hidden_proto (__libc_memalign)
++#else
++# define __libc_malloc(sz) malloc (sz)
++# define __libc_free(ptr) free (ptr)
++# define __libc_realloc(ptr, sz) realloc (ptr, sz)
++# define __libc_memalign(al, sz) memalign (al, sz)
++#endif
++
+ /* Old hook values.  */
+ static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t);
+ static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t);
+@@ -197,7 +213,7 @@ freehook (__ptr_t ptr, const __ptr_t cal
+   if (old_free_hook != NULL)
+     (*old_free_hook) (ptr, caller);
+   else
+-    free (ptr);
++    __libc_free (ptr);
+   __free_hook = freehook;
+ }
+@@ -214,7 +230,7 @@ mallochook (__malloc_size_t size, const 
+     hdr = (struct hdr *) (*old_malloc_hook) (sizeof (struct hdr) + size + 1,
+                                            caller);
+   else
+-    hdr = (struct hdr *) malloc (sizeof (struct hdr) + size + 1);
++    hdr = (struct hdr *) __libc_malloc (sizeof (struct hdr) + size + 1);
+   __malloc_hook = mallochook;
+   if (hdr == NULL)
+     return NULL;
+@@ -245,7 +261,7 @@ memalignhook (__malloc_size_t alignment,
+   if (old_memalign_hook != NULL)
+     block = (*old_memalign_hook) (alignment, slop + size + 1, caller);
+   else
+-    block = memalign (alignment, slop + size + 1);
++    block = __libc_memalign (alignment, slop + size + 1);
+   __memalign_hook = memalignhook;
+   if (block == NULL)
+     return NULL;
+@@ -300,8 +316,8 @@ reallochook (__ptr_t ptr, __malloc_size_
+                                             sizeof (struct hdr) + size + 1,
+                                             caller);
+   else
+-    hdr = (struct hdr *) realloc ((__ptr_t) hdr,
+-                                sizeof (struct hdr) + size + 1);
++    hdr = (struct hdr *) __libc_realloc ((__ptr_t) hdr,
++                                       sizeof (struct hdr) + size + 1);
+   __free_hook = freehook;
+   __malloc_hook = mallochook;
+   __memalign_hook = memalignhook;
+@@ -361,8 +377,8 @@ mcheck (func)
+   if (__malloc_initialized <= 0 && !mcheck_used)
+     {
+       /* We call malloc() once here to ensure it is initialized.  */
+-      void *p = malloc (0);
+-      free (p);
++      void *p = __libc_malloc (0);
++      __libc_free (p);
+       old_free_hook = __free_hook;
+       __free_hook = freehook;
+--- glibc-2.12-2-gc4ccff1/manual/libc.texinfo
++++ glibc-2.12-1/manual/libc.texinfo
+@@ -5,7 +5,7 @@
+ @c setchapternewpage odd
+ @comment Tell install-info what to do.
+-@dircategory Software libraries
++@dircategory Libraries
+ @direntry
+ * Libc: (libc).                 C library.
+ @end direntry
+--- glibc-2.12-2-gc4ccff1/misc/sys/cdefs.h
++++ glibc-2.12-1/misc/sys/cdefs.h
+@@ -132,7 +132,10 @@
+ #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+ #define __bos0(ptr) __builtin_object_size (ptr, 0)
+-#if __GNUC_PREREQ (4,3)
++#if __GNUC_PREREQ (4,3) \
++    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
++      && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
++      && __GNUC_RH_RELEASE__ >= 31)
+ # define __warndecl(name, msg) \
+   extern void name (void) __attribute__((__warning__ (msg)))
+ # define __warnattr(msg) __attribute__((__warning__ (msg)))
+@@ -291,10 +294,16 @@
+ /* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+    inline semantics, unless -fgnu89-inline is used.  */
+-#if !defined __cplusplus || __GNUC_PREREQ (4,3)
++#if !defined __cplusplus || __GNUC_PREREQ (4,3) \
++    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
++      && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
++      && __GNUC_RH_RELEASE__ >= 31)
+ # if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+ #  define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+-#  if __GNUC_PREREQ (4,3)
++#  if __GNUC_PREREQ (4,3) \
++      || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
++          && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
++          && __GNUC_RH_RELEASE__ >= 31)
+ #   define __extern_always_inline \
+   extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
+ #  else
+@@ -314,7 +323,10 @@
+ /* GCC 4.3 and above allow passing all anonymous arguments of an
+    __extern_always_inline function to some other vararg function.  */
+-#if __GNUC_PREREQ (4,3)
++#if __GNUC_PREREQ (4,3) \
++    || (defined __GNUC_RH_RELEASE__ && __GNUC__ == 4 \
++      && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 2 \
++      && __GNUC_RH_RELEASE__ >= 31)
+ # define __va_arg_pack() __builtin_va_arg_pack ()
+ # define __va_arg_pack_len() __builtin_va_arg_pack_len ()
+ #endif
+--- glibc-2.12-2-gc4ccff1/nis/nss
++++ glibc-2.12-1/nis/nss
+@@ -25,7 +25,7 @@
+ #  memory with every getXXent() call.  Otherwise each getXXent() call
+ #  might result into a network communication with the server to get
+ #  the next entry.
+-#SETENT_BATCH_READ=TRUE
++SETENT_BATCH_READ=TRUE
+ #
+ # ADJUNCT_AS_SHADOW
+ #  If set to TRUE, the passwd routines in the NIS NSS module will not
+--- glibc-2.12-2-gc4ccff1/nptl/ChangeLog
++++ glibc-2.12-1/nptl/ChangeLog
+@@ -3884,6 +3884,15 @@
+       Use __sigfillset.  Document that sigfillset does the right thing wrt
+       to SIGSETXID.
++2005-08-08  Jakub Jelinek  <jakub@redhat.com>
++
++      * tst-stackguard1.c (do_test): Likewise.
++
++2005-07-29  Jakub Jelinek  <jakub@redhat.com>
++
++      * tst-stackguard1.c (do_test): Don't fail if the poor man's
++      randomization doesn't work well enough.
++
+ 2005-07-11  Jakub Jelinek  <jakub@redhat.com>
+       [BZ #1102]
+@@ -4620,6 +4629,11 @@
+       Move definition inside libpthread, libc, librt check.  Provide
+       definition for rtld.
++2004-09-02  Jakub Jelinek  <jakub@redhat.com>
++
++      * pthread_cond_destroy.c (__pthread_cond_destroy): If there are
++      waiters, awake all waiters on the associated mutex.
++
+ 2004-09-02  Ulrich Drepper  <drepper@redhat.com>
+       * sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp.
+@@ -6694,6 +6708,11 @@
+       * Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
++2003-07-22  Jakub Jelinek  <jakub@redhat.com>
++
++      * descr.h: Don't include lowlevellock.h, pthreaddef.h and dl-sysdep.h
++      if __need_struct_pthread_size, instead define lll_lock_t.
++
+ 2003-07-25  Jakub Jelinek  <jakub@redhat.com>
+       * tst-cancel17.c (do_test): Check if aio_cancel failed.
+--- glibc-2.12-2-gc4ccff1/nptl/Makefile
++++ glibc-2.12-1/nptl/Makefile
+@@ -341,7 +341,8 @@ endif
+ extra-objs += $(crti-objs) $(crtn-objs)
+ omit-deps += crti crtn
+-CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time)
++CFLAGS-pt-initfini.s = -g0 -fPIC -fno-inline-functions $(fno-unit-at-a-time) \
++                     -fno-asynchronous-unwind-tables
+ endif
+ CFLAGS-flockfile.c = -D_IO_MTSAFE_IO
+@@ -527,15 +528,19 @@ $(addprefix $(objpfx), \
+     $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \
+                                      $(objpfx)libpthread_nonshared.a
+ $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so
+-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
++# $(objpfx)linklibc.so is used instead of $(common-objpfx)libc.so,
+ # since otherwise libpthread.so comes before libc.so when linking.
+ $(addprefix $(objpfx), $(tests-reverse)): \
+-  $(objpfx)../libc.so $(objpfx)libpthread.so \
++  $(objpfx)linklibc.so $(objpfx)libpthread.so \
+   $(objpfx)libpthread_nonshared.a
+ $(objpfx)../libc.so: $(common-objpfx)libc.so ;
+ $(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
+ $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so
++
++$(objpfx)linklibc.so: $(common-objpfx)libc.so
++      ln -s ../libc.so $@
++generated += libclink.so
+ else
+ $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
+ endif
+--- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
++++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
+@@ -189,4 +189,7 @@
+ /* Typed memory objects are not available.  */
+ #define _POSIX_TYPED_MEMORY_OBJECTS   -1
++/* Streams are not available.  */
++#define _XOPEN_STREAMS        -1
++
+ #endif /* bits/posix_opt.h */
+--- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/kernel-features.h
++++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/kernel-features.h
+@@ -0,0 +1,6 @@
++#include_next <kernel-features.h>
++
++/* NPTL can always assume all clone thread flags work.  */
++#ifndef __ASSUME_CLONE_THREAD_FLAGS
++# define __ASSUME_CLONE_THREAD_FLAGS  1
++#endif
+--- glibc-2.12-2-gc4ccff1/nptl/tst-stackguard1.c
++++ glibc-2.12-1/nptl/tst-stackguard1.c
+@@ -190,17 +190,21 @@ do_test (void)
+      the 16 runs, something is very wrong.  */
+   int ndifferences = 0;
+   int ndefaults = 0;
++  int npartlyrandomized = 0;
+   for (i = 0; i < N; ++i) 
+     {
+       if (child_stack_chk_guards[i] != child_stack_chk_guards[i+1])
+       ndifferences++;
+       else if (child_stack_chk_guards[i] == default_guard)
+       ndefaults++;
++      else if (*(char *) &child_stack_chk_guards[i] == 0)
++      npartlyrandomized++;
+     }
+-  printf ("differences %d defaults %d\n", ndifferences, ndefaults);
++  printf ("differences %d defaults %d partly randomized %d\n",
++        ndifferences, ndefaults, npartlyrandomized);
+-  if (ndifferences < N / 2 && ndefaults < N / 2)
++  if ((ndifferences + ndefaults + npartlyrandomized) < 3 * N / 4)
+     {
+       puts ("stack guard canaries are not randomized enough");
+       puts ("nor equal to the default canary value");
+--- glibc-2.12-2-gc4ccff1/nscd/nscd.conf
++++ glibc-2.12-1/nscd/nscd.conf
+@@ -33,7 +33,7 @@
+ #     logfile                 /var/log/nscd.log
+ #     threads                 4
+ #     max-threads             32
+-#     server-user             nobody
++      server-user             nscd
+ #     stat-user               somebody
+       debug-level             0
+ #     reload-count            5
+--- glibc-2.12-2-gc4ccff1/nscd/nscd.init
++++ glibc-2.12-1/nscd/nscd.init
+@@ -9,6 +9,7 @@
+ #             slow naming services like NIS, NIS+, LDAP, or hesiod.
+ # processname: /usr/sbin/nscd
+ # config: /etc/nscd.conf
++# config: /etc/sysconfig/nscd
+ #
+ ### BEGIN INIT INFO
+ # Provides: nscd
+@@ -28,20 +29,8 @@
+ # Source function library.
+ . /etc/init.d/functions
+-# nscd does not run on any kernel lower than 2.2.0 because of threading
+-# problems, so we require that in first place.
+-case $(uname -r) in
+-    2.[2-9].*)
+-      # this is okay
+-      ;;
+-    [3-9]*)
+-      # these are of course also okay
+-      ;;
+-    *)
+-      #this is not
+-      exit 1
+-      ;;
+-esac
++# Source an auxiliary options file if we have one, and pick up NSCD_OPTIONS.
++[ -r /etc/sysconfig/nscd ] && . /etc/sysconfig/nscd
+ RETVAL=0
+ prog=nscd
+@@ -50,7 +39,7 @@ start () {
+     [ -d /var/run/nscd ] || mkdir /var/run/nscd
+     [ -d /var/db/nscd ] || mkdir /var/db/nscd
+     echo -n $"Starting $prog: "
+-    daemon /usr/sbin/nscd
++    daemon /usr/sbin/nscd $NSCD_OPTIONS
+     RETVAL=$?
+     echo
+     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
+@@ -83,7 +72,7 @@ restart() {
+ # See how we were called.
+ case "$1" in
+     start)
+-      start
++      [ -e /var/lock/subsys/nscd ] || start
+       RETVAL=$?
+       ;;
+     stop)
+@@ -99,14 +88,17 @@ case "$1" in
+       RETVAL=$?
+       ;;
+     try-restart | condrestart)
+-      [ -e /var/lock/subsys/nscd ] && restart
++      [ ! -e /var/lock/subsys/nscd ] || restart
+       RETVAL=$?
+       ;;
+     force-reload | reload)
+       echo -n $"Reloading $prog: "
+-      killproc /usr/sbin/nscd -HUP
+-      RETVAL=$?
+-      echo
++      RETVAL=0
++      /usr/sbin/nscd -i passwd || RETVAL=$?
++      /usr/sbin/nscd -i group || RETVAL=$?
++      /usr/sbin/nscd -i hosts || RETVAL=$?
++      /usr/sbin/nscd -i services || RETVAL=$?
++      echo
+       ;;
+     *)
+       echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
+--- glibc-2.12-2-gc4ccff1/posix/Makefile
++++ glibc-2.12-1/posix/Makefile
+@@ -305,15 +305,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi
+         mv -f $@/$$spec.new $@/$$spec; \
+       done < $(objpfx)getconf.speclist
+-$(objpfx)getconf.speclist: $(objpfx)getconf
+-ifeq (no,$(cross-compiling))
+-      LC_ALL=C GETCONF_DIR=/dev/null \
+-      $(run-program-prefix) $< _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new
+-      LC_ALL=C GETCONF_DIR=/dev/null \
+-      $(run-program-prefix) $< _POSIX_V6_WIDTH_RESTRICTED_ENVS >> $@.new
+-      LC_ALL=C GETCONF_DIR=/dev/null \
+-      $(run-program-prefix) $< _XBS5_WIDTH_RESTRICTED_ENVS >> $@.new
+-else
+-      > $@.new
+-endif
++$(objpfx)getconf.speclist: getconf.speclist.h
++      $(CC) -E $(CFLAGS) $(CPPFLAGS) $< \
++        | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|_XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \
++        > $@.new
+       mv -f $@.new $@
+--- glibc-2.12-2-gc4ccff1/posix/gai.conf
++++ glibc-2.12-1/posix/gai.conf
+@@ -41,7 +41,7 @@
+ #
+ # precedence  <mask>   <value>
+ #    Add another rule to the RFC 3484 precedence table.  See section 2.1
+-#    and 10.3 in RFC 3484.  The default is:
++#    and 10.3 in RFC 3484.  The RFC requires:
+ #
+ #precedence  ::1/128       50
+ #precedence  ::/0          40
+@@ -58,7 +58,7 @@
+ #    Add another rule to the RFC 3484 scope table for IPv4 addresses.
+ #    By default the scope IDs described in section 3.2 in RFC 3484 are
+ #    used.  Changing these defaults should hardly ever be necessary.
+-#    The defaults are equivalent to:
++#    The definitions in RFC 1918 are equivalent to:
+ #
+ #scopev4 ::ffff:169.254.0.0/112  2
+ #scopev4 ::ffff:127.0.0.0/104    2
+@@ -75,3 +75,5 @@
+ #scopev4 ::ffff:169.254.0.0/112  2
+ #scopev4 ::ffff:127.0.0.0/104    2
+ #scopev4 ::ffff:0.0.0.0/96       14
++#
++#    This is what the Red Hat setting currently uses.
+--- glibc-2.12-2-gc4ccff1/posix/getconf.speclist.h
++++ glibc-2.12-1/posix/getconf.speclist.h
+@@ -0,0 +1,39 @@
++#include <unistd.h>
++const char *START_OF_STRINGS =
++#if _POSIX_V7_ILP32_OFF32 == 1
++"POSIX_V7_ILP32_OFF32"
++#endif
++#if _POSIX_V7_ILP32_OFFBIG == 1
++"POSIX_V7_ILP32_OFFBIG"
++#endif
++#if _POSIX_V7_LP64_OFF64 == 1
++"POSIX_V7_LP64_OFF64"
++#endif
++#if _POSIX_V7_LPBIG_OFFBIG == 1
++"POSIX_V7_LPBIG_OFFBIG"
++#endif
++#if _POSIX_V6_ILP32_OFF32 == 1
++"POSIX_V6_ILP32_OFF32"
++#endif
++#if _POSIX_V6_ILP32_OFFBIG == 1
++"POSIX_V6_ILP32_OFFBIG"
++#endif
++#if _POSIX_V6_LP64_OFF64 == 1
++"POSIX_V6_LP64_OFF64"
++#endif
++#if _POSIX_V6_LPBIG_OFFBIG == 1
++"POSIX_V6_LPBIG_OFFBIG"
++#endif
++#if _XBS5_ILP32_OFF32 == 1
++"XBS5_ILP32_OFF32"
++#endif
++#if _XBS5_ILP32_OFFBIG == 1
++"XBS5_ILP32_OFFBIG"
++#endif
++#if _XBS5_LP64_OFF64 == 1
++"XBS5_LP64_OFF64"
++#endif
++#if _XBS5_LPBIG_OFFBIG == 1
++"XBS5_LPBIG_OFFBIG"
++#endif
++"";
+--- glibc-2.12-2-gc4ccff1/streams/Makefile
++++ glibc-2.12-1/streams/Makefile
+@@ -21,7 +21,7 @@
+ #
+ subdir        := streams
+-headers               = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h
++#headers              = stropts.h sys/stropts.h bits/stropts.h bits/xtitypes.h
+ routines      = isastream getmsg getpmsg putmsg putpmsg fattach fdetach
+ include ../Rules
+--- glibc-2.12-2-gc4ccff1/sysdeps/generic/dl-cache.h
++++ glibc-2.12-1/sysdeps/generic/dl-cache.h
+@@ -36,6 +36,14 @@
+ # define add_system_dir(dir) add_dir (dir)
+ #endif
++#ifndef arch_startup
++# define arch_startup(argc, argv) do { } while (0)
++#endif
++
++#ifndef add_arch_dirs
++# define add_arch_dirs(config_file) do { } while (0)
++#endif
++
+ #define CACHEMAGIC "ld.so-1.7.0"
+ /* libc5 and glibc 2.0/2.1 use the same format.  For glibc 2.2 another
+--- glibc-2.12-2-gc4ccff1/sysdeps/i386/Makefile
++++ glibc-2.12-1/sysdeps/i386/Makefile
+@@ -2,6 +2,8 @@
+ # Every i386 port in use uses gas syntax (I think).
+ asm-CPPFLAGS += -DGAS_SYNTAX
++sysdep-ASFLAGS += -U__i686
++
+ # The i386 `long double' is a distinct type we support.
+ long-double-fcts = yes
+@@ -64,6 +66,14 @@ endif
+ ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS)))
+ defines += -DNO_TLS_DIRECT_SEG_REFS
++else
++# .a libraries are not performance critical and so we
++# build them without direct TLS segment references
++# always.
++CPPFLAGS-.o += -DNO_TLS_DIRECT_SEG_REFS
++CFLAGS-.o += -mno-tls-direct-seg-refs
++CPPFLAGS-.oS += -DNO_TLS_DIRECT_SEG_REFS
++CFLAGS-.oS += -mno-tls-direct-seg-refs
+ endif
+ ifeq ($(subdir),elf)
+--- glibc-2.12-2-gc4ccff1/sysdeps/ia64/Makefile
++++ glibc-2.12-1/sysdeps/ia64/Makefile
+@@ -12,8 +12,8 @@ elide-routines.os += hp-timing
+ ifeq (yes,$(build-shared))
+ # Compatibility
+-sysdep_routines += ia64libgcc
+-shared-only-routines += ia64libgcc
++sysdep_routines += libgcc-compat
++shared-only-routines += libgcc-compat
+ endif
+ endif
+--- glibc-2.12-2-gc4ccff1/sysdeps/ia64/ia64libgcc.S
++++ glibc-2.12-1/sysdeps/ia64/ia64libgcc.S
+@@ -1,350 +0,0 @@
+-/* From the Intel IA-64 Optimization Guide, choose the minimum latency
+-   alternative.  */
+-
+-#include <sysdep.h>
+-#undef ret
+-
+-#include <shlib-compat.h>
+-
+-#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
+-
+-/* __divtf3
+-   Compute a 80-bit IEEE double-extended quotient.
+-   farg0 holds the dividend.  farg1 holds the divisor.  */
+-
+-ENTRY(___divtf3)
+-      cmp.eq p7, p0 = r0, r0
+-      frcpa.s0 f10, p6 = farg0, farg1
+-      ;;
+-(p6)  cmp.ne p7, p0 = r0, r0
+-      .pred.rel.mutex p6, p7
+-(p6)  fnma.s1 f11 = farg1, f10, f1
+-(p6)  fma.s1 f12 = farg0, f10, f0
+-      ;;
+-(p6)  fma.s1 f13 = f11, f11, f0
+-(p6)  fma.s1 f14 = f11, f11, f11
+-      ;;
+-(p6)  fma.s1 f11 = f13, f13, f11
+-(p6)  fma.s1 f13 = f14, f10, f10
+-      ;;
+-(p6)  fma.s1 f10 = f13, f11, f10
+-(p6)  fnma.s1 f11 = farg1, f12, farg0
+-      ;;
+-(p6)  fma.s1 f11 = f11, f10, f12
+-(p6)  fnma.s1 f12 = farg1, f10, f1
+-      ;;
+-(p6)  fma.s1 f10 = f12, f10, f10
+-(p6)  fnma.s1 f12 = farg1, f11, farg0
+-      ;;
+-(p6)  fma.s0 fret0 = f12, f10, f11
+-(p7)  mov fret0 = f10
+-      br.ret.sptk rp
+-END(___divtf3)
+-      .symver ___divtf3, __divtf3@GLIBC_2.2
+-
+-/* __divdf3
+-   Compute a 64-bit IEEE double quotient.
+-   farg0 holds the dividend.  farg1 holds the divisor.  */
+-
+-ENTRY(___divdf3)
+-      cmp.eq p7, p0 = r0, r0
+-      frcpa.s0 f10, p6 = farg0, farg1
+-      ;;
+-(p6)  cmp.ne p7, p0 = r0, r0
+-      .pred.rel.mutex p6, p7
+-(p6)  fmpy.s1 f11 = farg0, f10
+-(p6)  fnma.s1 f12 = farg1, f10, f1
+-      ;;
+-(p6)  fma.s1 f11 = f12, f11, f11
+-(p6)  fmpy.s1 f13 = f12, f12
+-      ;;
+-(p6)  fma.s1 f10 = f12, f10, f10
+-(p6)  fma.s1 f11 = f13, f11, f11
+-      ;;
+-(p6)  fmpy.s1 f12 = f13, f13
+-(p6)  fma.s1 f10 = f13, f10, f10
+-      ;;
+-(p6)  fma.d.s1 f11 = f12, f11, f11
+-(p6)  fma.s1 f10 = f12, f10, f10
+-      ;;
+-(p6)  fnma.d.s1 f8 = farg1, f11, farg0
+-      ;;
+-(p6)  fma.d fret0 = f8, f10, f11
+-(p7)  mov fret0 = f10
+-      br.ret.sptk rp
+-      ;;
+-END(___divdf3)
+-      .symver ___divdf3, __divdf3@GLIBC_2.2
+-
+-/* __divsf3
+-   Compute a 32-bit IEEE float quotient.
+-   farg0 holds the dividend.  farg1 holds the divisor.  */
+-
+-ENTRY(___divsf3)
+-      cmp.eq p7, p0 = r0, r0
+-      frcpa.s0 f10, p6 = farg0, farg1
+-      ;;
+-(p6)  cmp.ne p7, p0 = r0, r0
+-      .pred.rel.mutex p6, p7
+-(p6)  fmpy.s1 f8 = farg0, f10
+-(p6)  fnma.s1 f9 = farg1, f10, f1
+-      ;;
+-(p6)  fma.s1 f8 = f9, f8, f8
+-(p6)  fmpy.s1 f9 = f9, f9
+-      ;;
+-(p6)  fma.s1 f8 = f9, f8, f8
+-(p6)  fmpy.s1 f9 = f9, f9
+-      ;;
+-(p6)  fma.d.s1 f10 = f9, f8, f8
+-      ;;
+-(p6)  fnorm.s.s0 fret0 = f10
+-(p7)  mov fret0 = f10
+-      br.ret.sptk rp
+-      ;;
+-END(___divsf3)
+-      .symver ___divsf3, __divsf3@GLIBC_2.2
+-
+-/* __divdi3
+-   Compute a 64-bit integer quotient.
+-   in0 holds the dividend.  in1 holds the divisor.  */
+-
+-ENTRY(___divdi3)
+-      .regstk 2,0,0,0
+-      /* Transfer inputs to FP registers.  */
+-      setf.sig f8 = in0
+-      setf.sig f9 = in1
+-      ;;
+-      /* Convert the inputs to FP, so that they won't be treated as
+-         unsigned.  */
+-      fcvt.xf f8 = f8
+-      fcvt.xf f9 = f9
+-      ;;
+-      /* Compute the reciprocal approximation.  */
+-      frcpa.s1 f10, p6 = f8, f9
+-      ;;
+-      /* 3 Newton-Raphson iterations.  */
+-(p6)  fnma.s1 f11 = f9, f10, f1
+-(p6)  fmpy.s1 f12 = f8, f10
+-      ;;
+-(p6)  fmpy.s1 f13 = f11, f11
+-(p6)  fma.s1 f12 = f11, f12, f12
+-      ;;
+-(p6)  fma.s1 f10 = f11, f10, f10
+-(p6)  fma.s1 f11 = f13, f12, f12
+-      ;;
+-(p6)  fma.s1 f10 = f13, f10, f10
+-(p6)  fnma.s1 f12 = f9, f11, f8
+-      ;;
+-(p6)  fma.s1 f10 = f12, f10, f11
+-      ;;
+-      /* Round quotient to an integer.  */
+-      fcvt.fx.trunc.s1 f10 = f10
+-      ;;
+-      /* Transfer result to GP registers.  */
+-      getf.sig ret0 = f10
+-      br.ret.sptk rp
+-      ;;
+-END(___divdi3)
+-      .symver ___divdi3, __divdi3@GLIBC_2.2
+-
+-/* __moddi3
+-   Compute a 64-bit integer modulus.
+-   in0 holds the dividend (a).  in1 holds the divisor (b).  */
+-
+-ENTRY(___moddi3)
+-      .regstk 2,0,0,0
+-      /* Transfer inputs to FP registers.  */
+-      setf.sig f14 = in0
+-      setf.sig f9 = in1
+-      ;;
+-      /* Convert the inputs to FP, so that they won't be treated as
+-         unsigned.  */
+-      fcvt.xf f8 = f14
+-      fcvt.xf f9 = f9
+-      ;;
+-      /* Compute the reciprocal approximation.  */
+-      frcpa.s1 f10, p6 = f8, f9
+-      ;;
+-      /* 3 Newton-Raphson iterations.  */
+-(p6)  fmpy.s1 f12 = f8, f10
+-(p6)  fnma.s1 f11 = f9, f10, f1
+-      ;;
+-(p6)  fma.s1 f12 = f11, f12, f12
+-(p6)  fmpy.s1 f13 = f11, f11
+-      ;;
+-(p6)  fma.s1 f10 = f11, f10, f10
+-(p6)  fma.s1 f11 = f13, f12, f12
+-      ;;
+-      sub in1 = r0, in1
+-(p6)  fma.s1 f10 = f13, f10, f10
+-(p6)  fnma.s1 f12 = f9, f11, f8
+-      ;;
+-      setf.sig f9 = in1
+-(p6)  fma.s1 f10 = f12, f10, f11
+-      ;;
+-      fcvt.fx.trunc.s1 f10 = f10
+-      ;;
+-      /* r = q * (-b) + a  */
+-      xma.l f10 = f10, f9, f14
+-      ;;
+-      /* Transfer result to GP registers.  */
+-      getf.sig ret0 = f10
+-      br.ret.sptk rp
+-      ;;
+-END(___moddi3)
+-      .symver ___moddi3, __moddi3@GLIBC_2.2
+-
+-/* __udivdi3
+-   Compute a 64-bit unsigned integer quotient.
+-   in0 holds the dividend.  in1 holds the divisor.  */
+-
+-ENTRY(___udivdi3)
+-      .regstk 2,0,0,0
+-      /* Transfer inputs to FP registers.  */
+-      setf.sig f8 = in0
+-      setf.sig f9 = in1
+-      ;;
+-      /* Convert the inputs to FP, to avoid FP software-assist faults.  */
+-      fcvt.xuf.s1 f8 = f8
+-      fcvt.xuf.s1 f9 = f9
+-      ;;
+-      /* Compute the reciprocal approximation.  */
+-      frcpa.s1 f10, p6 = f8, f9
+-      ;;
+-      /* 3 Newton-Raphson iterations.  */
+-(p6)  fnma.s1 f11 = f9, f10, f1
+-(p6)  fmpy.s1 f12 = f8, f10
+-      ;;
+-(p6)  fmpy.s1 f13 = f11, f11
+-(p6)  fma.s1 f12 = f11, f12, f12
+-      ;;
+-(p6)  fma.s1 f10 = f11, f10, f10
+-(p6)  fma.s1 f11 = f13, f12, f12
+-      ;;
+-(p6)  fma.s1 f10 = f13, f10, f10
+-(p6)  fnma.s1 f12 = f9, f11, f8
+-      ;;
+-(p6)  fma.s1 f10 = f12, f10, f11
+-      ;;
+-      /* Round quotient to an unsigned integer.  */
+-      fcvt.fxu.trunc.s1 f10 = f10
+-      ;;
+-      /* Transfer result to GP registers.  */
+-      getf.sig ret0 = f10
+-      br.ret.sptk rp
+-      ;;
+-END(___udivdi3)
+-      .symver ___udivdi3, __udivdi3@GLIBC_2.2
+-
+-/* __umoddi3
+-   Compute a 64-bit unsigned integer modulus.
+-   in0 holds the dividend (a).  in1 holds the divisor (b).  */
+-
+-ENTRY(___umoddi3)
+-      .regstk 2,0,0,0
+-      /* Transfer inputs to FP registers.  */
+-      setf.sig f14 = in0
+-      setf.sig f9 = in1
+-      ;;
+-      /* Convert the inputs to FP, to avoid FP software assist faults.  */
+-      fcvt.xuf.s1 f8 = f14
+-      fcvt.xuf.s1 f9 = f9
+-      ;;
+-      /* Compute the reciprocal approximation.  */
+-      frcpa.s1 f10, p6 = f8, f9
+-      ;;
+-      /* 3 Newton-Raphson iterations.  */
+-(p6)  fmpy.s1 f12 = f8, f10
+-(p6)  fnma.s1 f11 = f9, f10, f1
+-      ;;
+-(p6)  fma.s1 f12 = f11, f12, f12
+-(p6)  fmpy.s1 f13 = f11, f11
+-      ;;
+-(p6)  fma.s1 f10 = f11, f10, f10
+-(p6)  fma.s1 f11 = f13, f12, f12
+-      ;;
+-      sub in1 = r0, in1
+-(p6)  fma.s1 f10 = f13, f10, f10
+-(p6)  fnma.s1 f12 = f9, f11, f8
+-      ;;
+-      setf.sig f9 = in1
+-(p6)  fma.s1 f10 = f12, f10, f11
+-      ;;
+-      /* Round quotient to an unsigned integer.  */
+-      fcvt.fxu.trunc.s1 f10 = f10
+-      ;;
+-      /* r = q * (-b) + a  */
+-      xma.l f10 = f10, f9, f14
+-      ;;
+-      /* Transfer result to GP registers.  */
+-      getf.sig ret0 = f10
+-      br.ret.sptk rp
+-      ;;
+-END(___umoddi3)
+-      .symver ___umoddi3, __umoddi3@GLIBC_2.2
+-
+-/* __multi3
+-   Compute a 128-bit multiply of 128-bit multiplicands.
+-   in0/in1 holds one multiplicand (a), in2/in3 holds the other one (b).  */
+-
+-ENTRY(___multi3)
+-      .regstk 4,0,0,0
+-      setf.sig f6 = in1
+-      movl r19 = 0xffffffff
+-      setf.sig f7 = in2
+-      ;;
+-      and r14 = r19, in0
+-      ;;
+-      setf.sig f10 = r14
+-      and r14 = r19, in2
+-      xmpy.l f9 = f6, f7
+-      ;;
+-      setf.sig f6 = r14
+-      shr.u r14 = in0, 32
+-      ;;
+-      setf.sig f7 = r14
+-      shr.u r14 = in2, 32
+-      ;;
+-      setf.sig f8 = r14
+-      xmpy.l f11 = f10, f6
+-      xmpy.l f6 = f7, f6
+-      ;;
+-      getf.sig r16 = f11
+-      xmpy.l f7 = f7, f8
+-      ;;
+-      shr.u r14 = r16, 32
+-      and r16 = r19, r16
+-      getf.sig r17 = f6
+-      setf.sig f6 = in0
+-      ;;
+-      setf.sig f11 = r14
+-      getf.sig r21 = f7
+-      setf.sig f7 = in3
+-      ;;
+-      xma.l f11 = f10, f8, f11
+-      xma.l f6 = f6, f7, f9
+-      ;;
+-      getf.sig r18 = f11
+-      ;;
+-      add r18 = r18, r17
+-      ;;
+-      and r15 = r19, r18
+-      cmp.ltu p7, p6 = r18, r17
+-      ;;
+-      getf.sig r22 = f6
+-(p7)  adds r14 = 1, r19
+-      ;;
+-(p7)  add r21 = r21, r14
+-      shr.u r14 = r18, 32
+-      shl r15 = r15, 32
+-      ;;
+-      add r20 = r21, r14
+-      ;;
+-      add ret0 = r15, r16
+-      add ret1 = r22, r20
+-      br.ret.sptk rp
+-      ;;
+-END(___multi3)
+-      .symver ___multi3, __multi3@GLIBC_2.2
+-
+-#endif
+--- glibc-2.12-2-gc4ccff1/sysdeps/ia64/libgcc-compat.c
++++ glibc-2.12-1/sysdeps/ia64/libgcc-compat.c
+@@ -0,0 +1,84 @@
++/* pre-.hidden libgcc compatibility
++   Copyright (C) 2002 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++
++#include <stdint.h>
++#include <shlib-compat.h>
++
++#if SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_2_6)
++
++typedef int int128_t __attribute__((__mode__(TI)));
++
++extern long double __divtf3 (long double, long double) attribute_hidden;
++long double INTUSE (__divtf3) (long double x, long double y)
++{
++  return __divtf3 (x, y);
++}
++symbol_version (INTUSE (__divtf3), __divtf3, GLIBC_2.2);
++
++extern double __divdf3 (double, double) attribute_hidden;
++double INTUSE (__divdf3) (double x, double y)
++{
++  return __divdf3 (x, y);
++}
++symbol_version (INTUSE (__divdf3), __divdf3, GLIBC_2.2);
++
++extern float __divsf3 (float, float) attribute_hidden;
++float INTUSE (__divsf3) (float x, float y)
++{
++  return __divsf3 (x, y);
++}
++symbol_version (INTUSE (__divsf3), __divsf3, GLIBC_2.2);
++
++extern int64_t __divdi3 (int64_t, int64_t) attribute_hidden;
++int64_t INTUSE (__divdi3) (int64_t x, int64_t y)
++{
++  return __divdi3 (x, y);
++}
++symbol_version (INTUSE (__divdi3), __divdi3, GLIBC_2.2);
++
++extern int64_t __moddi3 (int64_t, int64_t) attribute_hidden;
++int64_t INTUSE (__moddi3) (int64_t x, int64_t y)
++{
++  return __moddi3 (x, y);
++}
++symbol_version (INTUSE (__moddi3), __moddi3, GLIBC_2.2);
++
++extern uint64_t __udivdi3 (uint64_t, uint64_t) attribute_hidden;
++uint64_t INTUSE (__udivdi3) (uint64_t x, uint64_t y)
++{
++  return __udivdi3 (x, y);
++}
++symbol_version (INTUSE (__udivdi3), __udivdi3, GLIBC_2.2);
++
++extern uint64_t __umoddi3 (uint64_t, uint64_t) attribute_hidden;
++uint64_t INTUSE (__umoddi3) (uint64_t x, uint64_t y)
++{
++  return __umoddi3 (x, y);
++}
++symbol_version (INTUSE (__umoddi3), __umoddi3, GLIBC_2.2);
++
++extern int128_t __multi3 (int128_t, int128_t) attribute_hidden;
++int128_t INTUSE (__multi3) (int128_t x, int128_t y)
++{
++  return __multi3 (x, y);
++}
++symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2);
++
++#endif
+--- glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
++++ glibc-2.12-1/sysdeps/posix/getaddrinfo.c
+@@ -1099,10 +1099,12 @@ static const struct scopeentry
+     /* Link-local addresses: scope 2.  */
+     { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 },
+     { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 },
++#if 0
+     /* Site-local addresses: scope 5.  */
+     { { { 10, 0, 0, 0 } }, htonl_c (0xff000000), 5 },
+     { { { 172, 16, 0, 0 } }, htonl_c (0xfff00000), 5 },
+     { { { 192, 168, 0, 0 } }, htonl_c (0xffff0000), 5 },
++#endif
+     /* Default: scope 14.  */
+     { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 }
+   };
+--- glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/Makefile
++++ glibc-2.12-1/sysdeps/powerpc/powerpc64/Makefile
+@@ -30,6 +30,7 @@ ifneq ($(elf),no)
+ # we use -fpic instead which is much better.
+ CFLAGS-initfini.s += -fpic -O1
+ endif
++CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables
+ endif
+ ifeq ($(subdir),elf)
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/nice.c
++++ glibc-2.12-1/sysdeps/unix/nice.c
+@@ -42,7 +42,12 @@ nice (int incr)
+       __set_errno (save);
+     }
+-  result = setpriority (PRIO_PROCESS, 0, prio + incr);
++  prio += incr;
++  if (prio < PRIO_MIN)
++    prio = PRIO_MIN;
++  else if (prio >= PRIO_MAX)
++    prio = PRIO_MAX - 1;
++  result = setpriority (PRIO_PROCESS, 0, prio);
+   if (result == -1)
+     {
+       if (errno == EACCES)
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/check_pf.c
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/check_pf.c
+@@ -27,13 +27,10 @@
+ #include <unistd.h>
+ #include <sys/socket.h>
+-#include <asm/types.h>
+-#include <linux/netlink.h>
+-#include <linux/rtnetlink.h>
+-
+ #include <not-cancel.h>
+ #include <kernel-features.h>
++#include "netlinkaccess.h"
+ #ifndef IFA_F_HOMEADDRESS
+ # define IFA_F_HOMEADDRESS 0
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/dl-osinfo.h
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/dl-osinfo.h
+@@ -17,10 +17,13 @@
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
++#include <errno.h>
+ #include <kernel-features.h>
+ #include <dl-sysdep.h>
+ #include <fcntl.h>
+ #include <stdint.h>
++#include <hp-timing.h>
++#include <endian.h>
+ #ifndef MIN
+ # define MIN(a,b) (((a)<(b))?(a):(b))
+@@ -80,6 +83,32 @@ _dl_setup_stack_chk_guard (void *dl_rand
+       unsigned char *p = (unsigned char *) &ret;
+       p[sizeof (ret) - 1] = 255;
+       p[sizeof (ret) - 2] = '\n';
++#ifdef HP_TIMING_NOW
++      hp_timing_t hpt;
++      HP_TIMING_NOW (hpt);
++      hpt = (hpt & 0xffff) << 8;
++      ret ^= hpt;
++#endif
++      uintptr_t stk;
++      /* Avoid GCC being too smart.  */
++      asm ("" : "=r" (stk) : "r" (p));
++      stk &= 0x7ffff0;
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++      stk <<= (__WORDSIZE - 23);
++#elif __WORDSIZE == 64
++      stk <<= 31;
++#endif
++      ret ^= stk;
++      /* Avoid GCC being too smart.  */
++      p = (unsigned char *) &errno;
++      asm ("" : "=r" (stk) : "r" (p));
++      stk &= 0x7fff00;
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++      stk <<= (__WORDSIZE - 29);
++#else
++      stk >>= 8;
++#endif
++      ret ^= stk;
+     }
+   else
+ #endif
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/futimesat.c
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/futimesat.c
+@@ -37,14 +37,14 @@ futimesat (fd, file, tvp)
+ {
+   int result;
++  if (file == NULL)
++    return __futimes (fd, tvp);
++
+ #ifdef __NR_futimesat
+ # ifndef __ASSUME_ATFCTS
+   if (__have_atfcts >= 0)
+ # endif
+     {
+-      if (file == NULL)
+-      return __futimes (fd, tvp);
+-
+       result = INLINE_SYSCALL (futimesat, 3, fd, file, tvp);
+ # ifndef __ASSUME_ATFCTS
+       if (result == -1 && errno == ENOSYS)
+@@ -58,22 +58,7 @@ futimesat (fd, file, tvp)
+ #ifndef __ASSUME_ATFCTS
+   char *buf = NULL;
+-  if (file == NULL)
+-    {
+-      static const char procfd[] = "/proc/self/fd/%d";
+-      /* Buffer for the path name we are going to use.  It consists of
+-       - the string /proc/self/fd/
+-       - the file descriptor number.
+-       The final NUL is included in the sizeof.   A bit of overhead
+-       due to the format elements compensates for possible negative
+-       numbers.  */
+-      size_t buflen = sizeof (procfd) + sizeof (int) * 3;
+-      buf = alloca (buflen);
+-
+-      __snprintf (buf, buflen, procfd, fd);
+-      file = buf;
+-    }
+-  else if (fd != AT_FDCWD && file[0] != '/')
++  if (fd != AT_FDCWD && file[0] != '/')
+     {
+       size_t filelen = strlen (file);
+       if (__builtin_expect (filelen == 0, 0))
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/dl-cache.h
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/i386/dl-cache.h
+@@ -0,0 +1,59 @@
++/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
++   Copyright (C) 2004 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++static inline int
++is_ia64 (void)
++{
++  unsigned int fl1, fl2;
++
++  /* See if we can use cpuid.  */
++  __asm__ ("pushfl; pushfl; popl %0; movl %0,%1; xorl %2,%0;"
++           "pushl %0; popfl; pushfl; popl %0; popfl"
++           : "=&r" (fl1), "=&r" (fl2)
++           : "i" (0x00200000));
++  if (((fl1 ^ fl2) & 0x00200000) == 0)
++    return 0;
++
++  /* Host supports cpuid.  See if cpuid gives capabilities, try
++     CPUID(0).  Preserve %ebx and %ecx; cpuid insn clobbers these, we
++     don't need their CPUID values here, and %ebx may be the PIC
++     register.  */
++  __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx"
++           : "=a" (fl1) : "0" (0) : "edx", "cc");
++  if (fl1 == 0)
++    return 0;
++
++  /* Invoke CPUID(1), return %edx; caller can examine bits to
++     determine what's supported.  */
++  __asm__ ("pushl %%ecx; pushl %%ebx; cpuid; popl %%ebx; popl %%ecx"
++           : "=d" (fl2), "=a" (fl1) : "1" (1) : "cc");
++  return (fl2 & (1 << 30)) != 0;
++}
++
++#define arch_startup(argc, argv) \
++  do {                                                                        \
++    /* On IA-64, try to execute 64-bit ldconfig if possible.          \
++       This is because the badly designed /emul/ia32-linux hack               \
++       will cause 32-bit ldconfig to do all sorts of weird things.  */        \
++    if (is_ia64 ())                                                   \
++      execv ("/emul/ia32-linux/../../sbin/ldconfig",                  \
++           (char *const *) argv);                                     \
++  } while (0)
++
++#include_next <dl-cache.h>
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-cache.h
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-cache.h
+@@ -22,4 +22,31 @@
+ #define _dl_cache_check_flags(flags) \
+   ((flags) == _DL_CACHE_DEFAULT_ID)
++#define EMUL_HACK "/emul/ia32-linux"
++
++#define arch_startup(argc, argv) unlink (EMUL_HACK LD_SO_CACHE)
++
++#define add_arch_dirs(config_file) \
++  do {                                                        \
++    int save_verbose = opt_verbose;                   \
++    opt_verbose = 0;                                  \
++                                                      \
++    parse_conf (config_file, EMUL_HACK, true);                \
++                                                      \
++    /* Always add the standard search paths.  */      \
++    add_system_dir (EMUL_HACK SLIBDIR);                       \
++    if (strcmp (SLIBDIR, LIBDIR))                     \
++      add_system_dir (EMUL_HACK LIBDIR);              \
++                                                      \
++    char emul_config_file[strlen (config_file)                \
++                        + sizeof EMUL_HACK];          \
++    strcpy (mempcpy (emul_config_file, EMUL_HACK,     \
++                   strlen (EMUL_HACK)), config_file); \
++                                                      \
++    if (! access (emul_config_file, R_OK))            \
++      parse_conf (emul_config_file, EMUL_HACK, true); \
++                                                      \
++    opt_verbose = save_verbose;                               \
++  } while (0)
++
+ #include_next <dl-cache.h>
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c
+@@ -0,0 +1,5 @@
++#ifdef IS_IN_ldconfig
++#include <sysdeps/i386/dl-procinfo.c>
++#else
++#include <sysdeps/generic/dl-procinfo.c>
++#endif
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h
+@@ -0,0 +1,5 @@
++#ifdef IS_IN_ldconfig
++#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h>
++#else
++#include <sysdeps/generic/dl-procinfo.h>
++#endif
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed
+@@ -1 +1 @@
+-s_^\(RTLDLIST=\)\([^  ]*\)-ia64\(\.so\.[0-9.]*\)[     ]*$_\1"\2-ia64\3 \2\3"_
++s_^\(RTLDLIST=\)\([^  ]*\)-ia64\(\.so\.[0-9.]*\)[     ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/netlinkaccess.h
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/netlinkaccess.h
+@@ -25,6 +25,24 @@
+ #include <kernel-features.h>
++#ifndef IFA_MAX
++/* 2.6.19 kernel headers helpfully removed some macros and
++   moved lots of stuff into new headers, some of which aren't
++   included by linux/rtnetlink.h.  */
++#include <linux/if_addr.h>
++#endif
++
++#ifndef IFA_RTA
++# define IFA_RTA(r) \
++  ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifaddrmsg))))
++# define IFA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifaddrmsg))
++#endif
++
++#ifndef IFLA_RTA
++# define IFLA_RTA(r) \
++  ((struct rtattr*) ((char*)(r) + NLMSG_ALIGN (sizeof (struct ifinfomsg))))
++# define IFLA_PAYLOAD(n) NLMSG_PAYLOAD (n, sizeof (struct ifinfomsg))
++#endif
+ struct netlink_res
+ {
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/paths.h
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/paths.h
+@@ -62,7 +62,7 @@
+ #define       _PATH_TTY       "/dev/tty"
+ #define       _PATH_UNIX      "/boot/vmlinux"
+ #define _PATH_UTMP    "/var/run/utmp"
+-#define       _PATH_VI        "/usr/bin/vi"
++#define       _PATH_VI        "/bin/vi"
+ #define _PATH_WTMP    "/var/log/wtmp"
+ /* Provide trailing slash, since mostly used for building pathnames. */
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
+@@ -1 +1 @@
+-#include "../../fxstat.c"
++#include "../../i386/fxstat.c"
+--- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/tcsetattr.c
++++ glibc-2.12-1/sysdeps/unix/sysv/linux/tcsetattr.c
+@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios
+ {
+   struct __kernel_termios k_termios;
+   unsigned long int cmd;
++  int retval;
+   switch (optional_actions)
+     {
+@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios
+   memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0],
+         __KERNEL_NCCS * sizeof (cc_t));
+-  return INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
++  retval = INLINE_SYSCALL (ioctl, 3, fd, cmd, &k_termios);
++
++  if (retval == 0 && cmd == TCSETS)
++    {
++      /* The Linux kernel has a bug which silently ignore the invalid
++        c_cflag on pty. We have to check it here. */
++      int save = errno;
++      retval = INLINE_SYSCALL (ioctl, 3, fd, TCGETS, &k_termios);
++      if (retval)
++       {
++         /* We cannot verify if the setting is ok. We don't return
++            an error (?). */
++         __set_errno (save);
++         retval = 0;
++       }
++      else if ((termios_p->c_cflag & (PARENB | CREAD))
++              != (k_termios.c_cflag & (PARENB | CREAD))
++              || ((termios_p->c_cflag & CSIZE)
++                  && ((termios_p->c_cflag & CSIZE)
++                      != (k_termios.c_cflag & CSIZE))))
++       {
++         /* It looks like the Linux kernel silently changed the
++            PARENB/CREAD/CSIZE bits in c_cflag. Report it as an
++            error. */
++         __set_errno (EINVAL);
++         retval = -1;
++       }
++    }
++
++  return retval;
+ }
+ libc_hidden_def (tcsetattr)
+--- glibc-2.12-2-gc4ccff1/timezone/zic.c
++++ glibc-2.12-1/timezone/zic.c
+@@ -1921,7 +1921,7 @@ const int                        zonecount;
+               if (stdrp != NULL && stdrp->r_hiyear == 2037)
+                       return;
+       }
+-      if (stdrp == NULL && zp->z_nrules != 0)
++      if (stdrp == NULL && (zp->z_nrules != 0 || zp->z_stdoff != 0))
+               return;
+       abbrvar = (stdrp == NULL) ? "" : stdrp->r_abbrvar;
+       doabbr(result, zp->z_format, abbrvar, FALSE, TRUE);
diff --git a/src/patches/glibc/glibc-getlogin-r.patch b/src/patches/glibc/glibc-getlogin-r.patch
new file mode 100644 (file)
index 0000000..9181ce1
--- /dev/null
@@ -0,0 +1,36 @@
+2010-05-05  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #11571]
+       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
+       too small buffers according to the standard.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getlogin_r.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
+@@ -81,13 +81,22 @@ __getlogin_r_loginuid (name, namesize)
+   if (tpwd == NULL)
+     goto fail;
+-  strncpy (name, pwd.pw_name, namesize - 1);
+-  name[namesize - 1] = '\0';
++  int result = 0;
++  size_t needed = strlen (pwd.pw_name) + 1;
++  if (needed > namesize)
++    {
++      __set_errno (ERANGE);
++      result = ERANGE;
++      goto out;
++    }
++  memcpy (name, pwd.pw_name, needed);
++
++ out:
+   if (use_malloc)
+     free (buf);
+-  return 0;
++  return result;
+ }
diff --git a/src/patches/glibc/glibc-localedata.patch b/src/patches/glibc/glibc-localedata.patch
new file mode 100644 (file)
index 0000000..15de7c6
--- /dev/null
@@ -0,0 +1,18 @@
+2010-05-04  Andreas Schwab  <schwab@redhat.com>
+
+       * SUPPORTED (SUPPORTED-LOCALES): Fix name of tt_RU.UTF-8@iqtelif
+       locale.
+
+Index: glibc-2.12-2-gc4ccff1/localedata/SUPPORTED
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/SUPPORTED
++++ glibc-2.12-2-gc4ccff1/localedata/SUPPORTED
+@@ -392,7 +392,7 @@ tr_TR.UTF-8/UTF-8 \
+ tr_TR/ISO-8859-9 \
+ ts_ZA/UTF-8 \
+ tt_RU.UTF-8/UTF-8 \
+-tt_RU@iqtelif.UTF-8/UTF-8 \
++tt_RU.UTF-8@iqtelif/UTF-8 \
+ ug_CN/UTF-8 \
+ uk_UA.UTF-8/UTF-8 \
+ uk_UA/KOI8-U \
diff --git a/src/patches/glibc/glibc-recvmmsg.patch b/src/patches/glibc/glibc-recvmmsg.patch
new file mode 100644 (file)
index 0000000..9e3aa7a
--- /dev/null
@@ -0,0 +1,182 @@
+2010-05-21  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add recvmmsg
+       and internal_recvmmsg.
+       * sysdeps/unix/sysv/linux/recvmmsg.c: New file.
+       * sysdeps/unix/sysv/linux/internal_recvmmsg.S: New file.
+       * sysdeps/unix/sysv/linux/socketcall.h (SOCKOP_recvmmsg): Define.
+       * sysdeps/unix/sysv/linux/syscalls.list (recvmmsg): Remove.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/Makefile
+@@ -12,7 +12,7 @@ CFLAGS-malloc.c += -DMORECORE_CLEARS=2
+ endif
+ ifeq ($(subdir),socket)
+-sysdep_routines += internal_accept4
++sysdep_routines += internal_accept4 recvmmsg internal_recvmmsg
+ endif
+ ifeq ($(subdir),misc)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_recvmmsg.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_recvmmsg.S
+@@ -0,0 +1,14 @@
++#include <kernel-features.h>
++#include <sys/syscall.h>
++#if !defined __NR_recvmmsg && defined __NR_socketcall
++# define socket       recvmmsg
++# ifdef __ASSUME_RECVMMSG
++#  define __socket recvmmsg
++# else
++#  define __socket __internal_recvmmsg
++# endif
++# define NARGS 5
++# define NEED_CANCELLATION
++# define NO_WEAK_ALIAS
++# include <socket.S>
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/kernel-features.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
+@@ -547,3 +547,8 @@
+ #if __LINUX_KERNEL_VERSION >= 0x020620
+ # define __ASSUME_F_GETOWN_EX 1
+ #endif
++
++/* Support for the recvmmsg syscall was added in 2.6.33.  */
++#if __LINUX_KERNEL_VERSION >= 0x020621
++# define __ASSUME_RECVMMSG    1
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/recvmmsg.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/recvmmsg.c
+@@ -0,0 +1,100 @@
++/* Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Andreas Schwab <schwab@redhat.com>, 2010.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <errno.h>
++#include <sys/socket.h>
++
++#include <sysdep-cancel.h>
++#include <sys/syscall.h>
++#include <kernel-features.h>
++
++
++#ifdef __NR_recvmmsg
++int
++recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
++        const struct timespec *tmo)
++{
++  if (SINGLE_THREAD_P)
++    return INLINE_SYSCALL (recvmmsg, 5, fd, vmessages, vlen, flags, tmo);
++
++  int oldtype = LIBC_CANCEL_ASYNC ();
++
++  int result = INLINE_SYSCALL (recvmmsg, 5, fd, vmessages, vlen, flags, tmo);
++
++  LIBC_CANCEL_RESET (oldtype);
++
++  return result;
++}
++#elif defined __NR_socketcall
++# ifndef __ASSUME_RECVMMSG
++extern int __internal_recvmmsg (int fd, struct mmsghdr *vmessages,
++                              unsigned int vlen, int flags,
++                              const struct timespec *tmo)
++     attribute_hidden;
++
++static int have_recvmmsg;
++
++int
++recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
++        const struct timespec *tmo)
++{
++  if (__builtin_expect (have_recvmmsg >= 0, 1))
++    {
++      int ret = __internal_recvmmsg (fd, vmessages, vlen, flags, tmo);
++      /* The kernel returns -EINVAL for unknown socket operations.
++       We need to convert that error to an ENOSYS error.  */
++      if (__builtin_expect (ret < 0, 0)
++        && have_recvmmsg == 0
++        && errno == EINVAL)
++      {
++        /* Try another call, this time with an invalid file
++           descriptor and all other parameters cleared.  This call
++           will not cause any harm and it will return
++           immediately.  */
++        ret = __internal_recvmmsg (-1, 0, 0, 0, 0);
++        if (errno == EINVAL)
++          {
++            have_recvmmsg = -1;
++            __set_errno (ENOSYS);
++          }
++        else
++          {
++            have_recvmmsg = 1;
++            __set_errno (EINVAL);
++          }
++        return -1;
++      }
++      return ret;
++    }
++  __set_errno (ENOSYS);
++  return -1;
++}
++# else
++/* When __ASSUME_RECVMMSG recvmmsg is defined in internal_recvmmsg.S.  */
++# endif
++#else
++int
++recvmmsg (int fd, struct mmsghdr *vmessages, unsigned int vlen, int flags,
++        const struct timespec *tmo)
++{
++  __set_errno (ENOSYS);
++  return -1;
++}
++stub_warning (recvmmsg)
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/socketcall.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/socketcall.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/socketcall.h
+@@ -44,5 +44,6 @@
+ #define SOCKOP_sendmsg                16
+ #define SOCKOP_recvmsg                17
+ #define SOCKOP_accept4                18
++#define SOCKOP_recvmmsg               19
+ #endif /* sys/socketcall.h */
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/syscalls.list
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/syscalls.list
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/syscalls.list
+@@ -53,7 +53,6 @@ prctl                EXTRA   prctl           i:iiiii __prctl         prc
+ putpmsg               -       putpmsg         i:ippii putpmsg
+ query_module  EXTRA   query_module    i:sipip query_module
+ quotactl      EXTRA   quotactl        i:isip  quotactl
+-recvmmsg      EXTRA   recvmmsg        Ci:ipiip        recvmmsg
+ remap_file_pages -    remap_file_pages i:piiii        __remap_file_pages remap_file_pages
+ sched_getp    -       sched_getparam  i:ip    __sched_getparam        sched_getparam
+ sched_gets    -       sched_getscheduler      i:i     __sched_getscheduler    sched_getscheduler
diff --git a/src/patches/glibc/glibc-rh580498.patch b/src/patches/glibc/glibc-rh580498.patch
new file mode 100644 (file)
index 0000000..05b673a
--- /dev/null
@@ -0,0 +1,296 @@
+2010-07-03  Ulrich Drepper  <drepper@redhat.com>
+
+       * tst-abstime.c (do_test): Some more cleanups
+
+2010-07-02  Ulrich Drepper  <drepper@redhat.com>
+
+       * tst-abstime.c: Correct testing and add test for sem_timedwait.
+
+2010-07-01  Andreas Schwab  <schwab@redhat.com>
+           Ulrich Drepper  <drepper@redhat.com>
+
+       * Makefile (tests): Add tst-abstime.
+       * tst-abstime.c: New file.
+       * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+       (__lll_timedlock_wait): Check for timestamp before the Epoch.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+       (__lll_timedlock_wait): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+       (__lll_robust_timedlock_wait): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+       (__pthread_cond_timedwait): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+       (pthread_rwlock_timedrdlock): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+       (pthread_rwlock_timedwrlock): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S (sem_timedwait):
+       Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/nptl/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/Makefile
++++ glibc-2.12-2-gc4ccff1/nptl/Makefile
+@@ -256,6 +256,7 @@ tests = tst-typesizes \
+       tst-sched1 \
+       tst-backtrace1 \
+       tst-oddstacklimit \
++      tst-abstime \
+       tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \
+       tst-getpid1 tst-getpid2 tst-getpid3 \
+       tst-initializers1 $(patsubst %,tst-initializers1-%,c89 gnu89 c99 gnu99)
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
+@@ -188,6 +188,9 @@ __lll_timedlock_wait:
+       je      .Lreltmo
+ # endif
++      cmpl    $0, (%edx)
++      js      8f
++
+       movl    %ecx, %ebx
+       movl    %esi, %ecx
+       movl    %edx, %esi
+@@ -223,6 +226,9 @@ __lll_timedlock_wait:
+       cfi_restore(%ebp)
+       ret
++8:    movl    $ETIMEDOUT, %eax
++      jmp     7b
++
+ # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+ .Lreltmo:
+       /* Check for a valid timeout value.  */
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+@@ -169,9 +169,13 @@ __lll_timedlock_wait:
+       je      .Lreltmo
+ # endif
++      cmpq    $0, (%rdx)
++      js      5f
++
+       pushq   %r9
+       cfi_adjust_cfa_offset(8)
+       cfi_rel_offset(%r9, 0)
++
+       movq    %rdx, %r10
+       movl    $0xffffffff, %r9d
+       LOAD_FUTEX_WAIT_ABS (%esi)
+@@ -202,6 +206,9 @@ __lll_timedlock_wait:
+       cfi_restore(%r9)
+       retq
++5:    movl    $ETIMEDOUT, %eax
++      retq
++
+ # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+ .Lreltmo:
+       /* Check for a valid timeout value.  */
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevelrobustlock.S
+@@ -125,6 +125,9 @@ __lll_robust_timedlock_wait:
+       je      .Lreltmo
+ # endif
++      cmpq    $0, (%rdx)
++      js      7f
++
+       pushq   %r9
+       cfi_adjust_cfa_offset(8)
+       cfi_rel_offset(%r9, 0)
+@@ -180,6 +183,9 @@ __lll_robust_timedlock_wait:
+       cfi_adjust_cfa_offset(-8)
+       cfi_restore(%r9)
++7:    movl    $ETIMEDOUT, %eax
++      retq
++
+ # ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+ .Lreltmo:
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+@@ -144,6 +144,10 @@ __pthread_cond_timedwait:
+       movq    %r9, 24(%rsp)
+       movl    %edx, 4(%rsp)
++      cmpq    $0, (%r13)
++      movq    $-ETIMEDOUT, %r14
++      js      36f
++
+ 38:   movl    cond_futex(%rdi), %r12d
+       /* Unlock.  */
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
+@@ -102,6 +102,9 @@ pthread_rwlock_timedrdlock:
+       je      .Lreltmo
+ #endif
++      cmpq    $0, (%r13)
++      js      16f             /* Time is already up.  */
++
+       movl    $FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %esi
+       xorl    PSHARED(%r12), %esi
+       movq    %r13, %r10
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S
+@@ -99,6 +99,9 @@ pthread_rwlock_timedwrlock:
+       je      .Lreltmo
+ #endif
++      cmpq    $0, (%r13)
++      js      16f             /* Time is already up. */
++
+       movl    $FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, %esi
+       xorl    PSHARED(%r12), %esi
+       movq    %r13, %r10
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S
+@@ -77,6 +77,9 @@ sem_timedwait:
+       je      .Lreltmo
+ #endif
++      cmpq    $0, (%rsi)
++      js      16f
++
+       /* This push is only needed to store the sem_t pointer for the
+          exception handler.  */
+       pushq   %rdi
+@@ -169,6 +172,19 @@ sem_timedwait:
+       retq
++16:
++#if USE___THREAD
++      movq    errno@gottpoff(%rip), %rdx
++      movl    $ETIMEDOUT, %fs:(%rdx)
++#else
++      callq   __errno_location@plt
++      movl    $ETIMEDOUT, (%rax)
++#endif
++
++      orl     $-1, %eax
++
++      retq
++
+ #ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+ .Lreltmo:
+       pushq   %r12
+Index: glibc-2.12-2-gc4ccff1/nptl/tst-abstime.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/nptl/tst-abstime.c
+@@ -0,0 +1,98 @@
++/* Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Andreas Schwab <schwab@redhat.com>, 2010.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <errno.h>
++#include <pthread.h>
++#include <semaphore.h>
++#include <stdio.h>
++
++static pthread_cond_t c = PTHREAD_COND_INITIALIZER;
++static pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER;
++static pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER;
++static pthread_rwlock_t rw1 = PTHREAD_RWLOCK_INITIALIZER;
++static pthread_rwlock_t rw2 = PTHREAD_RWLOCK_INITIALIZER;
++static sem_t sem;
++
++static void *
++th (void *arg)
++{
++  long int res = 0;
++  int r;
++  struct timespec t = { -2, 0 };
++
++  r = pthread_mutex_timedlock (&m1, &t);
++  if (r != ETIMEDOUT)
++    {
++      puts ("pthread_mutex_timedlock did not return ETIMEDOUT");
++      res = 1;
++    }
++  r = pthread_rwlock_timedrdlock (&rw1, &t);
++  if (r != ETIMEDOUT)
++    {
++      puts ("pthread_rwlock_timedrdlock did not return ETIMEDOUT");
++      res = 1;
++    }
++  r = pthread_rwlock_timedwrlock (&rw2, &t);
++  if (r != ETIMEDOUT)
++    {
++      puts ("pthread_rwlock_timedwrlock did not return ETIMEDOUT");
++      res = 1;
++    }
++  return (void *) res;
++}
++
++static int
++do_test (void)
++{
++  int res = 0;
++  int r;
++  struct timespec t = { -2, 0 };
++  pthread_t pth;
++
++  sem_init (&sem, 0, 0);
++  r = sem_timedwait (&sem, &t);
++  if (r != -1 || errno != ETIMEDOUT)
++    {
++      puts ("sem_timedwait did not fail with ETIMEDOUT");
++      res = 1;
++    }
++
++  pthread_mutex_lock (&m1);
++  pthread_rwlock_wrlock (&rw1);
++  pthread_rwlock_rdlock (&rw2);
++  pthread_mutex_lock (&m2);
++  if (pthread_create (&pth, 0, th, 0) != 0)
++    {
++      puts ("cannot create thread");
++      return 1;
++    }
++  r = pthread_cond_timedwait (&c, &m2, &t);
++  if (r != ETIMEDOUT)
++    {
++      puts ("pthread_cond_timedwait did not return ETIMEDOUT");
++      res = 1;
++    }
++  void *thres;
++  pthread_join (pth, &thres);
++  return res | (thres != NULL);
++}
++
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
diff --git a/src/patches/glibc/glibc-rh582738.patch b/src/patches/glibc/glibc-rh582738.patch
new file mode 100644 (file)
index 0000000..40f7b80
--- /dev/null
@@ -0,0 +1,13 @@
+Index: glibc-2.11-382-g1cdb215/nscd/nscd.init
+===================================================================
+--- glibc-2.11-382-g1cdb215.orig/nscd/nscd.init
++++ glibc-2.11-382-g1cdb215/nscd/nscd.init
+@@ -76,7 +76,7 @@ case "$1" in
+       RETVAL=$?
+       ;;
+     stop)
+-      stop
++      [ ! -e /var/lock/subsys/nscd ] || stop
+       RETVAL=$?
+       ;;
+     status)
diff --git a/src/patches/glibc/glibc-rh587360.patch b/src/patches/glibc/glibc-rh587360.patch
new file mode 100644 (file)
index 0000000..07b62e6
--- /dev/null
@@ -0,0 +1,13 @@
+Index: glibc-2.11-382-g1cdb215/posix/regexec.c
+===================================================================
+--- glibc-2.11-382-g1cdb215.orig/posix/regexec.c
++++ glibc-2.11-382-g1cdb215/posix/regexec.c
+@@ -4031,7 +4031,7 @@ find_collation_sequence_value (const uns
+         /* Skip the collation sequence value.  */
+         idx += sizeof (uint32_t);
+         /* Skip the wide char sequence of the collating element.  */
+-        idx = idx + sizeof (uint32_t) * (extra[idx] + 1);
++        idx = idx + sizeof (uint32_t) * (*(int32_t *) (extra + idx) + 1);
+         /* If we found the entry, return the sequence value.  */
+         if (found)
+           return *(uint32_t *) (extra + idx);
diff --git a/src/patches/glibc/glibc-rh593396.patch b/src/patches/glibc/glibc-rh593396.patch
new file mode 100644 (file)
index 0000000..b907a36
--- /dev/null
@@ -0,0 +1,42 @@
+2010-05-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * malloc/malloc.c (_int_free): Possible race in the most recently
+       added check.  Only act on the data if no current modification
+       happened.
+
+Index: glibc-2.12-2-gc4ccff1/malloc/malloc.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/malloc/malloc.c
++++ glibc-2.12-2-gc4ccff1/malloc/malloc.c
+@@ -4859,6 +4859,7 @@ _int_free(mstate av, mchunkptr p)
+ #ifdef ATOMIC_FASTBINS
+     mchunkptr fd;
+     mchunkptr old = *fb;
++    unsigned int old_idx = ~0u;
+     do
+       {
+       /* Another simple check: make sure the top of the bin is not the
+@@ -4868,15 +4869,17 @@ _int_free(mstate av, mchunkptr p)
+           errstr = "double free or corruption (fasttop)";
+           goto errout;
+         }
+-      if (old != NULL
+-          && __builtin_expect (fastbin_index(chunksize(old)) != idx, 0))
+-        {
+-          errstr = "invalid fastbin entry (free)";
+-          goto errout;
+-        }
++      if (old != NULL)
++        old_idx = fastbin_index(chunksize(old));
+       p->fd = fd = old;
+       }
+     while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
++
++    if (fd != NULL && __builtin_expect (old_idx != idx, 0))
++      {
++      errstr = "invalid fastbin entry (free)";
++      goto errout;
++      }
+ #else
+     /* Another simple check: make sure the top of the bin is not the
+        record we are going to add (i.e., double free).  */
diff --git a/src/patches/glibc/glibc-rh593686.patch b/src/patches/glibc/glibc-rh593686.patch
new file mode 100644 (file)
index 0000000..3eceb68
--- /dev/null
@@ -0,0 +1,179 @@
+2010-05-26  Andreas Schwab  <schwab@redhat.com>
+
+       * elf/Makefile: Add rules to build and run unload8 test.
+       * elf/unload8.c: New file.
+       * elf/unload8mod1.c: New file.
+       * elf/unload8mod1x.c: New file.
+       * elf/unload8mod2.c: New file.
+       * elf/unload8mod3.c: New file.
+
+       * elf/dl-close.c (_dl_close_worker): Reset private search list if
+       it wasn't used.
+
+Index: glibc-2.12-2-gc4ccff1/elf/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
++++ glibc-2.12-2-gc4ccff1/elf/Makefile
+@@ -89,6 +89,7 @@ distribute   := rtld-Rules \
+                  unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \
+                  unload6mod1.c unload6mod2.c unload6mod3.c \
+                  unload7mod1.c unload7mod2.c \
++                 unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \
+                  tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \
+                  tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \
+                  tst-auditmod4a.c tst-auditmod4b.c \
+@@ -196,7 +197,7 @@ tests += loadtest restest1 preloadtest l
+        tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \
+        tst-dlmodcount tst-dlopenrpath tst-deep1 \
+        tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
+-       unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \
++       unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \
+        tst-audit1 tst-audit2 \
+        tst-stackguard1 tst-addr1 tst-thrlock \
+        tst-unique1 tst-unique2
+@@ -247,6 +248,7 @@ modules-names = testobj1 testobj2 testob
+               unload4mod1 unload4mod2 unload4mod3 unload4mod4 \
+               unload6mod1 unload6mod2 unload6mod3 \
+               unload7mod1 unload7mod2 \
++              unload8mod1 unload8mod1x unload8mod2 unload8mod3 \
+               order2mod1 order2mod2 order2mod3 order2mod4 \
+               tst-unique1mod1 tst-unique1mod2 \
+               tst-unique2mod1 tst-unique2mod2
+@@ -522,6 +524,9 @@ $(objpfx)unload6mod2.so: $(libdl)
+ $(objpfx)unload6mod3.so: $(libdl)
+ $(objpfx)unload7mod1.so: $(libdl)
+ $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so
++$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so
++$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so
++$(objpfx)unload8mod3.so: $(libdl)
+ LDFLAGS-tst-tlsmod5.so = -nostdlib
+ LDFLAGS-tst-tlsmod6.so = -nostdlib
+@@ -823,6 +828,9 @@ $(objpfx)unload7: $(libdl)
+ $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so
+ unload7-ENV = MALLOC_PERTURB_=85
++$(objpfx)unload8: $(libdl)
++$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so
++
+ ifdef libdl
+ $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a
+ $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so
+Index: glibc-2.12-2-gc4ccff1/elf/dl-close.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-close.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-close.c
+@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map)
+             imap->l_scope_max = new_size;
+           }
++        else if (new_list != NULL)
++          {
++            /* We didn't change the scope array, so reset the search
++               list.  */
++            imap->l_searchlist.r_list = NULL;
++            imap->l_searchlist.r_nlist = 0;
++          }
+         /* The loader is gone, so mark the object as not having one.
+            Note: l_idx != IDX_STILL_USED -> object will be removed.  */
+Index: glibc-2.12-2-gc4ccff1/elf/unload8.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/elf/unload8.c
+@@ -0,0 +1,33 @@
++#include <dlfcn.h>
++#include <stdio.h>
++
++int
++main (void)
++{
++  void *h = dlopen ("$ORIGIN/unload8mod1.so", RTLD_LAZY);
++  if (h == NULL)
++    {
++      puts ("dlopen unload8mod1.so failed");
++      return 1;
++    }
++
++  void *h2 = dlopen ("$ORIGIN/unload8mod1x.so", RTLD_LAZY);
++  if (h2 == NULL)
++    {
++      puts ("dlopen unload8mod1x.so failed");
++      return 1;
++    }
++  dlclose (h2);
++
++  int (*mod1) (void) = dlsym (h, "mod1");
++  if (mod1 == NULL)
++    {
++      puts ("dlsym failed");
++      return 1;
++    }
++
++  mod1 ();
++  dlclose (h);
++
++  return 0;
++}
+Index: glibc-2.12-2-gc4ccff1/elf/unload8mod1.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/elf/unload8mod1.c
+@@ -0,0 +1,7 @@
++extern void mod2 (void);
++
++void
++mod1 (void)
++{
++  mod2 ();
++}
+Index: glibc-2.12-2-gc4ccff1/elf/unload8mod1x.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/elf/unload8mod1x.c
+@@ -0,0 +1 @@
++int mod1x;
+Index: glibc-2.12-2-gc4ccff1/elf/unload8mod2.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/elf/unload8mod2.c
+@@ -0,0 +1,7 @@
++extern void mod3 (void);
++
++void
++mod2 (void)
++{
++  mod3 ();
++}
+Index: glibc-2.12-2-gc4ccff1/elf/unload8mod3.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/elf/unload8mod3.c
+@@ -0,0 +1,27 @@
++#include <dlfcn.h>
++#include <stdio.h>
++#include <stdlib.h>
++
++void
++mod3_fini2 (void)
++{
++}
++
++void
++mod3_fini (void)
++{
++  mod3_fini2 ();
++}
++
++void
++mod3 (void)
++{
++  void *h = dlopen ("$ORIGIN/unload8mod2.so", RTLD_LAZY);
++  if (h == NULL)
++    {
++      puts ("dlopen unload8mod2.so failed");
++      exit (1);
++    }
++
++  atexit (mod3_fini);
++}
diff --git a/src/patches/glibc/glibc-rh601686.patch b/src/patches/glibc/glibc-rh601686.patch
new file mode 100644 (file)
index 0000000..01e42dc
--- /dev/null
@@ -0,0 +1,4640 @@
+2010-11-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #12205]
+       * string/test-strncasecmp.c (check_result): New function.
+       (do_one_test): Use it.
+       (check1): New function.
+       (test_main): Use it.
+       * sysdeps/i386/i686/multiarch/strcmp.S (nibble_ashr_use_sse4_2_exit):
+       Support strcasecmp and strncasecmp.
+
+2010-10-03  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12077]
+       * sysdeps/x86_64/strcmp.S: Fix handling of remaining bytes in buffer
+       for strncmp and strncasecmp.
+       * string/stratcliff.c: Add tests for strcmp and strncmp.
+       * wcsmbs/wcsatcliff.c: Adjust for stratcliff change.
+
+2010-09-20  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/strcmp.S: Fix another type in strncasecmp limit
+       detection.
+
+2010-08-19  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/multiarch/strcmp.S: Fix two typos in strncasecmp
+       handling.
+
+2010-08-15  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/strcmp.S: Use correct register for fourth parameter
+       of strncasecmp_l.
+       * sysdeps/multiarch/strcmp.S: Likewise.
+
+2010-08-14  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
+       strncase_l-nonascii.
+       * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
+       Add strncase_l-ssse3.
+       * sysdeps/x86_64/multiarch/strcmp.S: Prepare for use as strncasecmp.
+       * sysdeps/x86_64/strcmp.S: Likewise.
+       * sysdeps/x86_64/multiarch/strncase_l-ssse3.S: New file.
+       * sysdeps/x86_64/multiarch/strncase_l.S: New file.
+       * sysdeps/x86_64/strncase.S: New file.
+       * sysdeps/x86_64/strncase_l-nonascii.c: New file.
+       * sysdeps/x86_64/strncase_l.S: New file.
+       * string/Makefile (strop-tests): Add strncasecmp.
+       * string/test-strncasecmp.c: New file.
+
+       * sysdeps/x86_64/strcasecmp_l-nonascii.c: Add prototype to avoid
+       warning.
+
+       * sysdeps/x86_64/strcmp.S: Move definition of NO_NOLOCALE_ALIAS to...
+       * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: ... here.
+
+2010-07-31  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/multiarch/Makefile [subdir=string] (sysdep_routines):
+       Add strcasecmp_l-ssse3.
+       * sysdeps/x86_64/multiarch/strcmp.S: Add support to compile for
+       strcasecmp.
+       * sysdeps/x86_64/strcmp.S: Allow more flexible compiling of strcasecmp.
+       * sysdeps/x86_64/multiarch/strcasecmp_l.S: New file.
+       * sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S: New file.
+
+2010-07-30  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/multiarch/strcmp.S: Pretty printing.
+
+       * string/Makefile (strop-tests): Add strcasecmp.
+       * sysdeps/x86_64/Makefile [subdir=string] (sysdep_routines): Add
+       strcasecmp_l-nonascii.
+       (gen-as-const-headers): Add locale-defines.sym.
+       * sysdeps/x86_64/strcmp.S: Add support for strcasecmp implementation.
+       * sysdeps/x86_64/strcasecmp.S: New file.
+       * sysdeps/x86_64/strcasecmp_l.S: New file.
+       * sysdeps/x86_64/strcasecmp_l-nonascii.c: New file.
+       * sysdeps/x86_64/locale-defines.sym: New file.
+       * string/test-strcasecmp.c: New file.
+
+       * string/test-strcasestr.c: Test both ends of the range of characters.
+       * sysdeps/x86_64/multiarch/strstr.c: Fix UCHIGH definition.
+
+2010-07-26  Ulrich Drepper  <drepper@redhat.com>
+
+       * string/test-strnlen.c: New file.
+       * string/Makefile (strop-tests): Add strnlen.
+       * string/tester.c (test_strnlen): Add a few more test cases.
+       * string/tst-strlen.c: Better error reporting.
+
+       * sysdeps/x86_64/strnlen.S: New file.
+
+2010-07-24  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Use
+       lower-latency instructions.
+
+2010-07-23  Ulrich Drepper  <drepper@redhat.com>
+
+       * string/test-strcasestr.c: New file.
+       * string/test-strstr.c: New file.
+       * string/Makefile (strop-tests): Add strstr and strcasestr.
+       * string/str-two-way.h: Don't undefine MAX.
+       * string/strcasestr.c: Don't define alias if NO_ALIAS is defined.
+
+2010-07-21  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
+       strcasestr-nonascii.
+       (CFLAGS-strcasestr-nonascii.c): Define.
+       * sysdeps/i386/i686/multiarch/strcasestr-nonascii.c: New file.
+       * sysdeps/x86_64/multiarch/strcasestr-nonascii.c (STRSTR_SSE42):
+       Remove unused attribute.
+
+2010-07-16  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/multiarch/strstr.c: Rewrite to avoid indirect function
+       call in strcasestr.
+       * sysdeps/x86_64/multiarch/strcasestr.c: Declare
+       __strcasestr_sse42_nonascii.
+       * sysdeps/x86_64/multiarch/Makefile: Add rules to build
+       strcasestr-nonascii.c.
+       * sysdeps/x86_64/multiarch/strcasestr-nonascii.c: New file.
+
+Index: glibc-2.12-2-gc4ccff1/string/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/Makefile
++++ glibc-2.12-2-gc4ccff1/string/Makefile
+@@ -48,7 +48,8 @@ o-objects.ob := memcpy.o memset.o memchr
+ strop-tests   := memchr memcmp memcpy memmove mempcpy memset memccpy  \
+                  stpcpy stpncpy strcat strchr strcmp strcpy strcspn   \
+-                 strlen strncmp strncpy strpbrk strrchr strspn memmem
++                 strlen strncmp strncpy strpbrk strrchr strspn memmem \
++                 strstr strcasestr strnlen strcasecmp strncasecmp
+ tests         := tester inl-tester noinl-tester testcopy test-ffs     \
+                  tst-strlen stratcliff tst-svc tst-inlcall            \
+                  bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap      \
+Index: glibc-2.12-2-gc4ccff1/string/str-two-way.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/str-two-way.h
++++ glibc-2.12-2-gc4ccff1/string/str-two-way.h
+@@ -426,5 +426,4 @@ two_way_long_needle (const unsigned char
+ #undef AVAILABLE
+ #undef CANON_ELEMENT
+ #undef CMP_FUNC
+-#undef MAX
+ #undef RETURN_TYPE
+Index: glibc-2.12-2-gc4ccff1/string/stratcliff.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/stratcliff.c
++++ glibc-2.12-2-gc4ccff1/string/stratcliff.c
+@@ -47,6 +47,8 @@
+ # define MEMCPY memcpy
+ # define MEMPCPY mempcpy
+ # define MEMCHR memchr
++# define STRCMP strcmp
++# define STRNCMP strncmp
+ #endif
+@@ -277,7 +279,74 @@ do_test (void)
+             adr[inner] = L('T');
+           }
+-        }
++      }
++
++      /* strcmp/wcscmp tests */
++      for (outer = 1; outer < 32; ++outer)
++      for (middle = 0; middle < 16; ++middle)
++        {
++          MEMSET (adr + middle, L('T'), 256);
++          adr[256] = L('\0');
++          MEMSET (dest + nchars - outer, L('T'), outer - 1);
++          dest[nchars - 1] = L('\0');
++
++          if (STRCMP (adr + middle, dest + nchars - outer) <= 0)
++            {
++              printf ("%s 1 flunked for outer = %d, middle = %d\n",
++                      STRINGIFY (STRCMP), outer, middle);
++              result = 1;
++            }
++
++          if (STRCMP (dest + nchars - outer, adr + middle) >= 0)
++            {
++              printf ("%s 2 flunked for outer = %d, middle = %d\n",
++                      STRINGIFY (STRCMP), outer, middle);
++              result = 1;
++            }
++        }
++
++      /* strncmp/wcsncmp tests */
++      for (outer = 1; outer < 32; ++outer)
++      for (middle = 0; middle < 16; ++middle)
++        {
++          MEMSET (adr + middle, L('T'), 256);
++          adr[256] = L('\0');
++          MEMSET (dest + nchars - outer, L('T'), outer - 1);
++          dest[nchars - 1] = L('U');
++
++          for (inner = 0; inner < outer; ++inner)
++            {
++              if (STRNCMP (adr + middle, dest + nchars - outer, inner) != 0)
++                {
++                  printf ("%s 1 flunked for outer = %d, middle = %d, "
++                          "inner = %d\n",
++                          STRINGIFY (STRNCMP), outer, middle, inner);
++                  result = 1;
++                }
++
++              if (STRNCMP (dest + nchars - outer, adr + middle, inner) != 0)
++                {
++                  printf ("%s 2 flunked for outer = %d, middle = %d, "
++                          "inner = %d\n",
++                          STRINGIFY (STRNCMP), outer, middle, inner);
++                  result = 1;
++                }
++            }
++
++          if (STRNCMP (adr + middle, dest + nchars - outer, outer) >= 0)
++            {
++              printf ("%s 1 flunked for outer = %d, middle = %d, full\n",
++                      STRINGIFY (STRNCMP), outer, middle);
++              result = 1;
++            }
++
++          if (STRNCMP (dest + nchars - outer, adr + middle, outer) <= 0)
++            {
++              printf ("%s 2 flunked for outer = %d, middle = %d, full\n",
++                      STRINGIFY (STRNCMP), outer, middle);
++              result = 1;
++            }
++        }
+       /* strncpy/wcsncpy tests */
+       adr[nchars - 1] = L('T');
+Index: glibc-2.12-2-gc4ccff1/string/strcasestr.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/strcasestr.c
++++ glibc-2.12-2-gc4ccff1/string/strcasestr.c
+@@ -103,4 +103,6 @@ STRCASESTR (const char *haystack_start, 
+ #undef LONG_NEEDLE_THRESHOLD
++#ifndef NO_ALIAS
+ weak_alias (__strcasestr, strcasestr)
++#endif
+Index: glibc-2.12-2-gc4ccff1/string/test-strcasecmp.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/test-strcasecmp.c
+@@ -0,0 +1,276 @@
++/* Test and measure strcasecmp functions.
++   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <ctype.h>
++#define TEST_MAIN
++#include "test-string.h"
++
++typedef int (*proto_t) (const char *, const char *);
++static int simple_strcasecmp (const char *, const char *);
++static int stupid_strcasecmp (const char *, const char *);
++
++IMPL (stupid_strcasecmp, 0)
++IMPL (simple_strcasecmp, 0)
++IMPL (strcasecmp, 1)
++
++static int
++simple_strcasecmp (const char *s1, const char *s2)
++{
++  int ret;
++
++  while ((ret = ((unsigned char) tolower (*s1)
++               - (unsigned char) tolower (*s2))) == 0
++       && *s1++)
++    ++s2;
++  return ret;
++}
++
++static int
++stupid_strcasecmp (const char *s1, const char *s2)
++{
++  size_t ns1 = strlen (s1) + 1, ns2 = strlen (s2) + 1;
++  size_t n = ns1 < ns2 ? ns1 : ns2;
++  int ret = 0;
++
++  while (n--)
++    {
++      if ((ret = ((unsigned char) tolower (*s1)
++                - (unsigned char) tolower (*s2))) != 0)
++      break;
++      ++s1;
++      ++s2;
++    }
++  return ret;
++}
++
++static void
++do_one_test (impl_t *impl, const char *s1, const char *s2, int exp_result)
++{
++  int result = CALL (impl, s1, s2);
++  if ((exp_result == 0 && result != 0)
++      || (exp_result < 0 && result >= 0)
++      || (exp_result > 0 && result <= 0))
++    {
++      error (0, 0, "Wrong result in function %s %d %d", impl->name,
++           result, exp_result);
++      ret = 1;
++      return;
++    }
++
++  if (HP_TIMING_AVAIL)
++    {
++      hp_timing_t start __attribute ((unused));
++      hp_timing_t stop __attribute ((unused));
++      hp_timing_t best_time = ~ (hp_timing_t) 0;
++      size_t i;
++
++      for (i = 0; i < 32; ++i)
++      {
++        HP_TIMING_NOW (start);
++        CALL (impl, s1, s2);
++        HP_TIMING_NOW (stop);
++        HP_TIMING_BEST (best_time, start, stop);
++      }
++
++      printf ("\t%zd", (size_t) best_time);
++    }
++}
++
++static void
++do_test (size_t align1, size_t align2, size_t len, int max_char,
++       int exp_result)
++{
++  size_t i;
++  char *s1, *s2;
++
++  if (len == 0)
++    return;
++
++  align1 &= 7;
++  if (align1 + len + 1 >= page_size)
++    return;
++
++  align2 &= 7;
++  if (align2 + len + 1 >= page_size)
++    return;
++
++  s1 = (char *) (buf1 + align1);
++  s2 = (char *) (buf2 + align2);
++
++  for (i = 0; i < len; i++)
++    {
++      s1[i] = toupper (1 + 23 * i % max_char);
++      s2[i] = tolower (s1[i]);
++    }
++
++  s1[len] = s2[len] = 0;
++  s1[len + 1] = 23;
++  s2[len + 1] = 24 + exp_result;
++  if ((s2[len - 1] == 'z' && exp_result == -1)
++      || (s2[len - 1] == 'a' && exp_result == 1))
++    s1[len - 1] += exp_result;
++  else
++    s2[len - 1] -= exp_result;
++
++  if (HP_TIMING_AVAIL)
++    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
++
++  FOR_EACH_IMPL (impl, 0)
++    do_one_test (impl, s1, s2, exp_result);
++
++  if (HP_TIMING_AVAIL)
++    putchar ('\n');
++}
++
++static void
++do_random_tests (void)
++{
++  size_t i, j, n, align1, align2, pos, len1, len2;
++  int result;
++  long r;
++  unsigned char *p1 = buf1 + page_size - 512;
++  unsigned char *p2 = buf2 + page_size - 512;
++
++  for (n = 0; n < ITERATIONS; n++)
++    {
++      align1 = random () & 31;
++      if (random () & 1)
++      align2 = random () & 31;
++      else
++      align2 = align1 + (random () & 24);
++      pos = random () & 511;
++      j = align1 > align2 ? align1 : align2;
++      if (pos + j >= 511)
++      pos = 510 - j - (random () & 7);
++      len1 = random () & 511;
++      if (pos >= len1 && (random () & 1))
++      len1 = pos + (random () & 7);
++      if (len1 + j >= 512)
++      len1 = 511 - j - (random () & 7);
++      if (pos >= len1)
++      len2 = len1;
++      else
++      len2 = len1 + (len1 != 511 - j ? random () % (511 - j - len1) : 0);
++      j = (pos > len2 ? pos : len2) + align1 + 64;
++      if (j > 512)
++      j = 512;
++      for (i = 0; i < j; ++i)
++      {
++        p1[i] = tolower (random () & 255);
++        if (i < len1 + align1 && !p1[i])
++          {
++            p1[i] = tolower (random () & 255);
++            if (!p1[i])
++              p1[i] = tolower (1 + (random () & 127));
++          }
++      }
++      for (i = 0; i < j; ++i)
++      {
++        p2[i] = toupper (random () & 255);
++        if (i < len2 + align2 && !p2[i])
++          {
++            p2[i] = toupper (random () & 255);
++            if (!p2[i])
++              toupper (p2[i] = 1 + (random () & 127));
++          }
++      }
++
++      result = 0;
++      memcpy (p2 + align2, p1 + align1, pos);
++      if (pos < len1)
++      {
++        if (tolower (p2[align2 + pos]) == p1[align1 + pos])
++          {
++            p2[align2 + pos] = toupper (random () & 255);
++            if (tolower (p2[align2 + pos]) == p1[align1 + pos])
++              p2[align2 + pos] = toupper (p1[align1 + pos]
++                                          + 3 + (random () & 127));
++          }
++
++        if (p1[align1 + pos] < tolower (p2[align2 + pos]))
++          result = -1;
++        else
++          result = 1;
++      }
++      p1[len1 + align1] = 0;
++      p2[len2 + align2] = 0;
++
++      FOR_EACH_IMPL (impl, 1)
++      {
++        r = CALL (impl, (char *) (p1 + align1), (char *) (p2 + align2));
++        /* Test whether on 64-bit architectures where ABI requires
++           callee to promote has the promotion been done.  */
++        asm ("" : "=g" (r) : "0" (r));
++        if ((r == 0 && result)
++            || (r < 0 && result >= 0)
++            || (r > 0 && result <= 0))
++          {
++            error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %zd, %zd, %zd, %zd) %ld != %d, p1 %p p2 %p",
++                   n, impl->name, align1, align2, len1, len2, pos, r, result, p1, p2);
++            ret = 1;
++          }
++      }
++    }
++}
++
++int
++test_main (void)
++{
++  size_t i;
++
++  test_init ();
++
++  printf ("%23s", "");
++  FOR_EACH_IMPL (impl, 0)
++    printf ("\t%s", impl->name);
++  putchar ('\n');
++
++  for (i = 1; i < 16; ++i)
++    {
++      do_test (i, i, i, 127, 0);
++      do_test (i, i, i, 127, 1);
++      do_test (i, i, i, 127, -1);
++    }
++
++  for (i = 1; i < 10; ++i)
++    {
++      do_test (0, 0, 2 << i, 127, 0);
++      do_test (0, 0, 2 << i, 254, 0);
++      do_test (0, 0, 2 << i, 127, 1);
++      do_test (0, 0, 2 << i, 254, 1);
++      do_test (0, 0, 2 << i, 127, -1);
++      do_test (0, 0, 2 << i, 254, -1);
++    }
++
++  for (i = 1; i < 8; ++i)
++    {
++      do_test (i, 2 * i, 8 << i, 127, 0);
++      do_test (2 * i, i, 8 << i, 254, 0);
++      do_test (i, 2 * i, 8 << i, 127, 1);
++      do_test (2 * i, i, 8 << i, 254, 1);
++      do_test (i, 2 * i, 8 << i, 127, -1);
++      do_test (2 * i, i, 8 << i, 254, -1);
++    }
++
++  do_random_tests ();
++  return ret;
++}
++
++#include "../test-skeleton.c"
+Index: glibc-2.12-2-gc4ccff1/string/test-strcasestr.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/test-strcasestr.c
+@@ -0,0 +1,197 @@
++/* Test and measure strcasestr functions.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Written by Ulrich Drepper <drepper@redhat.com>, 2010.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#define TEST_MAIN
++#include "test-string.h"
++
++
++#define STRCASESTR simple_strcasestr
++#define NO_ALIAS
++#define __strncasecmp strncasecmp
++#include "strcasestr.c"
++
++
++static char *
++stupid_strcasestr (const char *s1, const char *s2)
++{
++  ssize_t s1len = strlen (s1);
++  ssize_t s2len = strlen (s2);
++
++  if (s2len > s1len)
++    return NULL;
++
++  for (ssize_t i = 0; i <= s1len - s2len; ++i)
++    {
++      size_t j;
++      for (j = 0; j < s2len; ++j)
++      if (tolower (s1[i + j]) != tolower (s2[j]))
++        break;
++      if (j == s2len)
++      return (char *) s1 + i;
++    }
++
++  return NULL;
++}
++
++
++typedef char *(*proto_t) (const char *, const char *);
++
++IMPL (stupid_strcasestr, 0)
++IMPL (simple_strcasestr, 0)
++IMPL (strcasestr, 1)
++
++
++static void
++do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
++{
++  char *result = CALL (impl, s1, s2);
++  if (result != exp_result)
++    {
++      error (0, 0, "Wrong result in function %s %s %s", impl->name,
++           result, exp_result);
++      ret = 1;
++      return;
++    }
++
++  if (HP_TIMING_AVAIL)
++    {
++      hp_timing_t start __attribute ((unused));
++      hp_timing_t stop __attribute ((unused));
++      hp_timing_t best_time = ~(hp_timing_t) 0;
++      size_t i;
++
++      for (i = 0; i < 32; ++i)
++      {
++        HP_TIMING_NOW (start);
++        CALL (impl, s1, s2);
++        HP_TIMING_NOW (stop);
++        HP_TIMING_BEST (best_time, start, stop);
++      }
++
++      printf ("\t%zd", (size_t) best_time);
++    }
++}
++
++
++static void
++do_test (size_t align1, size_t align2, size_t len1, size_t len2,
++       int fail)
++{
++  char *s1 = (char *) (buf1 + align1);
++  char *s2 = (char *) (buf2 + align2);
++
++  static const char d[] = "1234567890abcxyz";
++#define dl (sizeof (d) - 1)
++  char *ss2 = s2;
++  for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
++    {
++      size_t t = l > dl ? dl : l;
++      ss2 = mempcpy (ss2, d, t);
++    }
++  s2[len2] = '\0';
++
++  if (fail)
++    {
++      char *ss1 = s1;
++      for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
++      {
++        size_t t = l > dl ? dl : l;
++        memcpy (ss1, d, t);
++        ++ss1[len2 > 7 ? 7 : len2 - 1];
++        ss1 += t;
++      }
++    }
++  else
++    {
++      memset (s1, '0', len1);
++      for (size_t i = 0; i < len2; ++i)
++      s1[len1 - len2 + i] = toupper (s2[i]);
++    }
++  s1[len1] = '\0';
++
++  if (HP_TIMING_AVAIL)
++    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
++          len1, len2, align1, align2, fail ? "fail" : "found");
++
++  FOR_EACH_IMPL (impl, 0)
++    do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
++
++  if (HP_TIMING_AVAIL)
++    putchar ('\n');
++}
++
++
++static int
++test_main (void)
++{
++  test_init ();
++
++  printf ("%23s", "");
++  FOR_EACH_IMPL (impl, 0)
++    printf ("\t%s", impl->name);
++  putchar ('\n');
++
++  for (size_t klen = 2; klen < 32; ++klen)
++    for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
++      {
++      do_test (0, 0, hlen, klen, 0);
++      do_test (0, 0, hlen, klen, 1);
++      do_test (0, 3, hlen, klen, 0);
++      do_test (0, 3, hlen, klen, 1);
++      do_test (0, 9, hlen, klen, 0);
++      do_test (0, 9, hlen, klen, 1);
++      do_test (0, 15, hlen, klen, 0);
++      do_test (0, 15, hlen, klen, 1);
++
++      do_test (3, 0, hlen, klen, 0);
++      do_test (3, 0, hlen, klen, 1);
++      do_test (3, 3, hlen, klen, 0);
++      do_test (3, 3, hlen, klen, 1);
++      do_test (3, 9, hlen, klen, 0);
++      do_test (3, 9, hlen, klen, 1);
++      do_test (3, 15, hlen, klen, 0);
++      do_test (3, 15, hlen, klen, 1);
++
++      do_test (9, 0, hlen, klen, 0);
++      do_test (9, 0, hlen, klen, 1);
++      do_test (9, 3, hlen, klen, 0);
++      do_test (9, 3, hlen, klen, 1);
++      do_test (9, 9, hlen, klen, 0);
++      do_test (9, 9, hlen, klen, 1);
++      do_test (9, 15, hlen, klen, 0);
++      do_test (9, 15, hlen, klen, 1);
++
++      do_test (15, 0, hlen, klen, 0);
++      do_test (15, 0, hlen, klen, 1);
++      do_test (15, 3, hlen, klen, 0);
++      do_test (15, 3, hlen, klen, 1);
++      do_test (15, 9, hlen, klen, 0);
++      do_test (15, 9, hlen, klen, 1);
++      do_test (15, 15, hlen, klen, 0);
++      do_test (15, 15, hlen, klen, 1);
++      }
++
++  do_test (0, 0, page_size - 1, 16, 0);
++  do_test (0, 0, page_size - 1, 16, 1);
++
++  return ret;
++}
++
++#include "../test-skeleton.c"
+Index: glibc-2.12-2-gc4ccff1/string/test-strncasecmp.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/test-strncasecmp.c
+@@ -0,0 +1,349 @@
++/* Test and measure strncasecmp functions.
++   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <ctype.h>
++#define TEST_MAIN
++#include "test-string.h"
++
++typedef int (*proto_t) (const char *, const char *, size_t);
++static int simple_strncasecmp (const char *, const char *, size_t);
++static int stupid_strncasecmp (const char *, const char *, size_t);
++
++IMPL (stupid_strncasecmp, 0)
++IMPL (simple_strncasecmp, 0)
++IMPL (strncasecmp, 1)
++
++static int
++simple_strncasecmp (const char *s1, const char *s2, size_t n)
++{
++  int ret;
++
++  if (n == 0)
++    return 0;
++
++  while ((ret = ((unsigned char) tolower (*s1)
++               - (unsigned char) tolower (*s2))) == 0
++       && *s1++)
++    {
++      if (--n == 0)
++      return 0;
++      ++s2;
++    }
++  return ret;
++}
++
++static int
++stupid_strncasecmp (const char *s1, const char *s2, size_t max)
++{
++  size_t ns1 = strlen (s1) + 1;
++  size_t ns2 = strlen (s2) + 1;
++  size_t n = ns1 < ns2 ? ns1 : ns2;
++  if (n > max)
++    n = max;
++  int ret = 0;
++
++  while (n--)
++    {
++      if ((ret = ((unsigned char) tolower (*s1)
++                - (unsigned char) tolower (*s2))) != 0)
++      break;
++      ++s1;
++      ++s2;
++    }
++  return ret;
++}
++
++static int
++check_result (impl_t *impl, const char *s1, const char *s2, size_t n,
++            int exp_result)
++{
++  int result = CALL (impl, s1, s2, n);
++  if ((exp_result == 0 && result != 0)
++      || (exp_result < 0 && result >= 0)
++      || (exp_result > 0 && result <= 0))
++    {
++      error (0, 0, "Wrong result in function %s %d %d", impl->name,
++           result, exp_result);
++      ret = 1;
++      return -1;
++    }
++
++  return 0;
++}
++
++static void
++do_one_test (impl_t *impl, const char *s1, const char *s2, size_t n,
++           int exp_result)
++{
++  if (check_result (impl, s1, s2, n, exp_result) < 0)
++    return;
++
++  if (HP_TIMING_AVAIL)
++    {
++      hp_timing_t start __attribute ((unused));
++      hp_timing_t stop __attribute ((unused));
++      hp_timing_t best_time = ~ (hp_timing_t) 0;
++      size_t i;
++
++      for (i = 0; i < 32; ++i)
++      {
++        HP_TIMING_NOW (start);
++        CALL (impl, s1, s2, n);
++        HP_TIMING_NOW (stop);
++        HP_TIMING_BEST (best_time, start, stop);
++      }
++
++      printf ("\t%zd", (size_t) best_time);
++    }
++}
++
++static void
++do_test (size_t align1, size_t align2, size_t n, size_t len, int max_char,
++       int exp_result)
++{
++  size_t i;
++  char *s1, *s2;
++
++  if (len == 0)
++    return;
++
++  align1 &= 7;
++  if (align1 + len + 1 >= page_size)
++    return;
++
++  align2 &= 7;
++  if (align2 + len + 1 >= page_size)
++    return;
++
++  s1 = (char *) (buf1 + align1);
++  s2 = (char *) (buf2 + align2);
++
++  for (i = 0; i < len; i++)
++    {
++      s1[i] = toupper (1 + 23 * i % max_char);
++      s2[i] = tolower (s1[i]);
++    }
++
++  s1[len] = s2[len] = 0;
++  s1[len + 1] = 23;
++  s2[len + 1] = 24 + exp_result;
++  if ((s2[len - 1] == 'z' && exp_result == -1)
++      || (s2[len - 1] == 'a' && exp_result == 1))
++    s1[len - 1] += exp_result;
++  else
++    s2[len - 1] -= exp_result;
++
++  if (HP_TIMING_AVAIL)
++    printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
++
++  FOR_EACH_IMPL (impl, 0)
++    do_one_test (impl, s1, s2, n, exp_result);
++
++  if (HP_TIMING_AVAIL)
++    putchar ('\n');
++}
++
++static void
++do_random_tests (void)
++{
++  size_t i, j, n, align1, align2, pos, len1, len2;
++  int result;
++  long r;
++  unsigned char *p1 = buf1 + page_size - 512;
++  unsigned char *p2 = buf2 + page_size - 512;
++
++  for (n = 0; n < ITERATIONS; n++)
++    {
++      align1 = random () & 31;
++      if (random () & 1)
++      align2 = random () & 31;
++      else
++      align2 = align1 + (random () & 24);
++      pos = random () & 511;
++      j = align1 > align2 ? align1 : align2;
++      if (pos + j >= 511)
++      pos = 510 - j - (random () & 7);
++      len1 = random () & 511;
++      if (pos >= len1 && (random () & 1))
++      len1 = pos + (random () & 7);
++      if (len1 + j >= 512)
++      len1 = 511 - j - (random () & 7);
++      if (pos >= len1)
++      len2 = len1;
++      else
++      len2 = len1 + (len1 != 511 - j ? random () % (511 - j - len1) : 0);
++      j = (pos > len2 ? pos : len2) + align1 + 64;
++      if (j > 512)
++      j = 512;
++      for (i = 0; i < j; ++i)
++      {
++        p1[i] = tolower (random () & 255);
++        if (i < len1 + align1 && !p1[i])
++          {
++            p1[i] = tolower (random () & 255);
++            if (!p1[i])
++              p1[i] = tolower (1 + (random () & 127));
++          }
++      }
++      for (i = 0; i < j; ++i)
++      {
++        p2[i] = toupper (random () & 255);
++        if (i < len2 + align2 && !p2[i])
++          {
++            p2[i] = toupper (random () & 255);
++            if (!p2[i])
++              toupper (p2[i] = 1 + (random () & 127));
++          }
++      }
++
++      result = 0;
++      memcpy (p2 + align2, p1 + align1, pos);
++      if (pos < len1)
++      {
++        if (tolower (p2[align2 + pos]) == p1[align1 + pos])
++          {
++            p2[align2 + pos] = toupper (random () & 255);
++            if (tolower (p2[align2 + pos]) == p1[align1 + pos])
++              p2[align2 + pos] = toupper (p1[align1 + pos]
++                                          + 3 + (random () & 127));
++          }
++
++        if (p1[align1 + pos] < tolower (p2[align2 + pos]))
++          result = -1;
++        else
++          result = 1;
++      }
++      p1[len1 + align1] = 0;
++      p2[len2 + align2] = 0;
++
++      FOR_EACH_IMPL (impl, 1)
++      {
++        r = CALL (impl, (char *) (p1 + align1), (char *) (p2 + align2),
++                  pos + 1 + (random () & 255));
++        /* Test whether on 64-bit architectures where ABI requires
++           callee to promote has the promotion been done.  */
++        asm ("" : "=g" (r) : "0" (r));
++        if ((r == 0 && result)
++            || (r < 0 && result >= 0)
++            || (r > 0 && result <= 0))
++          {
++            error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %zd, %zd, %zd, %zd) %ld != %d, p1 %p p2 %p",
++                   n, impl->name, align1, align2, len1, len2, pos, r, result, p1, p2);
++            ret = 1;
++          }
++      }
++    }
++}
++
++
++static void
++check1 (void)
++{
++  static char cp [4096+16] __attribute__ ((aligned(4096)));
++  static char gotrel[4096] __attribute__ ((aligned(4096)));
++  char *s1 = cp + 0xffa;
++  char *s2 = gotrel + 0xcbe;
++  int exp_result;
++  size_t n = 6;
++
++  strcpy (s1, "gottpoff");
++  strcpy (s2, "GOTPLT");
++
++  exp_result = simple_strncasecmp (s1, s2, n);
++  FOR_EACH_IMPL (impl, 0)
++    check_result (impl, s1, s2, n, exp_result);
++}
++
++int
++test_main (void)
++{
++  size_t i;
++
++  test_init ();
++
++  check1 ();
++
++  printf ("%23s", "");
++  FOR_EACH_IMPL (impl, 0)
++    printf ("\t%s", impl->name);
++  putchar ('\n');
++
++  for (i = 1; i < 16; ++i)
++    {
++      do_test (i, i, i - 1, i, 127, 0);
++
++      do_test (i, i, i, i, 127, 0);
++      do_test (i, i, i, i, 127, 1);
++      do_test (i, i, i, i, 127, -1);
++
++      do_test (i, i, i + 1, i, 127, 0);
++      do_test (i, i, i + 1, i, 127, 1);
++      do_test (i, i, i + 1, i, 127, -1);
++    }
++
++  for (i = 1; i < 10; ++i)
++    {
++      do_test (0, 0, (2 << i) - 1, 2 << i, 127, 0);
++      do_test (0, 0, 2 << i, 2 << i, 254, 0);
++      do_test (0, 0, (2 << i) + 1, 2 << i, 127, 0);
++
++      do_test (0, 0, (2 << i) + 1, 2 << i, 254, 0);
++
++      do_test (0, 0, 2 << i, 2 << i, 127, 1);
++      do_test (0, 0, (2 << i) + 10, 2 << i, 127, 1);
++
++      do_test (0, 0, 2 << i, 2 << i, 254, 1);
++      do_test (0, 0, (2 << i) + 10, 2 << i, 254, 1);
++
++      do_test (0, 0, 2 << i, 2 << i, 127, -1);
++      do_test (0, 0, (2 << i) + 10, 2 << i, 127, -1);
++
++      do_test (0, 0, 2 << i, 2 << i, 254, -1);
++      do_test (0, 0, (2 << i) + 10, 2 << i, 254, -1);
++    }
++
++  for (i = 1; i < 8; ++i)
++    {
++      do_test (i, 2 * i, (8 << i) - 1, 8 << i, 127, 0);
++      do_test (i, 2 * i, 8 << i, 8 << i, 127, 0);
++      do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, 0);
++
++      do_test (2 * i, i, (8 << i) - 1, 8 << i, 254, 0);
++      do_test (2 * i, i, 8 << i, 8 << i, 254, 0);
++      do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, 0);
++
++      do_test (i, 2 * i, 8 << i, 8 << i, 127, 1);
++      do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, 1);
++
++      do_test (2 * i, i, 8 << i, 8 << i, 254, 1);
++      do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, 1);
++
++      do_test (i, 2 * i, 8 << i, 8 << i, 127, -1);
++      do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, -1);
++
++      do_test (2 * i, i, 8 << i, 8 << i, 254, -1);
++      do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, -1);
++    }
++
++  do_random_tests ();
++  return ret;
++}
++
++#include "../test-skeleton.c"
+Index: glibc-2.12-2-gc4ccff1/string/test-strnlen.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/test-strnlen.c
+@@ -0,0 +1,197 @@
++/* Test and measure strlen functions.
++   Copyright (C) 1999, 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Written by Jakub Jelinek <jakub@redhat.com>, 1999.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#define TEST_MAIN
++#include "test-string.h"
++
++typedef size_t (*proto_t) (const char *, size_t);
++size_t simple_strnlen (const char *, size_t);
++
++IMPL (simple_strnlen, 0)
++IMPL (strnlen, 1)
++
++size_t
++simple_strnlen (const char *s, size_t maxlen)
++{
++  size_t i;
++
++  for (i = 0; i < maxlen && s[i]; ++i);
++  return i;
++}
++
++static void
++do_one_test (impl_t *impl, const char *s, size_t maxlen, size_t exp_len)
++{
++  size_t len = CALL (impl, s, maxlen);
++  if (len != exp_len)
++    {
++      error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
++           len, exp_len);
++      ret = 1;
++      return;
++    }
++
++  if (HP_TIMING_AVAIL)
++    {
++      hp_timing_t start __attribute ((unused));
++      hp_timing_t stop __attribute ((unused));
++      hp_timing_t best_time = ~ (hp_timing_t) 0;
++      size_t i;
++
++      for (i = 0; i < 32; ++i)
++      {
++        HP_TIMING_NOW (start);
++        CALL (impl, s, maxlen);
++        HP_TIMING_NOW (stop);
++        HP_TIMING_BEST (best_time, start, stop);
++      }
++
++      printf ("\t%zd", (size_t) best_time);
++    }
++}
++
++static void
++do_test (size_t align, size_t len, size_t maxlen, int max_char)
++{
++  size_t i;
++
++  align &= 7;
++  if (align + len >= page_size)
++    return;
++
++  for (i = 0; i < len; ++i)
++    buf1[align + i] = 1 + 7 * i % max_char;
++  buf1[align + len] = 0;
++
++  if (HP_TIMING_AVAIL)
++    printf ("Length %4zd, alignment %2zd:", len, align);
++
++  FOR_EACH_IMPL (impl, 0)
++    do_one_test (impl, (char *) (buf1 + align), maxlen, MIN (len, maxlen));
++
++  if (HP_TIMING_AVAIL)
++    putchar ('\n');
++}
++
++static void
++do_random_tests (void)
++{
++  size_t i, j, n, align, len;
++  unsigned char *p = buf1 + page_size - 512;
++
++  for (n = 0; n < ITERATIONS; n++)
++    {
++      align = random () & 15;
++      len = random () & 511;
++      if (len + align > 510)
++      len = 511 - align - (random () & 7);
++      j = len + align + 64;
++      if (j > 512)
++      j = 512;
++
++      for (i = 0; i < j; i++)
++      {
++        if (i == len + align)
++          p[i] = 0;
++        else
++          {
++            p[i] = random () & 255;
++            if (i >= align && i < len + align && !p[i])
++              p[i] = (random () & 127) + 1;
++          }
++      }
++
++      FOR_EACH_IMPL (impl, 1)
++      {
++        if (len > 0
++            && CALL (impl, (char *) (p + align), len - 1) != len - 1)
++          {
++            error (0, 0, "Iteration %zd (limited) - wrong result in function %s (%zd) %zd != %zd, p %p",
++                   n, impl->name, align,
++                   CALL (impl, (char *) (p + align), len - 1), len - 1, p);
++            ret = 1;
++          }
++        if (CALL (impl, (char *) (p + align), len) != len)
++          {
++            error (0, 0, "Iteration %zd (exact) - wrong result in function %s (%zd) %zd != %zd, p %p",
++                   n, impl->name, align,
++                   CALL (impl, (char *) (p + align), len), len, p);
++            ret = 1;
++          }
++        if (CALL (impl, (char *) (p + align), len + 1) != len)
++          {
++            error (0, 0, "Iteration %zd (long) - wrong result in function %s (%zd) %zd != %zd, p %p",
++                   n, impl->name, align,
++                   CALL (impl, (char *) (p + align), len + 1), len, p);
++            ret = 1;
++          }
++      }
++    }
++}
++
++int
++test_main (void)
++{
++  size_t i;
++
++  test_init ();
++
++  printf ("%20s", "");
++  FOR_EACH_IMPL (impl, 0)
++    printf ("\t%s", impl->name);
++  putchar ('\n');
++
++  for (i = 1; i < 8; ++i)
++    {
++      do_test (0, i, i - 1, 127);
++      do_test (0, i, i, 127);
++      do_test (0, i, i + 1, 127);
++    }
++
++  for (i = 1; i < 8; ++i)
++    {
++      do_test (i, i, i - 1, 127);
++      do_test (i, i, i, 127);
++      do_test (i, i, i + 1, 127);
++    }
++
++  for (i = 2; i <= 10; ++i)
++    {
++      do_test (0, 1 << i, 5000, 127);
++      do_test (1, 1 << i, 5000, 127);
++    }
++
++  for (i = 1; i < 8; ++i)
++    do_test (0, i, 5000, 255);
++
++  for (i = 1; i < 8; ++i)
++    do_test (i, i, 5000, 255);
++
++  for (i = 2; i <= 10; ++i)
++    {
++      do_test (0, 1 << i, 5000, 255);
++      do_test (1, 1 << i, 5000, 255);
++    }
++
++  do_random_tests ();
++  return ret;
++}
++
++#include "../test-skeleton.c"
+Index: glibc-2.12-2-gc4ccff1/string/test-strstr.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/test-strstr.c
+@@ -0,0 +1,194 @@
++/* Test and measure strstr functions.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Written by Ulrich Drepper <drepper@redhat.com>, 2010.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#define TEST_MAIN
++#include "test-string.h"
++
++
++#define STRSTR simple_strstr
++#include "strstr.c"
++
++
++static char *
++stupid_strstr (const char *s1, const char *s2)
++{
++  ssize_t s1len = strlen (s1);
++  ssize_t s2len = strlen (s2);
++
++  if (s2len > s1len)
++    return NULL;
++
++  for (ssize_t i = 0; i <= s1len - s2len; ++i)
++    {
++      size_t j;
++      for (j = 0; j < s2len; ++j)
++      if (s1[i + j] != s2[j])
++        break;
++      if (j == s2len)
++      return (char *) s1 + i;
++    }
++
++  return NULL;
++}
++
++
++typedef char *(*proto_t) (const char *, const char *);
++
++IMPL (stupid_strstr, 0)
++IMPL (simple_strstr, 0)
++IMPL (strstr, 1)
++
++
++static void
++do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
++{
++  char *result = CALL (impl, s1, s2);
++  if (result != exp_result)
++    {
++      error (0, 0, "Wrong result in function %s %s %s", impl->name,
++           result, exp_result);
++      ret = 1;
++      return;
++    }
++
++  if (HP_TIMING_AVAIL)
++    {
++      hp_timing_t start __attribute ((unused));
++      hp_timing_t stop __attribute ((unused));
++      hp_timing_t best_time = ~(hp_timing_t) 0;
++      size_t i;
++
++      for (i = 0; i < 32; ++i)
++      {
++        HP_TIMING_NOW (start);
++        CALL (impl, s1, s2);
++        HP_TIMING_NOW (stop);
++        HP_TIMING_BEST (best_time, start, stop);
++      }
++
++      printf ("\t%zd", (size_t) best_time);
++    }
++}
++
++
++static void
++do_test (size_t align1, size_t align2, size_t len1, size_t len2,
++       int fail)
++{
++  char *s1 = (char *) (buf1 + align1);
++  char *s2 = (char *) (buf2 + align2);
++
++  static const char d[] = "1234567890abcdef";
++#define dl (sizeof (d) - 1)
++  char *ss2 = s2;
++  for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
++    {
++      size_t t = l > dl ? dl : l;
++      ss2 = mempcpy (ss2, d, t);
++    }
++  s2[len2] = '\0';
++
++  if (fail)
++    {
++      char *ss1 = s1;
++      for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
++      {
++        size_t t = l > dl ? dl : l;
++        memcpy (ss1, d, t);
++        ++ss1[len2 > 7 ? 7 : len2 - 1];
++        ss1 += t;
++      }
++    }
++  else
++    {
++      memset (s1, '0', len1);
++      memcpy (s1 + len1 - len2, s2, len2);
++    }
++  s1[len1] = '\0';
++
++  if (HP_TIMING_AVAIL)
++    printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
++          len1, len2, align1, align2, fail ? "fail" : "found");
++
++  FOR_EACH_IMPL (impl, 0)
++    do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
++
++  if (HP_TIMING_AVAIL)
++    putchar ('\n');
++}
++
++
++static int
++test_main (void)
++{
++  test_init ();
++
++  printf ("%23s", "");
++  FOR_EACH_IMPL (impl, 0)
++    printf ("\t%s", impl->name);
++  putchar ('\n');
++
++  for (size_t klen = 2; klen < 32; ++klen)
++    for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
++      {
++      do_test (0, 0, hlen, klen, 0);
++      do_test (0, 0, hlen, klen, 1);
++      do_test (0, 3, hlen, klen, 0);
++      do_test (0, 3, hlen, klen, 1);
++      do_test (0, 9, hlen, klen, 0);
++      do_test (0, 9, hlen, klen, 1);
++      do_test (0, 15, hlen, klen, 0);
++      do_test (0, 15, hlen, klen, 1);
++
++      do_test (3, 0, hlen, klen, 0);
++      do_test (3, 0, hlen, klen, 1);
++      do_test (3, 3, hlen, klen, 0);
++      do_test (3, 3, hlen, klen, 1);
++      do_test (3, 9, hlen, klen, 0);
++      do_test (3, 9, hlen, klen, 1);
++      do_test (3, 15, hlen, klen, 0);
++      do_test (3, 15, hlen, klen, 1);
++
++      do_test (9, 0, hlen, klen, 0);
++      do_test (9, 0, hlen, klen, 1);
++      do_test (9, 3, hlen, klen, 0);
++      do_test (9, 3, hlen, klen, 1);
++      do_test (9, 9, hlen, klen, 0);
++      do_test (9, 9, hlen, klen, 1);
++      do_test (9, 15, hlen, klen, 0);
++      do_test (9, 15, hlen, klen, 1);
++
++      do_test (15, 0, hlen, klen, 0);
++      do_test (15, 0, hlen, klen, 1);
++      do_test (15, 3, hlen, klen, 0);
++      do_test (15, 3, hlen, klen, 1);
++      do_test (15, 9, hlen, klen, 0);
++      do_test (15, 9, hlen, klen, 1);
++      do_test (15, 15, hlen, klen, 0);
++      do_test (15, 15, hlen, klen, 1);
++      }
++
++  do_test (0, 0, page_size - 1, 16, 0);
++  do_test (0, 0, page_size - 1, 16, 1);
++
++  return ret;
++}
++
++#include "../test-skeleton.c"
+Index: glibc-2.12-2-gc4ccff1/string/tester.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/tester.c
++++ glibc-2.12-2-gc4ccff1/string/tester.c
+@@ -441,20 +441,21 @@ test_strnlen (void)
+   check (strnlen ("", 10) == 0, 1);           /* Empty. */
+   check (strnlen ("a", 10) == 1, 2);          /* Single char. */
+   check (strnlen ("abcd", 10) == 4, 3);               /* Multiple chars. */
+-  check (strnlen ("foo", (size_t)-1) == 3, 4);        /* limits of n. */
++  check (strnlen ("foo", (size_t) -1) == 3, 4);       /* limits of n. */
++  check (strnlen ("abcd", 0) == 0, 5);                /* Restricted. */
++  check (strnlen ("abcd", 1) == 1, 6);                /* Restricted. */
++  check (strnlen ("abcd", 2) == 2, 7);                /* Restricted. */
++  check (strnlen ("abcd", 3) == 3, 8);                /* Restricted. */
++  check (strnlen ("abcd", 4) == 4, 9);                /* Restricted. */
+-  {
+-    char buf[4096];
+-    int i;
+-    char *p;
+-    for (i=0; i < 0x100; i++)
+-      {
+-      p = (char *) ((unsigned long int)(buf + 0xff) & ~0xff) + i;
+-      strcpy (p, "OK");
+-      strcpy (p+3, "BAD/WRONG");
+-      check (strnlen (p, 100) == 2, 5+i);
+-      }
+-   }
++  char buf[4096];
++  for (int i = 0; i < 0x100; ++i)
++    {
++      char *p = (char *) ((unsigned long int)(buf + 0xff) & ~0xff) + i;
++      strcpy (p, "OK");
++      strcpy (p + 3, "BAD/WRONG");
++      check (strnlen (p, 100) == 2, 10 + i);
++    }
+ }
+ static void
+Index: glibc-2.12-2-gc4ccff1/string/tst-strlen.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/tst-strlen.c
++++ glibc-2.12-2-gc4ccff1/string/tst-strlen.c
+@@ -31,11 +31,21 @@ main(int argc, char *argv[])
+             buf[words * 4 + 3] = (last & 8) != 0 ? 'e' : '\0';
+             buf[words * 4 + 4] = '\0';
+-            if (strlen (buf) != words * 4 + lens[last]
+-                || strnlen (buf, -1) != words * 4 + lens[last])
++            if (strlen (buf) != words * 4 + lens[last])
+               {
+-                printf ("failed for base=%Zu, words=%Zu, and last=%Zu\n",
+-                        base, words, last);
++                printf ("\
++strlen failed for base=%Zu, words=%Zu, and last=%Zu (is %zd, expected %zd)\n",
++                        base, words, last,
++                        strlen (buf), words * 4 + lens[last]);
++                return 1;
++              }
++
++            if (strnlen (buf, -1) != words * 4 + lens[last])
++              {
++                printf ("\
++strnlen failed for base=%Zu, words=%Zu, and last=%Zu (is %zd, expected %zd)\n",
++                        base, words, last,
++                        strnlen (buf, -1), words * 4 + lens[last]);
+                 return 1;
+               }
+           }
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
+@@ -9,7 +9,7 @@ sysdep_routines += bzero-sse2 memset-sse
+                  memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \
+                  memset-sse2-rep bzero-sse2-rep strcmp-ssse3 \
+                  strcmp-sse4 strncmp-c strncmp-ssse3 strncmp-sse4 \
+-                 memcmp-ssse3 memcmp-sse4
++                 memcmp-ssse3 memcmp-sse4 strcasestr-nonascii
+ ifeq (yes,$(config-cflags-sse4))
+ sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
+ CFLAGS-strcspn-c.c += -msse4
+@@ -17,6 +17,7 @@ CFLAGS-strpbrk-c.c += -msse4
+ CFLAGS-strspn-c.c += -msse4
+ CFLAGS-strstr.c += -msse4
+ CFLAGS-strcasestr.c += -msse4
++CFLAGS-strcasestr-nonascii.c += -msse4
+ endif
+ endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strcasestr-nonascii.c
+@@ -0,0 +1,2 @@
++#include <nmmintrin.h>
++#include <sysdeps/x86_64/multiarch/strcasestr-nonascii.c>
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/Makefile
+@@ -12,7 +12,8 @@ sysdep_routines += _mcount
+ endif
+ ifeq ($(subdir),string)
+-sysdep_routines += cacheinfo
++sysdep_routines += cacheinfo strcasecmp_l-nonascii strncase_l-nonascii
++gen-as-const-headers += locale-defines.sym
+ endif
+ ifeq ($(subdir),elf)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/locale-defines.sym
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/locale-defines.sym
+@@ -0,0 +1,11 @@
++#include <locale/localeinfo.h>
++#include <langinfo.h>
++#include <stddef.h>
++
++--
++
++LOCALE_T___LOCALES            offsetof (struct __locale_struct, __locales)
++LC_CTYPE
++_NL_CTYPE_NONASCII_CASE
++LOCALE_DATA_VALUES            offsetof (struct __locale_data, values)
++SIZEOF_VALUES                 sizeof (((struct __locale_data *) 0)->values[0])
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
+@@ -5,7 +5,9 @@ endif
+ ifeq ($(subdir),string)
+ sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
+-                 strend-sse4 memcmp-sse4
++                 strend-sse4 memcmp-sse4 \
++                 strcasestr-nonascii strcasecmp_l-ssse3 \
++                 strncase_l-ssse3
+ ifeq (yes,$(config-cflags-sse4))
+ sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
+ CFLAGS-strcspn-c.c += -msse4
+@@ -13,5 +15,6 @@ CFLAGS-strpbrk-c.c += -msse4
+ CFLAGS-strspn-c.c += -msse4
+ CFLAGS-strstr.c += -msse4
+ CFLAGS-strcasestr.c += -msse4
++CFLAGS-strcasestr-nonascii.c += -msse4
+ endif
+ endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l-ssse3.S
+@@ -0,0 +1,6 @@
++#define USE_SSSE3 1
++#define USE_AS_STRCASECMP_L
++#define NO_NOLOCALE_ALIAS
++#define STRCMP __strcasecmp_l_ssse3
++#define __strcasecmp __strcasecmp_ssse3
++#include "../strcmp.S"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasecmp_l.S
+@@ -0,0 +1,6 @@
++#define STRCMP __strcasecmp_l
++#define USE_AS_STRCASECMP_L
++#include "strcmp.S"
++
++weak_alias (__strcasecmp_l, strcasecmp_l)
++libc_hidden_def (strcasecmp_l)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr-nonascii.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr-nonascii.c
+@@ -0,0 +1,50 @@
++/* strstr with SSE4.2 intrinsics
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++# include <ctype.h>
++
++
++/* Similar to __m128i_strloadu.  Convert to lower case for none-POSIX/C
++   locale.  */
++static inline __m128i
++__m128i_strloadu_tolower (const unsigned char *p)
++{
++  union
++    {
++      char b[16];
++      __m128i x;
++    } u;
++
++  for (int i = 0; i < 16; ++i)
++    if (p[i] == 0)
++      {
++      u.b[i] = 0;
++      break;
++      }
++    else
++      u.b[i] = tolower (p[i]);
++
++  return u.x;
++}
++
++
++#define STRCASESTR_NONASCII
++#define USE_AS_STRCASESTR
++#define STRSTR_SSE42 __strcasestr_sse42_nonascii
++#include "strstr.c"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strcasestr.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcasestr.c
+@@ -1,3 +1,7 @@
++extern char *__strcasestr_sse42_nonascii (const unsigned char *s1,
++                                        const unsigned char *s2)
++  attribute_hidden;
++
+ #define USE_AS_STRCASESTR
+ #define STRSTR_SSE42 __strcasestr_sse42
+ #include "strstr.c"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strcmp.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
+@@ -24,7 +24,7 @@
+ #ifdef USE_AS_STRNCMP
+ /* Since the counter, %r11, is unsigned, we branch to strcmp_exitz
+    if the new counter > the old one or is 0.  */
+-#define UPDATE_STRNCMP_COUNTER                                \
++# define UPDATE_STRNCMP_COUNTER                               \
+       /* calculate left number to compare */          \
+       lea     -16(%rcx, %r11), %r9;                   \
+       cmp     %r9, %r11;                              \
+@@ -33,23 +33,50 @@
+       je      LABEL(strcmp_exitz_sse4_2);             \
+       mov     %r9, %r11
+-#define STRCMP_SSE42  __strncmp_sse42
+-#define STRCMP_SSSE3  __strncmp_ssse3
+-#define STRCMP_SSE2   __strncmp_sse2
+-#define __GI_STRCMP   __GI_strncmp
++# define STRCMP_SSE42 __strncmp_sse42
++# define STRCMP_SSSE3 __strncmp_ssse3
++# define STRCMP_SSE2  __strncmp_sse2
++# define __GI_STRCMP  __GI_strncmp
++#elif defined USE_AS_STRCASECMP_L
++# include "locale-defines.h"
++
++# define UPDATE_STRNCMP_COUNTER
++
++# define STRCMP_SSE42 __strcasecmp_l_sse42
++# define STRCMP_SSSE3 __strcasecmp_l_ssse3
++# define STRCMP_SSE2  __strcasecmp_l_sse2
++# define __GI_STRCMP  __GI___strcasecmp_l
++#elif defined USE_AS_STRNCASECMP_L
++# include "locale-defines.h"
++
++/* Since the counter, %r11, is unsigned, we branch to strcmp_exitz
++   if the new counter > the old one or is 0.  */
++# define UPDATE_STRNCMP_COUNTER                               \
++      /* calculate left number to compare */          \
++      lea     -16(%rcx, %r11), %r9;                   \
++      cmp     %r9, %r11;                              \
++      jb      LABEL(strcmp_exitz_sse4_2);             \
++      test    %r9, %r9;                               \
++      je      LABEL(strcmp_exitz_sse4_2);             \
++      mov     %r9, %r11
++
++# define STRCMP_SSE42 __strncasecmp_l_sse42
++# define STRCMP_SSSE3 __strncasecmp_l_ssse3
++# define STRCMP_SSE2  __strncasecmp_l_sse2
++# define __GI_STRCMP  __GI___strncasecmp_l
+ #else
+-#define UPDATE_STRNCMP_COUNTER
+-#ifndef STRCMP
+-#define STRCMP                strcmp
+-#define STRCMP_SSE42  __strcmp_sse42
+-#define STRCMP_SSSE3  __strcmp_ssse3
+-#define STRCMP_SSE2   __strcmp_sse2
+-#define __GI_STRCMP   __GI_strcmp
+-#endif
++# define UPDATE_STRNCMP_COUNTER
++# ifndef STRCMP
++#  define STRCMP      strcmp
++#  define STRCMP_SSE42        __strcmp_sse42
++#  define STRCMP_SSSE3        __strcmp_ssse3
++#  define STRCMP_SSE2 __strcmp_sse2
++#  define __GI_STRCMP __GI_strcmp
++# endif
+ #endif
+ #ifndef LABEL
+-#define LABEL(l) L(l)
++# define LABEL(l) L(l)
+ #endif
+ /* Define multiple versions only for the definition in libc.  Don't
+@@ -73,6 +100,43 @@ ENTRY(STRCMP)
+ 2:    ret
+ END(STRCMP)
++# ifdef USE_AS_STRCASECMP_L
++ENTRY(__strcasecmp)
++      .type   __strcasecmp, @gnu_indirect_function
++      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
++      jne     1f
++      call    __init_cpu_features
++1:
++      leaq    __strcasecmp_sse42(%rip), %rax
++      testl   $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
++      jnz     2f
++      leaq    __strcasecmp_ssse3(%rip), %rax
++      testl   $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip)
++      jnz     2f
++      leaq    __strcasecmp_sse2(%rip), %rax
++2:    ret
++END(__strcasecmp)
++weak_alias (__strcasecmp, strcasecmp)
++# endif
++# ifdef USE_AS_STRNCASECMP_L
++ENTRY(__strncasecmp)
++      .type   __strncasecmp, @gnu_indirect_function
++      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
++      jne     1f
++      call    __init_cpu_features
++1:
++      leaq    __strncasecmp_sse42(%rip), %rax
++      testl   $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
++      jnz     2f
++      leaq    __strncasecmp_ssse3(%rip), %rax
++      testl   $bit_SSSE3, __cpu_features+CPUID_OFFSET+index_SSSE3(%rip)
++      jnz     2f
++      leaq    __strncasecmp_sse2(%rip), %rax
++2:    ret
++END(__strncasecmp)
++weak_alias (__strncasecmp, strncasecmp)
++# endif
++
+ /* We use 0x1a:
+       _SIDD_SBYTE_OPS
+       | _SIDD_CMP_EQUAL_EACH
+@@ -101,8 +165,31 @@ END(STRCMP)
+       /* Put all SSE 4.2 functions together.  */
+       .section .text.sse4.2,"ax",@progbits
+-      .align  16
++      .align  16
+       .type   STRCMP_SSE42, @function
++# ifdef USE_AS_STRCASECMP_L
++ENTRY (__strcasecmp_sse42)
++      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
++      movq    %fs:(%rax),%rdx
++
++      // XXX 5 byte should be before the function
++      /* 5-byte NOP.  */
++      .byte   0x0f,0x1f,0x44,0x00,0x00
++END (__strcasecmp_sse42)
++      /* FALLTHROUGH to strcasecmp_l.  */
++# endif
++# ifdef USE_AS_STRNCASECMP_L
++ENTRY (__strncasecmp_sse42)
++      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
++      movq    %fs:(%rax),%rcx
++
++      // XXX 5 byte should be before the function
++      /* 5-byte NOP.  */
++      .byte   0x0f,0x1f,0x44,0x00,0x00
++END (__strncasecmp_sse42)
++      /* FALLTHROUGH to strncasecmp_l.  */
++# endif
++
+ STRCMP_SSE42:
+       cfi_startproc
+       CALL_MCOUNT
+@@ -110,24 +197,87 @@ STRCMP_SSE42:
+ /*
+  * This implementation uses SSE to compare up to 16 bytes at a time.
+  */
+-#ifdef USE_AS_STRNCMP
++# ifdef USE_AS_STRCASECMP_L
++      /* We have to fall back on the C implementation for locales
++         with encodings not matching ASCII for single bytes.  */
++#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
++      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rdx), %rax
++#  else
++      movq    (%rdx), %rax
++#  endif
++      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
++      jne     __strcasecmp_l_nonascii
++# endif
++# ifdef USE_AS_STRNCASECMP_L
++      /* We have to fall back on the C implementation for locales
++         with encodings not matching ASCII for single bytes.  */
++#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
++      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax
++#  else
++      movq    (%rcx), %rax
++#  endif
++      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
++      jne     __strncasecmp_l_nonascii
++# endif
++
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       test    %rdx, %rdx
+       je      LABEL(strcmp_exitz_sse4_2)
+       cmp     $1, %rdx
+       je      LABEL(Byte0_sse4_2)
+       mov     %rdx, %r11
+-#endif
++# endif
+       mov     %esi, %ecx
+       mov     %edi, %eax
+ /* Use 64bit AND here to avoid long NOP padding.  */
+       and     $0x3f, %rcx             /* rsi alignment in cache line */
+       and     $0x3f, %rax             /* rdi alignment in cache line */
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      .section .rodata.cst16,"aM",@progbits,16
++      .align 16
++.Lbelowupper_sse4:
++      .quad   0x4040404040404040
++      .quad   0x4040404040404040
++.Ltopupper_sse4:
++      .quad   0x5b5b5b5b5b5b5b5b
++      .quad   0x5b5b5b5b5b5b5b5b
++.Ltouppermask_sse4:
++      .quad   0x2020202020202020
++      .quad   0x2020202020202020
++      .previous
++      movdqa  .Lbelowupper_sse4(%rip), %xmm4
++#  define UCLOW_reg %xmm4
++      movdqa  .Ltopupper_sse4(%rip), %xmm5
++#  define UCHIGH_reg %xmm5
++      movdqa  .Ltouppermask_sse4(%rip), %xmm6
++#  define LCQWORD_reg %xmm6
++# endif
+       cmp     $0x30, %ecx
+       ja      LABEL(crosscache_sse4_2)/* rsi: 16-byte load will cross cache line */
+       cmp     $0x30, %eax
+       ja      LABEL(crosscache_sse4_2)/* rdi: 16-byte load will cross cache line */
+       movdqu  (%rdi), %xmm1
+       movdqu  (%rsi), %xmm2
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++#  define TOLOWER(reg1, reg2) \
++      movdqa  reg1, %xmm7;                                    \
++      movdqa  UCHIGH_reg, %xmm8;                              \
++      movdqa  reg2, %xmm9;                                    \
++      movdqa  UCHIGH_reg, %xmm10;                             \
++      pcmpgtb UCLOW_reg, %xmm7;                               \
++      pcmpgtb reg1, %xmm8;                                    \
++      pcmpgtb UCLOW_reg, %xmm9;                               \
++      pcmpgtb reg2, %xmm10;                                   \
++      pand    %xmm8, %xmm7;                                   \
++      pand    %xmm10, %xmm9;                                  \
++      pand    LCQWORD_reg, %xmm7;                             \
++      pand    LCQWORD_reg, %xmm9;                             \
++      por     %xmm7, reg1;                                    \
++      por     %xmm9, reg2
++      TOLOWER (%xmm1, %xmm2)
++# else
++#  define TOLOWER(reg1, reg2)
++# endif
+       pxor    %xmm0, %xmm0            /* clear %xmm0 for null char checks */
+       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
+       pcmpeqb %xmm2, %xmm1            /* compare first 16 bytes for equality */
+@@ -135,10 +285,10 @@ STRCMP_SSE42:
+       pmovmskb %xmm1, %edx
+       sub     $0xffff, %edx           /* if first 16 bytes are same, edx == 0xffff */
+       jnz     LABEL(less16bytes_sse4_2)/* If not, find different value or null char */
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)/* finish comparision */
+-#endif
++# endif
+       add     $16, %rsi               /* prepare to search next 16 bytes */
+       add     $16, %rdi               /* prepare to search next 16 bytes */
+@@ -180,7 +330,13 @@ LABEL(ashr_0_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pxor    %xmm0, %xmm0                    /* clear %xmm0 for null char check */
+       pcmpeqb %xmm1, %xmm0                    /* Any null chars? */
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpeqb (%rdi), %xmm1                   /* compare 16 bytes for equality */
++# else
++      movdqa  (%rdi), %xmm2
++      TOLOWER (%xmm1, %xmm2)
++      pcmpeqb %xmm2, %xmm1                    /* compare 16 bytes for equality */
++# endif
+       psubb   %xmm0, %xmm1                    /* packed sub of comparison results*/
+       pmovmskb %xmm1, %r9d
+       shr     %cl, %edx                       /* adjust 0xffff for offset */
+@@ -204,44 +360,60 @@ LABEL(ashr_0_sse4_2):
+       .p2align 4
+ LABEL(ashr_0_use_sse4_2):
+       movdqa  (%rdi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       lea     16(%rdx), %rdx
+       jbe     LABEL(ashr_0_use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       movdqa  (%rdi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       lea     16(%rdx), %rdx
+       jbe     LABEL(ashr_0_use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       jmp     LABEL(ashr_0_use_sse4_2)
+       .p2align 4
+ LABEL(ashr_0_use_sse4_2_exit):
+       jnc     LABEL(strcmp_exitz_sse4_2)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     %rcx, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       lea     -16(%rdx, %rcx), %rcx
+       movzbl  (%rdi, %rcx), %eax
+       movzbl  (%rsi, %rcx), %edx
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rcx
++      movl    (%rcx,%rax,4), %eax
++      movl    (%rcx,%rdx,4), %edx
++# endif
+       sub     %edx, %eax
+       ret
+-
+ /*
+  * The following cases will be handled by ashr_1
+- * rcx(offset of rsi)  rax(offset of rdi)   relative offset           corresponding case
++ * rcx(offset of rsi)  rax(offset of rdi)   relative offset   corresponding case
+  *        n(15)            n -15            0(15 +(n-15) - n)         ashr_1
+  */
+       .p2align 4
+@@ -251,6 +423,7 @@ LABEL(ashr_1_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
+       pslldq  $15, %xmm2              /* shift first string to align with second */
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2            /* compare 16 bytes for equality */
+       psubb   %xmm0, %xmm2            /* packed sub of comparison results*/
+       pmovmskb %xmm2, %r9d
+@@ -281,12 +454,18 @@ LABEL(loop_ashr_1_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $1, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -294,12 +473,18 @@ LABEL(loop_ashr_1_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $1, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_1_use_sse4_2)
+@@ -309,10 +494,10 @@ LABEL(nibble_ashr_1_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $1, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $14, %ecx
+       ja      LABEL(loop_ashr_1_use_sse4_2)
+@@ -320,7 +505,7 @@ LABEL(nibble_ashr_1_use_sse4_2):
+ /*
+  * The following cases will be handled by ashr_2
+- * rcx(offset of rsi)  rax(offset of rdi)   relative offset           corresponding case
++ * rcx(offset of rsi)  rax(offset of rdi)   relative offset   corresponding case
+  *        n(14~15)            n -14         1(15 +(n-14) - n)         ashr_2
+  */
+       .p2align 4
+@@ -330,6 +515,7 @@ LABEL(ashr_2_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $14, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -360,12 +546,18 @@ LABEL(loop_ashr_2_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $2, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -373,12 +565,18 @@ LABEL(loop_ashr_2_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $2, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_2_use_sse4_2)
+@@ -388,10 +586,10 @@ LABEL(nibble_ashr_2_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $2, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $13, %ecx
+       ja      LABEL(loop_ashr_2_use_sse4_2)
+@@ -409,6 +607,7 @@ LABEL(ashr_3_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $13, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -439,12 +638,18 @@ LABEL(loop_ashr_3_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $3, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -452,12 +657,18 @@ LABEL(loop_ashr_3_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $3, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_3_use_sse4_2)
+@@ -467,10 +678,10 @@ LABEL(nibble_ashr_3_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $3, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $12, %ecx
+       ja      LABEL(loop_ashr_3_use_sse4_2)
+@@ -488,6 +699,7 @@ LABEL(ashr_4_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $12, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -519,12 +731,18 @@ LABEL(loop_ashr_4_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $4, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -532,12 +750,18 @@ LABEL(loop_ashr_4_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $4, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_4_use_sse4_2)
+@@ -547,10 +771,10 @@ LABEL(nibble_ashr_4_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $4, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $11, %ecx
+       ja      LABEL(loop_ashr_4_use_sse4_2)
+@@ -559,7 +783,7 @@ LABEL(nibble_ashr_4_use_sse4_2):
+ /*
+  * The following cases will be handled by ashr_5
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(11~15)          n - 11              4(15 +(n-11) - n)         ashr_5
++ *        n(11~15)          n - 11              4(15 +(n-11) - n)         ashr_5
+  */
+       .p2align 4
+ LABEL(ashr_5_sse4_2):
+@@ -568,6 +792,7 @@ LABEL(ashr_5_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $11, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -599,12 +824,18 @@ LABEL(loop_ashr_5_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $5, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -613,12 +844,18 @@ LABEL(loop_ashr_5_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $5, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_5_use_sse4_2)
+@@ -628,10 +865,10 @@ LABEL(nibble_ashr_5_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $5, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $10, %ecx
+       ja      LABEL(loop_ashr_5_use_sse4_2)
+@@ -640,7 +877,7 @@ LABEL(nibble_ashr_5_use_sse4_2):
+ /*
+  * The following cases will be handled by ashr_6
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(10~15)          n - 10              5(15 +(n-10) - n)         ashr_6
++ *        n(10~15)          n - 10              5(15 +(n-10) - n)         ashr_6
+  */
+       .p2align 4
+ LABEL(ashr_6_sse4_2):
+@@ -649,6 +886,7 @@ LABEL(ashr_6_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $10, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -680,12 +918,18 @@ LABEL(loop_ashr_6_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $6, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -693,12 +937,18 @@ LABEL(loop_ashr_6_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $6, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_6_use_sse4_2)
+@@ -708,10 +958,10 @@ LABEL(nibble_ashr_6_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $6, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $9, %ecx
+       ja      LABEL(loop_ashr_6_use_sse4_2)
+@@ -720,7 +970,7 @@ LABEL(nibble_ashr_6_use_sse4_2):
+ /*
+  * The following cases will be handled by ashr_7
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(9~15)          n - 9                      6(15 +(n - 9) - n)         ashr_7
++ *        n(9~15)          n - 9                6(15 +(n - 9) - n)         ashr_7
+  */
+       .p2align 4
+ LABEL(ashr_7_sse4_2):
+@@ -729,6 +979,7 @@ LABEL(ashr_7_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $9, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -760,12 +1011,18 @@ LABEL(loop_ashr_7_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $7, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -773,12 +1030,18 @@ LABEL(loop_ashr_7_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $7, -16(%rdi, %rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_7_use_sse4_2)
+@@ -788,10 +1051,10 @@ LABEL(nibble_ashr_7_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $7, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $8, %ecx
+       ja      LABEL(loop_ashr_7_use_sse4_2)
+@@ -800,7 +1063,7 @@ LABEL(nibble_ashr_7_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_8
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(8~15)          n - 8                      7(15 +(n - 8) - n)         ashr_8
++ *        n(8~15)          n - 8                7(15 +(n - 8) - n)         ashr_8
+  */
+       .p2align 4
+ LABEL(ashr_8_sse4_2):
+@@ -809,6 +1072,7 @@ LABEL(ashr_8_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $8, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -840,12 +1104,18 @@ LABEL(loop_ashr_8_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $8, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -853,12 +1123,18 @@ LABEL(loop_ashr_8_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $8, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_8_use_sse4_2)
+@@ -868,10 +1144,10 @@ LABEL(nibble_ashr_8_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $8, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $7, %ecx
+       ja      LABEL(loop_ashr_8_use_sse4_2)
+@@ -880,7 +1156,7 @@ LABEL(nibble_ashr_8_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_9
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(7~15)          n - 7                      8(15 +(n - 7) - n)         ashr_9
++ *        n(7~15)          n - 7                8(15 +(n - 7) - n)         ashr_9
+  */
+       .p2align 4
+ LABEL(ashr_9_sse4_2):
+@@ -889,6 +1165,7 @@ LABEL(ashr_9_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $7, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -921,12 +1198,18 @@ LABEL(loop_ashr_9_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $9, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -934,12 +1217,18 @@ LABEL(loop_ashr_9_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $9, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_9_use_sse4_2)
+@@ -949,10 +1238,10 @@ LABEL(nibble_ashr_9_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $9, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $6, %ecx
+       ja      LABEL(loop_ashr_9_use_sse4_2)
+@@ -961,7 +1250,7 @@ LABEL(nibble_ashr_9_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_10
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(6~15)          n - 6                      9(15 +(n - 6) - n)         ashr_10
++ *        n(6~15)          n - 6                9(15 +(n - 6) - n)         ashr_10
+  */
+       .p2align 4
+ LABEL(ashr_10_sse4_2):
+@@ -970,6 +1259,7 @@ LABEL(ashr_10_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $6, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1001,12 +1291,18 @@ LABEL(loop_ashr_10_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $10, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -1014,12 +1310,18 @@ LABEL(loop_ashr_10_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $10, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_10_use_sse4_2)
+@@ -1029,10 +1331,10 @@ LABEL(nibble_ashr_10_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $10, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $5, %ecx
+       ja      LABEL(loop_ashr_10_use_sse4_2)
+@@ -1041,7 +1343,7 @@ LABEL(nibble_ashr_10_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_11
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(5~15)          n - 5                      10(15 +(n - 5) - n)         ashr_11
++ *        n(5~15)          n - 5                10(15 +(n - 5) - n)         ashr_11
+  */
+       .p2align 4
+ LABEL(ashr_11_sse4_2):
+@@ -1050,6 +1352,7 @@ LABEL(ashr_11_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $5, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1081,12 +1384,18 @@ LABEL(loop_ashr_11_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $11, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -1094,12 +1403,18 @@ LABEL(loop_ashr_11_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $11, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_11_use_sse4_2)
+@@ -1109,10 +1424,10 @@ LABEL(nibble_ashr_11_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $11, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $4, %ecx
+       ja      LABEL(loop_ashr_11_use_sse4_2)
+@@ -1121,7 +1436,7 @@ LABEL(nibble_ashr_11_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_12
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(4~15)          n - 4                      11(15 +(n - 4) - n)         ashr_12
++ *        n(4~15)          n - 4                11(15 +(n - 4) - n)         ashr_12
+  */
+       .p2align 4
+ LABEL(ashr_12_sse4_2):
+@@ -1130,6 +1445,7 @@ LABEL(ashr_12_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $4, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1161,12 +1477,18 @@ LABEL(loop_ashr_12_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $12, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -1174,12 +1496,18 @@ LABEL(loop_ashr_12_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $12, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_12_use_sse4_2)
+@@ -1189,10 +1517,10 @@ LABEL(nibble_ashr_12_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $12, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $3, %ecx
+       ja      LABEL(loop_ashr_12_use_sse4_2)
+@@ -1201,7 +1529,7 @@ LABEL(nibble_ashr_12_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_13
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(3~15)          n - 3                      12(15 +(n - 3) - n)         ashr_13
++ *        n(3~15)          n - 3                12(15 +(n - 3) - n)         ashr_13
+  */
+       .p2align 4
+ LABEL(ashr_13_sse4_2):
+@@ -1210,6 +1538,7 @@ LABEL(ashr_13_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $3, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1242,12 +1571,18 @@ LABEL(loop_ashr_13_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $13, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -1255,12 +1590,18 @@ LABEL(loop_ashr_13_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $13, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_13_use_sse4_2)
+@@ -1270,10 +1611,10 @@ LABEL(nibble_ashr_13_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $13, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $2, %ecx
+       ja      LABEL(loop_ashr_13_use_sse4_2)
+@@ -1282,7 +1623,7 @@ LABEL(nibble_ashr_13_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_14
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(2~15)          n - 2                      13(15 +(n - 2) - n)         ashr_14
++ *        n(2~15)          n - 2                13(15 +(n - 2) - n)         ashr_14
+  */
+       .p2align 4
+ LABEL(ashr_14_sse4_2):
+@@ -1291,6 +1632,7 @@ LABEL(ashr_14_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $2, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1323,12 +1665,18 @@ LABEL(loop_ashr_14_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $14, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -1336,12 +1684,18 @@ LABEL(loop_ashr_14_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $14, -16(%rdi, %rdx), %xmm0
+-      pcmpistri       $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_14_use_sse4_2)
+@@ -1351,10 +1705,10 @@ LABEL(nibble_ashr_14_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $14, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $1, %ecx
+       ja      LABEL(loop_ashr_14_use_sse4_2)
+@@ -1363,7 +1717,7 @@ LABEL(nibble_ashr_14_use_sse4_2):
+ /*
+  *  The following cases will be handled by ashr_15
+  *  rcx(offset of rsi)  rax(offset of rdi)        relative offset      corresponding case
+- *        n(1~15)          n - 1                      14(15 +(n - 1) - n)         ashr_15
++ *        n(1~15)          n - 1                14(15 +(n - 1) - n)         ashr_15
+  */
+       .p2align 4
+ LABEL(ashr_15_sse4_2):
+@@ -1372,6 +1726,7 @@ LABEL(ashr_15_sse4_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $1, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1406,12 +1761,18 @@ LABEL(loop_ashr_15_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $15, -16(%rdi, %rdx), %xmm0
+-      pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       add     $16, %r10
+@@ -1419,12 +1780,18 @@ LABEL(loop_ashr_15_use_sse4_2):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $15, -16(%rdi, %rdx), %xmm0
+-      pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
++      pcmpistri $0x1a, (%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       jbe     LABEL(use_sse4_2_exit)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     $16, %rdx
+       jmp     LABEL(loop_ashr_15_use_sse4_2)
+@@ -1434,22 +1801,28 @@ LABEL(nibble_ashr_15_use_sse4_2):
+       movdqa  -16(%rdi, %rdx), %xmm0
+       psrldq  $15, %xmm0
+       pcmpistri      $0x3a,%xmm0, %xmm0
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       cmp     %r11, %rcx
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+-#endif
++# endif
+       cmp     $0, %ecx
+       ja      LABEL(loop_ashr_15_use_sse4_2)
+ LABEL(nibble_ashr_use_sse4_2_exit):
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpistri      $0x1a,(%rsi,%rdx), %xmm0
++# else
++      movdqa  (%rsi,%rdx), %xmm1
++      TOLOWER (%xmm0, %xmm1)
++      pcmpistri $0x1a, %xmm1, %xmm0
++# endif
+       .p2align 4
+ LABEL(use_sse4_2_exit):
+       jnc     LABEL(strcmp_exitz_sse4_2)
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     %rcx, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       add     %rcx, %rdx
+       lea     -16(%rdi, %r9), %rdi
+       movzbl  (%rdi, %rdx), %eax
+@@ -1458,6 +1831,12 @@ LABEL(use_sse4_2_exit):
+       jz      LABEL(use_sse4_2_ret_sse4_2)
+       xchg    %eax, %edx
+ LABEL(use_sse4_2_ret_sse4_2):
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rcx
++      movl    (%rcx,%rdx,4), %edx
++      movl    (%rcx,%rax,4), %eax
++# endif
++
+       sub     %edx, %eax
+       ret
+@@ -1473,13 +1852,19 @@ LABEL(ret_sse4_2):
+ LABEL(less16bytes_sse4_2):
+       bsf     %rdx, %rdx              /* find and store bit index in %rdx */
+-#ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     %rdx, %r11
+       jbe     LABEL(strcmp_exitz_sse4_2)
+-#endif
++# endif
+       movzbl  (%rsi, %rdx), %ecx
+       movzbl  (%rdi, %rdx), %eax
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
++      movl    (%rdx,%rcx,4), %ecx
++      movl    (%rdx,%rax,4), %eax
++# endif
++
+       sub     %ecx, %eax
+       ret
+@@ -1488,15 +1873,27 @@ LABEL(strcmp_exitz_sse4_2):
+       ret
+       .p2align 4
++      // XXX Same as code above
+ LABEL(Byte0_sse4_2):
+       movzx   (%rsi), %ecx
+       movzx   (%rdi), %eax
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
++      movl    (%rdx,%rcx,4), %ecx
++      movl    (%rdx,%rax,4), %eax
++# endif
++
+       sub     %ecx, %eax
+       ret
+       cfi_endproc
+       .size   STRCMP_SSE42, .-STRCMP_SSE42
++# undef UCLOW_reg
++# undef UCHIGH_reg
++# undef LCQWORD_reg
++# undef TOLOWER
++
+       /* Put all SSE 4.2 functions together.  */
+       .section .rodata.sse4.2,"a",@progbits
+       .p2align 3
+@@ -1528,6 +1925,27 @@ LABEL(unaligned_table_sse4_2):
+ # undef END
+ # define END(name) \
+       cfi_endproc; .size STRCMP_SSE2, .-STRCMP_SSE2
++
++# ifdef USE_AS_STRCASECMP_L
++#  define ENTRY2(name) \
++      .type __strcasecmp_sse2, @function; \
++      .align 16; \
++      __strcasecmp_sse2: cfi_startproc; \
++      CALL_MCOUNT
++#  define END2(name) \
++      cfi_endproc; .size __strcasecmp_sse2, .-__strcasecmp_sse2
++# endif
++
++# ifdef USE_AS_STRNCASECMP_L
++#  define ENTRY2(name) \
++      .type __strncasecmp_sse2, @function; \
++      .align 16; \
++      __strncasecmp_sse2: cfi_startproc; \
++      CALL_MCOUNT
++#  define END2(name) \
++      cfi_endproc; .size __strncasecmp_sse2, .-__strncasecmp_sse2
++# endif
++
+ # undef libc_hidden_builtin_def
+ /* It doesn't make sense to send libc-internal strcmp calls through a PLT.
+    The speedup we get from using SSE4.2 instruction is likely eaten away
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l-ssse3.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l-ssse3.S
+@@ -0,0 +1,6 @@
++#define USE_SSSE3 1
++#define USE_AS_STRNCASECMP_L
++#define NO_NOLOCALE_ALIAS
++#define STRCMP __strncasecmp_l_ssse3
++#define __strncasecmp __strncasecmp_ssse3
++#include "../strcmp.S"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strncase_l.S
+@@ -0,0 +1,6 @@
++#define STRCMP __strncasecmp_l
++#define USE_AS_STRNCASECMP_L
++#include "strcmp.S"
++
++weak_alias (__strncasecmp_l, strncasecmp_l)
++libc_hidden_def (strncasecmp_l)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strstr.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strstr.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strstr.c
+@@ -67,10 +67,10 @@
+    case               ECX     CFlag   ZFlag   SFlag
+     3          X        1       0       0/1
+-    4a                 0        1       0       0
+-    4b                 0        1       0       1
+-    4c                0 < X     1       0       0/1
+-    5         16        0       1       0
++    4a                 0        1       0       0
++    4b                 0        1       0       1
++    4c                0 < X     1       0       0/1
++    5         16        0       1       0
+    3. An initial ordered-comparison fragment match, we fix up to do
+       subsequent string comparison
+@@ -147,8 +147,7 @@ __m128i_shift_right (__m128i value, int 
+    If EOS occurs within less than 16B before 4KB boundary, we don't
+    cross to next page.  */
+-static __m128i
+-__attribute__ ((section (".text.sse4.2")))
++static inline __m128i
+ __m128i_strloadu (const unsigned char * p)
+ {
+   int offset = ((size_t) p & (16 - 1));
+@@ -164,59 +163,36 @@ __m128i_strloadu (const unsigned char * 
+   return _mm_loadu_si128 ((__m128i *) p);
+ }
+-#ifdef USE_AS_STRCASESTR
++#if defined USE_AS_STRCASESTR && !defined STRCASESTR_NONASCII
+ /* Similar to __m128i_strloadu.  Convert to lower case for POSIX/C
+    locale.  */
+-
+-static __m128i
+-__attribute__ ((section (".text.sse4.2")))
+-__m128i_strloadu_tolower_posix (const unsigned char * p)
++static inline __m128i
++__m128i_strloadu_tolower (const unsigned char *p, __m128i rangeuc,
++                        __m128i u2ldelta)
+ {
+   __m128i frag = __m128i_strloadu (p);
+-  /* Convert frag to lower case for POSIX/C locale.  */
+-  __m128i rangeuc = _mm_set_epi64x (0x0, 0x5a41);
+-  __m128i u2ldelta = _mm_set1_epi64x (0xe0e0e0e0e0e0e0e0);
+-  __m128i mask1 = _mm_cmpistrm (rangeuc, frag, 0x44);
+-  __m128i mask2 = _mm_blendv_epi8 (u2ldelta, frag, mask1);
+-  mask2 = _mm_sub_epi8 (mask2, u2ldelta);
+-  return  _mm_blendv_epi8 (frag, mask2, mask1);
++#define UCLOW 0x4040404040404040ULL
++#define UCHIGH 0x5b5b5b5b5b5b5b5bULL
++#define LCQWORD 0x2020202020202020ULL
++  /* Compare if 'Z' > bytes. Inverted way to get a mask for byte <= 'Z'.  */
++  __m128i r2 = _mm_cmpgt_epi8 (_mm_set1_epi64x (UCHIGH), frag);
++  /* Compare if bytes are > 'A' - 1.  */
++  __m128i r1 = _mm_cmpgt_epi8 (frag, _mm_set1_epi64x (UCLOW));
++  /* Mask byte == ff if byte(r2) <= 'Z' and byte(r1) > 'A' - 1.  */
++  __m128i mask = _mm_and_si128 (r2, r1);
++  /* Apply lowercase bit 6 mask for above mask bytes == ff.  */
++  return _mm_or_si128 (frag, _mm_and_si128 (mask, _mm_set1_epi64x (LCQWORD)));
+ }
+-/* Similar to __m128i_strloadu.  Convert to lower case for none-POSIX/C
+-   locale.  */
+-
+-static __m128i
+-__attribute__ ((section (".text.sse4.2")))
+-__m128i_strloadu_tolower (const unsigned char * p)
+-{
+-  union
+-    {
+-      char b[16];
+-      __m128i x;
+-    } u;
+-
+-  for (int i = 0; i < 16; i++)
+-    if (p[i] == 0)
+-      {
+-      u.b[i] = 0;
+-      break;
+-      }
+-    else
+-      u.b[i] = tolower (p[i]);
+-
+-  return u.x;
+-}
+ #endif
+ /* Calculate Knuth-Morris-Pratt string searching algorithm (or KMP
+    algorithm) overlap for a fully populated 16B vector.
+    Input parameter: 1st 16Byte loaded from the reference string of a
+                   strstr function.
+-   We don't use KMP algorithm if reference string is less than 16B.
+- */
+-
++   We don't use KMP algorithm if reference string is less than 16B.  */
+ static int
+ __inline__ __attribute__ ((__always_inline__,))
+ KMP16Bovrlap (__m128i s2)
+@@ -236,7 +212,7 @@ KMP16Bovrlap (__m128i s2)
+     return 1;
+   else if (!k1)
+     {
+-      /* There are al least two ditinct char in s2.  If byte 0 and 1 are
++      /* There are al least two distinct chars in s2.  If byte 0 and 1 are
+        idential and the distinct value lies farther down, we can deduce
+        the next byte offset to restart full compare is least no earlier
+        than byte 3.  */
+@@ -256,23 +232,30 @@ STRSTR_SSE42 (const unsigned char *s1, c
+ #define p1 s1
+   const unsigned char *p2 = s2;
+-  if (p2[0] == '\0')
++#ifndef STRCASESTR_NONASCII
++  if (__builtin_expect (p2[0] == '\0', 0))
+     return (char *) p1;
+-  if (p1[0] == '\0')
++  if (__builtin_expect (p1[0] == '\0', 0))
+     return NULL;
+   /* Check if p1 length is 1 byte long.  */
+-  if (p1[1] == '\0')
++  if (__builtin_expect (p1[1] == '\0', 0))
+     return p2[1] == '\0' && CMPBYTE (p1[0], p2[0]) ? (char *) p1 : NULL;
++#endif
+ #ifdef USE_AS_STRCASESTR
+-  __m128i (*strloadu) (const unsigned char *);
+-
+-  if (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_NONASCII_CASE) == 0)
+-    strloadu = __m128i_strloadu_tolower_posix;
+-  else
+-    strloadu = __m128i_strloadu_tolower;
++# ifndef STRCASESTR_NONASCII
++  if (__builtin_expect (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_NONASCII_CASE)
++                      != 0, 0))
++    return __strcasestr_sse42_nonascii (s1, s2);
++
++  const __m128i rangeuc = _mm_set_epi64x (0x0, 0x5a41);
++  const __m128i u2ldelta = _mm_set1_epi64x (0xe0e0e0e0e0e0e0e0);
++#  define strloadu(p) __m128i_strloadu_tolower (p, rangeuc, u2ldelta)
++# else
++#  define strloadu __m128i_strloadu_tolower
++# endif
+ #else
+ # define strloadu __m128i_strloadu
+ #endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp.S
+@@ -0,0 +1 @@
++/* In strcasecmp_l.S.  */
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l-nonascii.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l-nonascii.c
+@@ -0,0 +1,8 @@
++#include <string.h>
++
++extern int __strcasecmp_l_nonascii (__const char *__s1, __const char *__s2,
++                                  __locale_t __loc);
++
++#define __strcasecmp_l __strcasecmp_l_nonascii
++#define USE_IN_EXTENDED_LOCALE_MODEL    1
++#include <string/strcasecmp.c>
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcasecmp_l.S
+@@ -0,0 +1,6 @@
++#define STRCMP __strcasecmp_l
++#define USE_AS_STRCASECMP_L
++#include "strcmp.S"
++
++weak_alias (__strcasecmp_l, strcasecmp_l)
++libc_hidden_def (strcasecmp_l)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcmp.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/strcmp.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strcmp.S
+@@ -51,6 +51,31 @@
+       je      LABEL(strcmp_exitz);                    \
+       mov     %r9, %r11
++#elif defined USE_AS_STRCASECMP_L
++# include "locale-defines.h"
++
++/* No support for strcasecmp outside libc so far since it is not needed.  */
++# ifdef NOT_IN_lib
++#  error "strcasecmp_l not implemented so far"
++# endif
++
++# define UPDATE_STRNCMP_COUNTER
++#elif defined USE_AS_STRNCASECMP_L
++# include "locale-defines.h"
++
++/* No support for strncasecmp outside libc so far since it is not needed.  */
++# ifdef NOT_IN_lib
++#  error "strncasecmp_l not implemented so far"
++# endif
++
++# define UPDATE_STRNCMP_COUNTER                               \
++      /* calculate left number to compare */          \
++      lea     -16(%rcx, %r11), %r9;                   \
++      cmp     %r9, %r11;                              \
++      jb      LABEL(strcmp_exitz);                    \
++      test    %r9, %r9;                               \
++      je      LABEL(strcmp_exitz);                    \
++      mov     %r9, %r11
+ #else
+ # define UPDATE_STRNCMP_COUNTER
+ # ifndef STRCMP
+@@ -64,6 +89,46 @@
+       .section .text.ssse3,"ax",@progbits
+ #endif
++#ifdef USE_AS_STRCASECMP_L
++# ifndef ENTRY2
++#  define ENTRY2(name) ENTRY (name)
++#  define END2(name) END (name)
++# endif
++
++ENTRY2 (__strcasecmp)
++      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
++      movq    %fs:(%rax),%rdx
++
++      // XXX 5 byte should be before the function
++      /* 5-byte NOP.  */
++      .byte   0x0f,0x1f,0x44,0x00,0x00
++END2 (__strcasecmp)
++# ifndef NO_NOLOCALE_ALIAS
++weak_alias (__strcasecmp, strcasecmp)
++libc_hidden_def (__strcasecmp)
++# endif
++      /* FALLTHROUGH to strcasecmp_l.  */
++#elif defined USE_AS_STRNCASECMP_L
++# ifndef ENTRY2
++#  define ENTRY2(name) ENTRY (name)
++#  define END2(name) END (name)
++# endif
++
++ENTRY2 (__strncasecmp)
++      movq    __libc_tsd_LOCALE@gottpoff(%rip),%rax
++      movq    %fs:(%rax),%rcx
++
++      // XXX 5 byte should be before the function
++      /* 5-byte NOP.  */
++      .byte   0x0f,0x1f,0x44,0x00,0x00
++END2 (__strncasecmp)
++# ifndef NO_NOLOCALE_ALIAS
++weak_alias (__strncasecmp, strncasecmp)
++libc_hidden_def (__strncasecmp)
++# endif
++      /* FALLTHROUGH to strncasecmp_l.  */
++#endif
++
+ ENTRY (BP_SYM (STRCMP))
+ #ifdef NOT_IN_libc
+ /* Simple version since we can't use SSE registers in ld.so.  */
+@@ -84,10 +149,32 @@ L(neq):   movl    $1, %eax
+       ret
+ END (BP_SYM (STRCMP))
+ #else /* NOT_IN_libc */
++# ifdef USE_AS_STRCASECMP_L
++      /* We have to fall back on the C implementation for locales
++         with encodings not matching ASCII for single bytes.  */
++#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
++      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rdx), %rax
++#  else
++      movq    (%rdx), %rax
++#  endif
++      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
++      jne     __strcasecmp_l_nonascii
++# elif defined USE_AS_STRNCASECMP_L
++      /* We have to fall back on the C implementation for locales
++         with encodings not matching ASCII for single bytes.  */
++#  if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
++      movq    LOCALE_T___LOCALES+LC_CTYPE*8(%rcx), %rax
++#  else
++      movq    (%rcx), %rax
++#  endif
++      testl   $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
++      jne     __strncasecmp_l_nonascii
++# endif
++
+ /*
+  * This implementation uses SSE to compare up to 16 bytes at a time.
+  */
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       test    %rdx, %rdx
+       je      LABEL(strcmp_exitz)
+       cmp     $1, %rdx
+@@ -99,6 +186,26 @@ END (BP_SYM (STRCMP))
+ /* Use 64bit AND here to avoid long NOP padding.  */
+       and     $0x3f, %rcx             /* rsi alignment in cache line */
+       and     $0x3f, %rax             /* rdi alignment in cache line */
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      .section .rodata.cst16,"aM",@progbits,16
++      .align 16
++.Lbelowupper:
++      .quad   0x4040404040404040
++      .quad   0x4040404040404040
++.Ltopupper:
++      .quad   0x5b5b5b5b5b5b5b5b
++      .quad   0x5b5b5b5b5b5b5b5b
++.Ltouppermask:
++      .quad   0x2020202020202020
++      .quad   0x2020202020202020
++      .previous
++      movdqa  .Lbelowupper(%rip), %xmm5
++#  define UCLOW_reg %xmm5
++      movdqa  .Ltopupper(%rip), %xmm6
++#  define UCHIGH_reg %xmm6
++      movdqa  .Ltouppermask(%rip), %xmm7
++#  define LCQWORD_reg %xmm7
++# endif
+       cmp     $0x30, %ecx
+       ja      LABEL(crosscache)       /* rsi: 16-byte load will cross cache line */
+       cmp     $0x30, %eax
+@@ -107,6 +214,26 @@ END (BP_SYM (STRCMP))
+       movlpd  (%rsi), %xmm2
+       movhpd  8(%rdi), %xmm1
+       movhpd  8(%rsi), %xmm2
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++#  define TOLOWER(reg1, reg2) \
++      movdqa  reg1, %xmm8;                                    \
++      movdqa  UCHIGH_reg, %xmm9;                              \
++      movdqa  reg2, %xmm10;                                   \
++      movdqa  UCHIGH_reg, %xmm11;                             \
++      pcmpgtb UCLOW_reg, %xmm8;                               \
++      pcmpgtb reg1, %xmm9;                                    \
++      pcmpgtb UCLOW_reg, %xmm10;                              \
++      pcmpgtb reg2, %xmm11;                                   \
++      pand    %xmm9, %xmm8;                                   \
++      pand    %xmm11, %xmm10;                                 \
++      pand    LCQWORD_reg, %xmm8;                             \
++      pand    LCQWORD_reg, %xmm10;                            \
++      por     %xmm8, reg1;                                    \
++      por     %xmm10, reg2
++      TOLOWER (%xmm1, %xmm2)
++# else
++#  define TOLOWER(reg1, reg2)
++# endif
+       pxor    %xmm0, %xmm0            /* clear %xmm0 for null char checks */
+       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
+       pcmpeqb %xmm2, %xmm1            /* compare first 16 bytes for equality */
+@@ -114,7 +241,7 @@ END (BP_SYM (STRCMP))
+       pmovmskb %xmm1, %edx
+       sub     $0xffff, %edx           /* if first 16 bytes are same, edx == 0xffff */
+       jnz     LABEL(less16bytes)      /* If not, find different value or null char */
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)     /* finish comparision */
+ # endif
+@@ -159,7 +286,13 @@ LABEL(ashr_0):
+       movdqa  (%rsi), %xmm1
+       pxor    %xmm0, %xmm0                    /* clear %xmm0 for null char check */
+       pcmpeqb %xmm1, %xmm0                    /* Any null chars? */
++# if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+       pcmpeqb (%rdi), %xmm1                   /* compare 16 bytes for equality */
++# else
++      movdqa  (%rdi), %xmm2
++      TOLOWER (%xmm1, %xmm2)
++      pcmpeqb %xmm2, %xmm1                    /* compare 16 bytes for equality */
++# endif
+       psubb   %xmm0, %xmm1                    /* packed sub of comparison results*/
+       pmovmskb %xmm1, %r9d
+       shr     %cl, %edx                       /* adjust 0xffff for offset */
+@@ -183,6 +316,7 @@ LABEL(ashr_0):
+ LABEL(loop_ashr_0):
+       movdqa  (%rsi, %rcx), %xmm1
+       movdqa  (%rdi, %rcx), %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -191,13 +325,14 @@ LABEL(loop_ashr_0):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)             /* mismatch or null char seen */
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+       add     $16, %rcx
+       movdqa  (%rsi, %rcx), %xmm1
+       movdqa  (%rdi, %rcx), %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -205,7 +340,7 @@ LABEL(loop_ashr_0):
+       pmovmskb %xmm1, %edx
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -214,7 +349,7 @@ LABEL(loop_ashr_0):
+ /*
+  * The following cases will be handled by ashr_1
+- * rcx(offset of rsi)  rax(offset of rdi)   relative offset           corresponding case
++ * rcx(offset of rsi)  rax(offset of rdi)   relative offset   corresponding case
+  *        n(15)            n -15            0(15 +(n-15) - n)         ashr_1
+  */
+       .p2align 4
+@@ -224,6 +359,7 @@ LABEL(ashr_1):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0            /* Any null chars? */
+       pslldq  $15, %xmm2              /* shift first string to align with second */
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2            /* compare 16 bytes for equality */
+       psubb   %xmm0, %xmm2            /* packed sub of comparison results*/
+       pmovmskb %xmm2, %r9d
+@@ -263,6 +399,7 @@ LABEL(gobble_ashr_1):
+ # else
+       palignr $1, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -271,7 +408,7 @@ LABEL(gobble_ashr_1):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -292,6 +429,7 @@ LABEL(gobble_ashr_1):
+ # else
+       palignr $1, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -300,7 +438,7 @@ LABEL(gobble_ashr_1):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -319,8 +457,8 @@ LABEL(nibble_ashr_1):
+       test    $0xfffe, %edx
+       jnz     LABEL(ashr_1_exittail)  /* find null char*/
+-# ifdef USE_AS_STRNCMP
+-      cmp     $14, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $15, %r11
+       jbe     LABEL(ashr_1_exittail)
+ # endif
+@@ -351,6 +489,7 @@ LABEL(ashr_2):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $14, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -390,6 +529,7 @@ LABEL(gobble_ashr_2):
+ # else
+       palignr $2, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -398,7 +538,7 @@ LABEL(gobble_ashr_2):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -420,6 +560,7 @@ LABEL(gobble_ashr_2):
+ # else
+       palignr $2, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -428,7 +569,7 @@ LABEL(gobble_ashr_2):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -444,8 +585,8 @@ LABEL(nibble_ashr_2):
+       test    $0xfffc, %edx
+       jnz     LABEL(ashr_2_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $13, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $14, %r11
+       jbe     LABEL(ashr_2_exittail)
+ # endif
+@@ -472,6 +613,7 @@ LABEL(ashr_3):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $13, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -512,6 +654,7 @@ LABEL(gobble_ashr_3):
+ # else
+       palignr $3, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -520,7 +663,7 @@ LABEL(gobble_ashr_3):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -542,6 +685,7 @@ LABEL(gobble_ashr_3):
+ # else
+       palignr $3, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -550,7 +694,7 @@ LABEL(gobble_ashr_3):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -566,8 +710,8 @@ LABEL(nibble_ashr_3):
+       test    $0xfff8, %edx
+       jnz     LABEL(ashr_3_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $12, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $13, %r11
+       jbe     LABEL(ashr_3_exittail)
+ # endif
+@@ -594,6 +738,7 @@ LABEL(ashr_4):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $12, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -634,6 +779,7 @@ LABEL(gobble_ashr_4):
+ # else
+       palignr $4, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -642,7 +788,7 @@ LABEL(gobble_ashr_4):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -664,6 +810,7 @@ LABEL(gobble_ashr_4):
+ # else
+       palignr $4, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -672,7 +819,7 @@ LABEL(gobble_ashr_4):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -688,8 +835,8 @@ LABEL(nibble_ashr_4):
+       test    $0xfff0, %edx
+       jnz     LABEL(ashr_4_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $11, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $12, %r11
+       jbe     LABEL(ashr_4_exittail)
+ # endif
+@@ -716,6 +863,7 @@ LABEL(ashr_5):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $11, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -756,6 +904,7 @@ LABEL(gobble_ashr_5):
+ # else
+       palignr $5, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -764,7 +913,7 @@ LABEL(gobble_ashr_5):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -786,6 +935,7 @@ LABEL(gobble_ashr_5):
+ # else
+       palignr $5, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -794,7 +944,7 @@ LABEL(gobble_ashr_5):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -810,8 +960,8 @@ LABEL(nibble_ashr_5):
+       test    $0xffe0, %edx
+       jnz     LABEL(ashr_5_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $10, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $11, %r11
+       jbe     LABEL(ashr_5_exittail)
+ # endif
+@@ -838,6 +988,7 @@ LABEL(ashr_6):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $10, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -878,6 +1029,7 @@ LABEL(gobble_ashr_6):
+ # else
+       palignr $6, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -886,7 +1038,7 @@ LABEL(gobble_ashr_6):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -908,6 +1060,7 @@ LABEL(gobble_ashr_6):
+ # else
+       palignr $6, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -916,7 +1069,7 @@ LABEL(gobble_ashr_6):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -932,8 +1085,8 @@ LABEL(nibble_ashr_6):
+       test    $0xffc0, %edx
+       jnz     LABEL(ashr_6_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $9, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $10, %r11
+       jbe     LABEL(ashr_6_exittail)
+ # endif
+@@ -960,6 +1113,7 @@ LABEL(ashr_7):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $9, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1000,6 +1154,7 @@ LABEL(gobble_ashr_7):
+ # else
+       palignr $7, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1008,7 +1163,7 @@ LABEL(gobble_ashr_7):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1030,6 +1185,7 @@ LABEL(gobble_ashr_7):
+ # else
+       palignr $7, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1038,7 +1194,7 @@ LABEL(gobble_ashr_7):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1054,8 +1210,8 @@ LABEL(nibble_ashr_7):
+       test    $0xff80, %edx
+       jnz     LABEL(ashr_7_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $8, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $9, %r11
+       jbe     LABEL(ashr_7_exittail)
+ # endif
+@@ -1082,6 +1238,7 @@ LABEL(ashr_8):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $8, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1122,6 +1279,7 @@ LABEL(gobble_ashr_8):
+ # else
+       palignr $8, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1130,7 +1288,7 @@ LABEL(gobble_ashr_8):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1152,6 +1310,7 @@ LABEL(gobble_ashr_8):
+ # else
+       palignr $8, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1160,7 +1319,7 @@ LABEL(gobble_ashr_8):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1176,8 +1335,8 @@ LABEL(nibble_ashr_8):
+       test    $0xff00, %edx
+       jnz     LABEL(ashr_8_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $7, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $8, %r11
+       jbe     LABEL(ashr_8_exittail)
+ # endif
+@@ -1204,6 +1363,7 @@ LABEL(ashr_9):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $7, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1244,6 +1404,7 @@ LABEL(gobble_ashr_9):
+ # else
+       palignr $9, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1252,7 +1413,7 @@ LABEL(gobble_ashr_9):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1274,6 +1435,7 @@ LABEL(gobble_ashr_9):
+ # else
+       palignr $9, %xmm3, %xmm2        /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1282,7 +1444,7 @@ LABEL(gobble_ashr_9):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1298,8 +1460,8 @@ LABEL(nibble_ashr_9):
+       test    $0xfe00, %edx
+       jnz     LABEL(ashr_9_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $6, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $7, %r11
+       jbe     LABEL(ashr_9_exittail)
+ # endif
+@@ -1326,6 +1488,7 @@ LABEL(ashr_10):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $6, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1366,6 +1529,7 @@ LABEL(gobble_ashr_10):
+ # else
+       palignr $10, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1374,7 +1538,7 @@ LABEL(gobble_ashr_10):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1396,6 +1560,7 @@ LABEL(gobble_ashr_10):
+ # else
+       palignr $10, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1404,7 +1569,7 @@ LABEL(gobble_ashr_10):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1420,8 +1585,8 @@ LABEL(nibble_ashr_10):
+       test    $0xfc00, %edx
+       jnz     LABEL(ashr_10_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $5, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $6, %r11
+       jbe     LABEL(ashr_10_exittail)
+ # endif
+@@ -1448,6 +1613,7 @@ LABEL(ashr_11):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $5, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1488,6 +1654,7 @@ LABEL(gobble_ashr_11):
+ # else
+       palignr $11, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1496,7 +1663,7 @@ LABEL(gobble_ashr_11):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1518,6 +1685,7 @@ LABEL(gobble_ashr_11):
+ # else
+       palignr $11, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1526,7 +1694,7 @@ LABEL(gobble_ashr_11):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1542,8 +1710,8 @@ LABEL(nibble_ashr_11):
+       test    $0xf800, %edx
+       jnz     LABEL(ashr_11_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $4, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $5, %r11
+       jbe     LABEL(ashr_11_exittail)
+ # endif
+@@ -1570,6 +1738,7 @@ LABEL(ashr_12):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $4, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1610,6 +1779,7 @@ LABEL(gobble_ashr_12):
+ # else
+       palignr $12, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1618,7 +1788,7 @@ LABEL(gobble_ashr_12):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1640,6 +1810,7 @@ LABEL(gobble_ashr_12):
+ # else
+       palignr $12, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1648,7 +1819,7 @@ LABEL(gobble_ashr_12):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1664,8 +1835,8 @@ LABEL(nibble_ashr_12):
+       test    $0xf000, %edx
+       jnz     LABEL(ashr_12_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $3, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $4, %r11
+       jbe     LABEL(ashr_12_exittail)
+ # endif
+@@ -1692,6 +1863,7 @@ LABEL(ashr_13):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $3, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1732,6 +1904,7 @@ LABEL(gobble_ashr_13):
+ # else
+       palignr $13, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1740,7 +1913,7 @@ LABEL(gobble_ashr_13):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1762,6 +1935,7 @@ LABEL(gobble_ashr_13):
+ # else
+       palignr $13, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1770,7 +1944,7 @@ LABEL(gobble_ashr_13):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1786,8 +1960,8 @@ LABEL(nibble_ashr_13):
+       test    $0xe000, %edx
+       jnz     LABEL(ashr_13_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $2, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $3, %r11
+       jbe     LABEL(ashr_13_exittail)
+ # endif
+@@ -1814,6 +1988,7 @@ LABEL(ashr_14):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $2, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1854,6 +2029,7 @@ LABEL(gobble_ashr_14):
+ # else
+       palignr $14, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1862,7 +2038,7 @@ LABEL(gobble_ashr_14):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1884,6 +2060,7 @@ LABEL(gobble_ashr_14):
+ # else
+       palignr $14, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1892,7 +2069,7 @@ LABEL(gobble_ashr_14):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP | defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -1908,8 +2085,8 @@ LABEL(nibble_ashr_14):
+       test    $0xc000, %edx
+       jnz     LABEL(ashr_14_exittail)
+-# ifdef USE_AS_STRNCMP
+-      cmp     $1, %r11
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmp     $2, %r11
+       jbe     LABEL(ashr_14_exittail)
+ # endif
+@@ -1936,6 +2113,7 @@ LABEL(ashr_15):
+       movdqa  (%rsi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pslldq  $1, %xmm2
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm2
+       psubb   %xmm0, %xmm2
+       pmovmskb %xmm2, %r9d
+@@ -1978,6 +2156,7 @@ LABEL(gobble_ashr_15):
+ # else
+       palignr $15, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -1986,7 +2165,7 @@ LABEL(gobble_ashr_15):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -2008,6 +2187,7 @@ LABEL(gobble_ashr_15):
+ # else
+       palignr $15, %xmm3, %xmm2       /* merge into one 16byte value */
+ # endif
++      TOLOWER (%xmm1, %xmm2)
+       pcmpeqb %xmm1, %xmm0
+       pcmpeqb %xmm2, %xmm1
+@@ -2016,7 +2196,7 @@ LABEL(gobble_ashr_15):
+       sub     $0xffff, %edx
+       jnz     LABEL(exit)
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     $16, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+@@ -2032,9 +2212,9 @@ LABEL(nibble_ashr_15):
+       test    $0x8000, %edx
+       jnz     LABEL(ashr_15_exittail)
+-# ifdef USE_AS_STRNCMP
+-      test    %r11, %r11
+-      je      LABEL(ashr_15_exittail)
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
++      cmpq    $1, %r11
++      jbe     LABEL(ashr_15_exittail)
+ # endif
+       pxor    %xmm0, %xmm0
+@@ -2049,6 +2229,7 @@ LABEL(ashr_15_exittail):
+       .p2align 4
+ LABEL(aftertail):
++      TOLOWER (%xmm1, %xmm3)
+       pcmpeqb %xmm3, %xmm1
+       psubb   %xmm0, %xmm1
+       pmovmskb %xmm1, %edx
+@@ -2069,13 +2250,19 @@ LABEL(ret):
+ LABEL(less16bytes):
+       bsf     %rdx, %rdx              /* find and store bit index in %rdx */
+-# ifdef USE_AS_STRNCMP
++# if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
+       sub     %rdx, %r11
+       jbe     LABEL(strcmp_exitz)
+ # endif
+       movzbl  (%rsi, %rdx), %ecx
+       movzbl  (%rdi, %rdx), %eax
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
++      movl    (%rdx,%rcx,4), %ecx
++      movl    (%rdx,%rax,4), %eax
++# endif
++
+       sub     %ecx, %eax
+       ret
+@@ -2088,6 +2275,12 @@ LABEL(Byte0):
+       movzx   (%rsi), %ecx
+       movzx   (%rdi), %eax
++# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L
++      leaq    _nl_C_LC_CTYPE_tolower+128*4(%rip), %rdx
++      movl    (%rdx,%rcx,4), %ecx
++      movl    (%rdx,%rax,4), %eax
++# endif
++
+       sub     %ecx, %eax
+       ret
+ END (BP_SYM (STRCMP))
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase.S
+@@ -0,0 +1 @@
++/* In strncase_l.S.  */
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l-nonascii.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l-nonascii.c
+@@ -0,0 +1,8 @@
++#include <string.h>
++
++extern int __strncasecmp_l_nonascii (__const char *__s1, __const char *__s2,
++                                   size_t __n, __locale_t __loc);
++
++#define __strncasecmp_l __strncasecmp_l_nonascii
++#define USE_IN_EXTENDED_LOCALE_MODEL    1
++#include <string/strncase.c>
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strncase_l.S
+@@ -0,0 +1,6 @@
++#define STRCMP __strncasecmp_l
++#define USE_AS_STRNCASECMP_L
++#include "strcmp.S"
++
++weak_alias (__strncasecmp_l, strncasecmp_l)
++libc_hidden_def (strncasecmp_l)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strnlen.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strnlen.S
+@@ -0,0 +1,64 @@
++/* strnlen(str,maxlen) -- determine the length of the string STR up to MAXLEN.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   Contributed by Ulrich Drepper <drepper@redhat.com>.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <sysdep.h>
++
++
++      .text
++ENTRY(__strnlen)
++      movq    %rsi, %rax
++      testq   %rsi, %rsi
++      jz      3f
++      pxor    %xmm2, %xmm2
++      movq    %rdi, %rcx
++      movq    %rdi, %r8
++      movq    $16, %r9
++      andq    $~15, %rdi
++      movdqa  %xmm2, %xmm1
++      pcmpeqb (%rdi), %xmm2
++      orl     $0xffffffff, %r10d
++      subq    %rdi, %rcx
++      shll    %cl, %r10d
++      subq    %rcx, %r9
++      pmovmskb %xmm2, %edx
++      andl    %r10d, %edx
++      jnz     1f
++      subq    %r9, %rsi
++      jbe     3f
++
++2:    movdqa  16(%rdi), %xmm0
++      leaq    16(%rdi), %rdi
++      pcmpeqb %xmm1, %xmm0
++      pmovmskb %xmm0, %edx
++      testl   %edx, %edx
++      jnz     1f
++      subq    $16, %rsi
++      jnbe    2b
++3:    ret
++
++1:    subq    %r8, %rdi
++      bsfl    %edx, %edx
++      addq    %rdi, %rdx
++      cmpq    %rdx, %rax
++      cmovnbq %rdx, %rax
++      ret
++END(__strnlen)
++weak_alias (__strnlen, strnlen)
++libc_hidden_def (strnlen)
+Index: glibc-2.12-2-gc4ccff1/wcsmbs/wcsatcliff.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/wcsmbs/wcsatcliff.c
++++ glibc-2.12-2-gc4ccff1/wcsmbs/wcsatcliff.c
+@@ -16,6 +16,8 @@
+ #define MEMCPY wmemcpy
+ #define MEMPCPY wmempcpy
+ #define MEMCHR wmemchr
++#define STRCMP wcscmp
++#define STRNCMP wcsncmp
+ #include "../string/stratcliff.c"
diff --git a/src/patches/glibc/glibc-rh607010.patch b/src/patches/glibc/glibc-rh607010.patch
new file mode 100644 (file)
index 0000000..6952dad
--- /dev/null
@@ -0,0 +1,26 @@
+2010-09-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Round cache sizes
+       up to multiple of 256 bytes.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/cacheinfo.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
+@@ -661,12 +661,16 @@ init_cacheinfo (void)
+   if (data > 0)
+     {
++      /* Round data cache size up to multiple of 256 bytes.  */
++      data = (data + 255) & ~255L;
+       __x86_64_data_cache_size_half = data / 2;
+       __x86_64_data_cache_size = data;
+     }
+   if (shared > 0)
+     {
++      /* Round shared cache size up to multiple of 256 bytes.  */
++      shared = (shared + 255) & ~255L;
+       __x86_64_shared_cache_size_half = shared / 2;
+       __x86_64_shared_cache_size = shared;
+     }
diff --git a/src/patches/glibc/glibc-rh607461.patch b/src/patches/glibc/glibc-rh607461.patch
new file mode 100644 (file)
index 0000000..79fc72c
--- /dev/null
@@ -0,0 +1,22 @@
+Index: glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/allocatestack.c
++++ glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
+@@ -994,7 +994,16 @@ setxid_mark_thread (struct xid_command *
+       /* If the thread is exiting right now, ignore it.  */
+       if ((ch & EXITING_BITMASK) != 0)
+-      return;
++      {
++        /* Release the futex if there is no other setxid in
++           progress.  */
++        if ((ch & SETXID_BITMASK) == 0)
++          {
++            t->setxid_futex = 1;
++            lll_futex_wake (&t->setxid_futex, 1, LLL_PRIVATE);
++          }
++        return;
++      }
+     }
+   while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling,
+                                              ch | SETXID_BITMASK, ch));
diff --git a/src/patches/glibc/glibc-rh615090.patch b/src/patches/glibc/glibc-rh615090.patch
new file mode 100644 (file)
index 0000000..e6c00f0
--- /dev/null
@@ -0,0 +1,21 @@
+2010-07-27  Andreas Schwab  <schwab@redhat.com>
+
+       * manual/memory.texi (Malloc Tunable Parameters): Document
+       M_PERTURB.
+
+Index: glibc-2.12-2-gc4ccff1/manual/memory.texi
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/manual/memory.texi
++++ glibc-2.12-2-gc4ccff1/manual/memory.texi
+@@ -702,6 +702,11 @@ be allocated via @code{mmap}.
+ @item M_MMAP_MAX
+ The maximum number of chunks to allocate with @code{mmap}.  Setting this
+ to zero disables all use of @code{mmap}.
++@item M_PERTURB
++If non-zero, memory blocks are filled with values depending on some
++low order bits of this parameter when they are allocated (except when
++allocated by @code{calloc}) and freed.  This can be used to debug the
++use of uninitialized or freed heap memory.
+ @end table
+ @end deftypefun
diff --git a/src/patches/glibc/glibc-rh615701.patch b/src/patches/glibc/glibc-rh615701.patch
new file mode 100644 (file)
index 0000000..283e3fe
--- /dev/null
@@ -0,0 +1,23 @@
+2010-07-20  Roland McGrath  <roland@redhat.com>
+
+       * elf/dl-sysdep.c (_dl_important_hwcaps): Add dsocaps mask to
+       dl_hwcap_mask as well as dl_hwcap.  Without this, dsocaps matching in
+       ld.so.cache was broken.  With it, there is no way to disable dsocaps
+       like LD_HWCAP_MASK can disable hwcaps.
+
+Index: glibc-2.12-2-gc4ccff1/elf/dl-sysdep.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-sysdep.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-sysdep.c
+@@ -425,6 +425,11 @@ _dl_important_hwcaps (const char *platfo
+     {
+       const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1];
+       GLRO(dl_hwcap) |= (uint64_t) mask << _DL_FIRST_EXTRA;
++      /* Note that we add the dsocaps to the set already chosen by the
++       LD_HWCAP_MASK environment variable (or default HWCAP_IMPORTANT).
++       So there is no way to request ignoring an OS-supplied dsocap
++       string and bit like you can ignore an OS-supplied HWCAP bit.  */
++      GLRO(dl_hwcap_mask) |= (uint64_t) mask << _DL_FIRST_EXTRA;
+       size_t len;
+       for (const char *p = dsocaps; p < dsocaps + dsocapslen; p += len + 1)
+       {
diff --git a/src/patches/glibc/glibc-rh621959.patch b/src/patches/glibc/glibc-rh621959.patch
new file mode 100644 (file)
index 0000000..315521f
--- /dev/null
@@ -0,0 +1,120 @@
+2010-08-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
+       Also fail if tpwd after pwuid call is NULL.
+
+2010-06-21  Andreas Schwab <schwab@redhat.com>
+
+       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid):
+       Restore proper fallback handling.
+
+2010-06-19  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Handle
+       OOM in getpwuid_r correctly.  Return error number when the caller
+       should return, otherwise -1.
+       (getlogin_r): Adjust to return also for result of __getlogin_r_loginuid
+       call returning > 0 value.
+       * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getlogin.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin.c
+@@ -32,8 +32,9 @@
+ char *
+ getlogin (void)
+ {
+-  if (__getlogin_r_loginuid (name, sizeof (name)) == 0)
+-    return name;
++  int res = __getlogin_r_loginuid (name, sizeof (name));
++  if (res >= 0)
++    return res == 0 ? name : NULL;
+   return getlogin_fd0 ();
+ }
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getlogin_r.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getlogin_r.c
+@@ -27,6 +27,10 @@ static int getlogin_r_fd0 (char *name, s
+ #undef getlogin_r
++/* Try to determine login name from /proc/self/loginuid and return 0
++   if successful.  If /proc/self/loginuid cannot be read return -1.
++   Otherwise return the error number.  */
++
+ int
+ attribute_hidden
+ __getlogin_r_loginuid (name, namesize)
+@@ -35,7 +39,7 @@ __getlogin_r_loginuid (name, namesize)
+ {
+   int fd = open_not_cancel_2 ("/proc/self/loginuid", O_RDONLY);
+   if (fd == -1)
+-    return 1;
++    return -1;
+   /* We are reading a 32-bit number.  12 bytes are enough for the text
+      representation.  If not, something is wrong.  */
+@@ -51,37 +55,38 @@ __getlogin_r_loginuid (name, namesize)
+       || (uidbuf[n] = '\0',
+         uid = strtoul (uidbuf, &endp, 10),
+         endp == uidbuf || *endp != '\0'))
+-    return 1;
++    return -1;
+   size_t buflen = 1024;
+   char *buf = alloca (buflen);
+   bool use_malloc = false;
+   struct passwd pwd;
+   struct passwd *tpwd;
++  int result = 0;
+   int res;
+-  while ((res = __getpwuid_r (uid, &pwd, buf, buflen, &tpwd)) != 0)
++  while ((res = __getpwuid_r (uid, &pwd, buf, buflen, &tpwd)) == ERANGE)
+     if (__libc_use_alloca (2 * buflen))
+-      extend_alloca (buf, buflen, 2 * buflen);
++      buf = extend_alloca (buf, buflen, 2 * buflen);
+     else
+       {
+       buflen *= 2;
+       char *newp = realloc (use_malloc ? buf : NULL, buflen);
+       if (newp == NULL)
+         {
+-        fail:
+-          if (use_malloc)
+-            free (buf);
+-          return 1;
++          result = ENOMEM;
++          goto out;
+         }
+       buf = newp;
+       use_malloc = true;
+       }
+-  if (tpwd == NULL)
+-    goto fail;
++  if (res != 0 || tpwd == NULL)
++    {
++      result = -1;
++      goto out;
++    }
+-  int result = 0;
+   size_t needed = strlen (pwd.pw_name) + 1;
+   if (needed > namesize)
+     {
+@@ -109,8 +114,9 @@ getlogin_r (name, namesize)
+      char *name;
+      size_t namesize;
+ {
+-  if (__getlogin_r_loginuid (name, namesize) == 0)
+-    return 0;
++  int res = __getlogin_r_loginuid (name, namesize);
++  if (res >= 0)
++    return res;
+   return getlogin_r_fd0 (name, namesize);
+ }
diff --git a/src/patches/glibc/glibc-rh623187.patch b/src/patches/glibc/glibc-rh623187.patch
new file mode 100644 (file)
index 0000000..596fdd6
--- /dev/null
@@ -0,0 +1,18 @@
+2010-08-10  Dinakar Guniguntala  <dino@in.ibm.com>
+           Stefan Hajnoczi  <stefanha@linux.vnet.ibm.com>
+
+       * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S: If
+       FUTEX_WAKE_OP fails make sure to call FUTEX_WAKE instead.
+
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
+@@ -163,7 +163,6 @@ __pthread_cond_signal:
+ #endif
+       orl     $FUTEX_WAKE, %ecx
+-      xorl    $(FUTEX_WAKE ^ FUTEX_WAKE_OP), %ecx
+       movl    $SYS_futex, %eax
+       /* %edx should be 1 already from $FUTEX_WAKE_OP syscall.
+       movl    $1, %edx  */
diff --git a/src/patches/glibc/glibc-rh625893.patch b/src/patches/glibc/glibc-rh625893.patch
new file mode 100644 (file)
index 0000000..5337a42
--- /dev/null
@@ -0,0 +1,79 @@
+2010-08-12  Andreas Schwab  <schwab@redhat.com>
+
+       [BZ #11904]
+       * locale/programs/locale.c (print_assignment): New function.
+       (show_locale_vars): Use it.
+
+Index: glibc-2.12-2-gc4ccff1/locale/programs/locale.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/locale/programs/locale.c
++++ glibc-2.12-2-gc4ccff1/locale/programs/locale.c
+@@ -762,6 +762,29 @@ write_charmaps (void)
+   twalk (all_data, print_names);
+ }
++/* Print a properly quoted assignment of NAME with VAL, using double
++   quotes iff DQUOTE is true.  */
++static void
++print_assignment (const char *name, const char *val, bool dquote)
++{
++  printf ("%s=", name);
++  if (dquote)
++    putchar ('"');
++  while (*val != '\0')
++    {
++      size_t segment
++      = strcspn (val, dquote ? "$`\"\\" : "~|&;<>()$`\\\"' \t\n");
++      printf ("%.*s", (int) segment, val);
++      val += segment;
++      if (*val == '\0')
++      break;
++      putchar ('\\');
++      putchar (*val++);
++    }
++  if (dquote)
++    putchar ('"');
++  putchar ('\n');
++}
+ /* We have to show the contents of the environments determining the
+    locale.  */
+@@ -769,7 +792,7 @@ static void
+ show_locale_vars (void)
+ {
+   size_t cat_no;
+-  const char *lcall = getenv ("LC_ALL");
++  const char *lcall = getenv ("LC_ALL") ? : "";
+   const char *lang = getenv ("LANG") ? : "";
+   auto void get_source (const char *name);
+@@ -778,15 +801,15 @@ show_locale_vars (void)
+     {
+       char *val = getenv (name);
+-      if ((lcall ?: "")[0] != '\0' || val == NULL)
+-      printf ("%s=\"%s\"\n", name,
+-              (lcall ?: "")[0] ? lcall : (lang ?: "")[0] ? lang : "POSIX");
++      if (lcall[0] != '\0' || val == NULL)
++      print_assignment (name, lcall[0] ? lcall : lang[0] ? lang : "POSIX",
++                        true);
+       else
+-      printf ("%s=%s\n", name, val);
++      print_assignment (name, val, false);
+     }
+   /* LANG has to be the first value.  */
+-  printf ("LANG=%s\n", lang);
++  print_assignment ("LANG", lang, false);
+   /* Now all categories in an unspecified order.  */
+   for (cat_no = 0; cat_no < NCATEGORIES; ++cat_no)
+@@ -794,7 +817,7 @@ show_locale_vars (void)
+       get_source (category[cat_no].name);
+   /* The last is the LC_ALL value.  */
+-  printf ("LC_ALL=%s\n", lcall ? : "");
++  print_assignment ("LC_ALL", lcall, false);
+ }
diff --git a/src/patches/glibc/glibc-rh630801.patch b/src/patches/glibc/glibc-rh630801.patch
new file mode 100644 (file)
index 0000000..5bd3c66
--- /dev/null
@@ -0,0 +1,29 @@
+2010-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #11640]
+       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+       Properly check family and model.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+@@ -62,15 +62,15 @@ __init_cpu_features (void)
+       unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
+       unsigned int extended_family = (eax >> 20) & 0xff;
+       unsigned int extended_model = (eax >> 12) & 0xf0;
+-      if (__cpu_features.family == 0x0f)
++      if (family == 0x0f)
+       {
+         family += extended_family;
+         model += extended_model;
+       }
+-      else if (__cpu_features.family == 0x06)
++      else if (family == 0x06)
+       {
+         model += extended_model;
+-        switch (__cpu_features.model)
++        switch (model)
+           {
+           case 0x1a:
+           case 0x1e:
diff --git a/src/patches/glibc/glibc-rh631011.patch b/src/patches/glibc/glibc-rh631011.patch
new file mode 100644 (file)
index 0000000..42a1a56
--- /dev/null
@@ -0,0 +1,17 @@
+2010-08-19  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/i386/i686/multiarch/strspn.S [!SHARED]: Fix SSE4.2 check.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strspn.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/strspn.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strspn.S
+@@ -65,7 +65,7 @@ ENTRY(strspn)
+       jne     1f
+       call    __init_cpu_features
+ 1:    leal    __strspn_ia32, %eax
+-      testl   $index_SSE2, CPUID_OFFSET+index_SSE4_2+__cpu_features
++      testl   $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features
+       jz      2f
+       leal    __strspn_sse42, %eax
+ 2:    ret
diff --git a/src/patches/glibc/glibc-rh641128.patch b/src/patches/glibc/glibc-rh641128.patch
new file mode 100644 (file)
index 0000000..52df4ae
--- /dev/null
@@ -0,0 +1,78 @@
+2010-10-06  Ulrich Drepper  <drepper@gmail.com>
+
+       * string/bug-strstr1.c: New file.
+       * string/Makefile: Add rules to build and run bug-strstr1.
+
+2010-10-05  Eric Blake  <eblake@redhat.com>
+
+       [BZ #12092]
+       * string/str-two-way.h (two_way_long_needle): Always clear memory
+       when skipping input due to the shift table.
+
+Index: glibc-2.12-2-gc4ccff1/string/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/Makefile
++++ glibc-2.12-2-gc4ccff1/string/Makefile
+@@ -54,7 +54,8 @@ tests                := tester inl-tester noinl-tester
+                  bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap      \
+                  tst-strtok tst-strxfrm bug-strcoll1 tst-strfry       \
+                  bug-strtok1 $(addprefix test-,$(strop-tests))        \
+-                 bug-envz1 tst-strxfrm2 tst-endian tst-svc2
++                 bug-envz1 tst-strxfrm2 tst-endian tst-svc2           \
++                 bug-strstr1
+ distribute    := memcopy.h pagecopy.h tst-svc.expect test-string.h    \
+                  str-two-way.h
+@@ -73,6 +74,7 @@ CFLAGS-tst-strlen.c = -fno-builtin
+ CFLAGS-stratcliff.c = -fno-builtin
+ CFLAGS-test-ffs.c = -fno-builtin
+ CFLAGS-tst-inlcall.c = -fno-builtin
++CFLAGS-bug-strstr1.c = -fno-builtin
+ ifeq ($(cross-compiling),no)
+ tests: $(objpfx)tst-svc.out
+Index: glibc-2.12-2-gc4ccff1/string/bug-strstr1.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/bug-strstr1.c
+@@ -0,0 +1,26 @@
++#include <stdio.h>
++#include <string.h>
++
++int main (int argc, char** argv)
++{
++  const char haystack[] =
++    "F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD_C3_A7_20_EF_BF_BD";
++
++  const char needle[] =
++    "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
++
++  const char* sub = strstr (haystack, needle);
++
++  if (sub != NULL)
++    {
++      int j;
++
++      fprintf (stderr, "BUG: expected NULL, got:\n%s\n%s\n", sub, needle);
++      for (j = 0; needle[j] != '\0'; ++j)
++        putchar (needle[j] == sub[j] ? ' ' : '^');
++      puts ("");
++      return 1;
++    }
++
++  return 0;
++}
+Index: glibc-2.12-2-gc4ccff1/string/str-two-way.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/str-two-way.h
++++ glibc-2.12-2-gc4ccff1/string/str-two-way.h
+@@ -350,8 +350,8 @@ two_way_long_needle (const unsigned char
+                    a byte out of place, there can be no match until
+                    after the mismatch.  */
+                 shift = needle_len - period;
+-                memory = 0;
+               }
++            memory = 0;
+             j += shift;
+             continue;
+           }
diff --git a/src/patches/glibc/glibc-rh642584.patch b/src/patches/glibc/glibc-rh642584.patch
new file mode 100644 (file)
index 0000000..7fd390d
--- /dev/null
@@ -0,0 +1,41 @@
+2010-10-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #12113]
+       * sysdeps/x86_64/pthreaddef.h (TCB_ALIGNMENT): Changed to 32.
+       * sysdeps/x86_64/tls.h (TLS_TCB_ALIGN): Defined with alignment
+       of "struct pthread".
+
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/pthreaddef.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/x86_64/pthreaddef.h
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/pthreaddef.h
+@@ -27,8 +27,9 @@
+ /* Minimal stack size after allocating thread descriptor and guard size.  */
+ #define MINIMAL_REST_STACK    2048
+-/* Alignment requirement for TCB.  */
+-#define TCB_ALIGNMENT         16
++/* Alignment requirement for TCB.  Need to store post-AVX vector registers
++   in the TCB and we want the storage to be aligned at 32-byte.  */
++#define TCB_ALIGNMENT         32
+ /* Location of current stack frame.  The frame pointer is not usable.  */
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/tls.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/x86_64/tls.h
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/x86_64/tls.h
+@@ -117,12 +117,7 @@ typedef struct
+ # define TLS_TCB_SIZE sizeof (struct pthread)
+ /* Alignment requirements for the TCB.  */
+-//# define TLS_TCB_ALIGN __alignof__ (struct pthread)
+-// Normally the above would be correct  But we have to store post-AVX
+-// vector registers in the TCB and we want the storage to be aligned.
+-// unfortunately there isn't yet a type for these values and hence no
+-// 32-byte alignment requirement.  Make this explicit, for now.
+-# define TLS_TCB_ALIGN 32
++# define TLS_TCB_ALIGN __alignof__ (struct pthread)
+ /* The TCB can have any size and the memory following the address the
+    thread pointer points to is unspecified.  Allocate the TCB there.  */
diff --git a/src/patches/glibc/glibc-rh643822.patch b/src/patches/glibc/glibc-rh643822.patch
new file mode 100644 (file)
index 0000000..c32c1fe
--- /dev/null
@@ -0,0 +1,64 @@
+2010-12-09  Andreas Schwab  <schwab@redhat.com>
+
+       * elf/dl-object.c (_dl_new_object): Ignore origin of privileged
+       program.
+
+2010-10-18  Andreas Schwab  <schwab@redhat.com>
+
+       * elf/dl-open.c (dl_open_worker): Don't expand DST here, let
+       _dl_map_object do it.
+
+Index: glibc-2.12-2-gc4ccff1/elf/dl-object.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-object.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-object.c
+@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const ch
+     out:
+       new->l_origin = origin;
+     }
++  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
++    /* The origin of a privileged program cannot be trusted.  */
++    new->l_origin = (char *) -1;
+   return new;
+ }
+Index: glibc-2.12-2-gc4ccff1/elf/dl-open.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-open.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-open.c
+@@ -221,35 +221,6 @@ dl_open_worker (void *a)
+   assert (_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT);
+-  /* Maybe we have to expand a DST.  */
+-  if (__builtin_expect (dst != NULL, 0))
+-    {
+-      size_t len = strlen (file);
+-
+-      /* Determine how much space we need.  We have to allocate the
+-       memory locally.  */
+-      size_t required = DL_DST_REQUIRED (call_map, file, len,
+-                                       _dl_dst_count (dst, 0));
+-
+-      /* Get space for the new file name.  */
+-      char *new_file = (char *) alloca (required + 1);
+-
+-      /* Generate the new file name.  */
+-      _dl_dst_substitute (call_map, file, new_file, 0);
+-
+-      /* If the substitution failed don't try to load.  */
+-      if (*new_file == '\0')
+-      _dl_signal_error (0, "dlopen", NULL,
+-                        N_("empty dynamic string token substitution"));
+-
+-      /* Now we have a new file name.  */
+-      file = new_file;
+-
+-      /* It does not matter whether call_map is set even if we
+-       computed it only because of the DST.  Since the path contains
+-       a slash the value is not used.  See dl-load.c.  */
+-    }
+-
+   /* Load the named object.  */
+   struct link_map *new;
+   args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
diff --git a/src/patches/glibc/glibc-rh645672.patch b/src/patches/glibc/glibc-rh645672.patch
new file mode 100644 (file)
index 0000000..644614e
--- /dev/null
@@ -0,0 +1,215 @@
+2010-10-22  Andreas Schwab  <schwab@redhat.com>
+
+       * include/dlfcn.h (__RTLD_SECURE): Define.
+       * elf/dl-load.c (_dl_map_object): Remove preloaded parameter.  Use
+       mode & __RTLD_SECURE instead.
+       (open_path): Remove preloaded parameter to secure.
+       * sysdeps/generic/ldsodefs.h (_dl_map_object): Adjust declaration.
+       * elf/dl-open.c (dl_open_worker): Adjust call to _dl_map_object.
+       * elf/dl-deps.c (openaux): Likewise.
+       * elf/rtld.c (struct map_args): Remove is_preloaded.
+       (map_doit): Don't use it.
+       (dl_main): Likewise.
+       (do_preload): Use __RTLD_SECURE instead of is_preloaded.
+       (dlmopen_doit): Add __RTLD_SECURE to mode bits.
+
+Index: glibc-2.12-2-gc4ccff1/elf/dl-deps.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-deps.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-deps.c
+@@ -62,7 +62,7 @@ openaux (void *a)
+ {
+   struct openaux_args *args = (struct openaux_args *) a;
+-  args->aux = _dl_map_object (args->map, args->name, 0,
++  args->aux = _dl_map_object (args->map, args->name,
+                             (args->map->l_type == lt_executable
+                              ? lt_library : args->map->l_type),
+                             args->trace_mode, args->open_mode,
+Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
+@@ -1811,7 +1811,7 @@ open_verify (const char *name, struct fi
+    if MAY_FREE_DIRS is true.  */
+ static int
+-open_path (const char *name, size_t namelen, int preloaded,
++open_path (const char *name, size_t namelen, int secure,
+          struct r_search_path_struct *sps, char **realname,
+          struct filebuf *fbp, struct link_map *loader, int whatcode,
+          bool *found_other_class)
+@@ -1893,7 +1893,7 @@ open_path (const char *name, size_t name
+         /* Remember whether we found any existing directory.  */
+         here_any |= this_dir->status[cnt] != nonexisting;
+-        if (fd != -1 && __builtin_expect (preloaded, 0)
++        if (fd != -1 && __builtin_expect (secure, 0)
+             && INTUSE(__libc_enable_secure))
+           {
+             /* This is an extra security effort to make sure nobody can
+@@ -1962,7 +1962,7 @@ open_path (const char *name, size_t name
+ struct link_map *
+ internal_function
+-_dl_map_object (struct link_map *loader, const char *name, int preloaded,
++_dl_map_object (struct link_map *loader, const char *name,
+               int type, int trace_mode, int mode, Lmid_t nsid)
+ {
+   int fd;
+@@ -2066,7 +2066,8 @@ _dl_map_object (struct link_map *loader,
+         for (l = loader; l; l = l->l_loader)
+           if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH"))
+             {
+-              fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs,
++              fd = open_path (name, namelen, mode & __RTLD_SECURE,
++                              &l->l_rpath_dirs,
+                               &realname, &fb, loader, LA_SER_RUNPATH,
+                               &found_other_class);
+               if (fd != -1)
+@@ -2081,14 +2082,15 @@ _dl_map_object (struct link_map *loader,
+             && main_map != NULL && main_map->l_type != lt_loaded
+             && cache_rpath (main_map, &main_map->l_rpath_dirs, DT_RPATH,
+                             "RPATH"))
+-          fd = open_path (name, namelen, preloaded, &main_map->l_rpath_dirs,
++          fd = open_path (name, namelen, mode & __RTLD_SECURE,
++                          &main_map->l_rpath_dirs,
+                           &realname, &fb, loader ?: main_map, LA_SER_RUNPATH,
+                           &found_other_class);
+       }
+       /* Try the LD_LIBRARY_PATH environment variable.  */
+       if (fd == -1 && env_path_list.dirs != (void *) -1)
+-      fd = open_path (name, namelen, preloaded, &env_path_list,
++      fd = open_path (name, namelen, mode & __RTLD_SECURE, &env_path_list,
+                       &realname, &fb,
+                       loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded,
+                       LA_SER_LIBPATH, &found_other_class);
+@@ -2097,12 +2099,12 @@ _dl_map_object (struct link_map *loader,
+       if (fd == -1 && loader != NULL
+         && cache_rpath (loader, &loader->l_runpath_dirs,
+                         DT_RUNPATH, "RUNPATH"))
+-      fd = open_path (name, namelen, preloaded,
++      fd = open_path (name, namelen, mode & __RTLD_SECURE,
+                       &loader->l_runpath_dirs, &realname, &fb, loader,
+                       LA_SER_RUNPATH, &found_other_class);
+       if (fd == -1
+-        && (__builtin_expect (! preloaded, 1)
++        && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
+             || ! INTUSE(__libc_enable_secure)))
+       {
+         /* Check the list of libraries in the file /etc/ld.so.cache,
+@@ -2168,7 +2170,7 @@ _dl_map_object (struct link_map *loader,
+         && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
+             || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
+         && rtld_search_dirs.dirs != (void *) -1)
+-      fd = open_path (name, namelen, preloaded, &rtld_search_dirs,
++      fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
+                       &realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
+       /* Add another newline when we are tracing the library loading.  */
+Index: glibc-2.12-2-gc4ccff1/elf/dl-open.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-open.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-open.c
+@@ -252,7 +252,7 @@ dl_open_worker (void *a)
+   /* Load the named object.  */
+   struct link_map *new;
+-  args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0,
++  args->map = new = _dl_map_object (call_map, file, lt_loaded, 0,
+                                   mode | __RTLD_CALLMAP, args->nsid);
+   /* If the pointer returned is NULL this means the RTLD_NOLOAD flag is
+Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
++++ glibc-2.12-2-gc4ccff1/elf/rtld.c
+@@ -589,7 +589,6 @@ struct map_args
+   /* Argument to map_doit.  */
+   char *str;
+   struct link_map *loader;
+-  int is_preloaded;
+   int mode;
+   /* Return value of map_doit.  */
+   struct link_map *map;
+@@ -627,16 +626,17 @@ static void
+ map_doit (void *a)
+ {
+   struct map_args *args = (struct map_args *) a;
+-  args->map = _dl_map_object (args->loader, args->str,
+-                            args->is_preloaded, lt_library, 0, args->mode,
+-                            LM_ID_BASE);
++  args->map = _dl_map_object (args->loader, args->str, lt_library, 0,
++                            args->mode, LM_ID_BASE);
+ }
+ static void
+ dlmopen_doit (void *a)
+ {
+   struct dlmopen_args *args = (struct dlmopen_args *) a;
+-  args->map = _dl_open (args->fname, RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT,
++  args->map = _dl_open (args->fname,
++                      (RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT
++                       | __RTLD_SECURE),
+                       dl_main, LM_ID_NEWLM, _dl_argc, INTUSE(_dl_argv),
+                       __environ);
+ }
+@@ -806,8 +806,7 @@ do_preload (char *fname, struct link_map
+   args.str = fname;
+   args.loader = main_map;
+-  args.is_preloaded = 1;
+-  args.mode = 0;
++  args.mode = __RTLD_SECURE;
+   unsigned int old_nloaded = GL(dl_ns)[LM_ID_BASE]._ns_nloaded;
+@@ -1054,7 +1053,6 @@ of this helper program; chances are you 
+         args.str = rtld_progname;
+         args.loader = NULL;
+-        args.is_preloaded = 0;
+         args.mode = __RTLD_OPENEXEC;
+         (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit,
+                                 &args);
+@@ -1066,7 +1064,7 @@ of this helper program; chances are you 
+       else
+       {
+         HP_TIMING_NOW (start);
+-        _dl_map_object (NULL, rtld_progname, 0, lt_library, 0,
++        _dl_map_object (NULL, rtld_progname, lt_library, 0,
+                         __RTLD_OPENEXEC, LM_ID_BASE);
+         HP_TIMING_NOW (stop);
+Index: glibc-2.12-2-gc4ccff1/include/dlfcn.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/include/dlfcn.h
++++ glibc-2.12-2-gc4ccff1/include/dlfcn.h
+@@ -9,6 +9,7 @@
+ #define __RTLD_OPENEXEC       0x20000000
+ #define __RTLD_CALLMAP        0x10000000
+ #define __RTLD_AUDIT  0x08000000
++#define __RTLD_SECURE 0x04000000 /* Apply additional security checks.  */
+ #define __LM_ID_CALLER        -2
+Index: glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
+@@ -824,11 +824,9 @@ extern void _dl_receive_error (receiver_
+ /* Open the shared object NAME and map in its segments.
+    LOADER's DT_RPATH is used in searching for NAME.
+-   If the object is already opened, returns its existing map.
+-   For preloaded shared objects PRELOADED is set to a non-zero
+-   value to allow additional security checks.  */
++   If the object is already opened, returns its existing map.  */
+ extern struct link_map *_dl_map_object (struct link_map *loader,
+-                                      const char *name, int preloaded,
++                                      const char *name,
+                                       int type, int trace_mode, int mode,
+                                       Lmid_t nsid)
+      internal_function attribute_hidden;
diff --git a/src/patches/glibc/glibc-rh646954.patch b/src/patches/glibc/glibc-rh646954.patch
new file mode 100644 (file)
index 0000000..bbb959e
--- /dev/null
@@ -0,0 +1,216 @@
+2010-10-26  Ulrich Drepper  <drepper@gmail.com>
+
+       * elf/rtld.c (dl_main): Move assertion after the point where rtld map
+       is added to the list.
+
+2010-10-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+           Ulrich Drepper  <drepper@gmail.com>
+
+       * elf/dl-object.c (_dl_new_object): Don't append the new object to
+       the global list here.  Move code to...
+       (_dl_add_to_namespace_list): ...here.  New function.
+       * elf/rtld.c (dl_main): Invoke _dl_add_to_namespace_list.
+       * sysdeps/generic/ldsodefs.h (_dl_add_to_namespace_list): Declare.
+       * elf/dl-load.c (lose): Don't remove the element from the list.
+       (_dl_map_object_from_fd): Invoke _dl_add_to_namespace_list.
+       (_dl_map_object): Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
+@@ -797,22 +797,7 @@ lose (int code, int fd, const char *name
+   /* The file might already be closed.  */
+   if (fd != -1)
+     (void) __close (fd);
+-  if (l != NULL)
+-    {
+-      /* We modify the list of loaded objects.  */
+-      __rtld_lock_lock_recursive (GL(dl_load_write_lock));
+-      /* Remove the stillborn object from the list and free it.  */
+-      assert (l->l_next == NULL);
+-      if (l->l_prev == NULL)
+-      /* No other module loaded. This happens only in the static library,
+-         or in rtld under --verify.  */
+-      GL(dl_ns)[l->l_ns]._ns_loaded = NULL;
+-      else
+-      l->l_prev->l_next = NULL;
+-      --GL(dl_ns)[l->l_ns]._ns_nloaded;
+-      free (l);
+-      __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
+-    }
++  free (l);
+   free (realname);
+   if (r != NULL)
+@@ -897,6 +882,9 @@ _dl_map_object_from_fd (const char *name
+        never be unloaded.  */
+       __close (fd);
++      /* Add the map for the mirrored object to the object list.  */
++      _dl_add_to_namespace_list (l, nsid);
++
+       return l;
+     }
+ #endif
+@@ -1491,6 +1479,9 @@ cannot enable executable stack as shared
+     add_name_to_object (l, ((const char *) D_PTR (l, l_info[DT_STRTAB])
+                           + l->l_info[DT_SONAME]->d_un.d_val));
++  /* Now that the object is fully initialized add it to the object list.  */
++  _dl_add_to_namespace_list (l, nsid);
++
+ #ifdef SHARED
+   /* Auditing checkpoint: we have a new object.  */
+   if (__builtin_expect (GLRO(dl_naudit) > 0, 0)
+@@ -2215,7 +2206,7 @@ _dl_map_object (struct link_map *loader,
+            have.  */
+         static const Elf_Symndx dummy_bucket = STN_UNDEF;
+-        /* Enter the new object in the list of loaded objects.  */
++        /* Allocate a new object map.  */
+         if ((name_copy = local_strdup (name)) == NULL
+             || (l = _dl_new_object (name_copy, name, type, loader,
+                                     mode, nsid)) == NULL)
+@@ -2233,6 +2224,9 @@ _dl_map_object (struct link_map *loader,
+         l->l_nbuckets = 1;
+         l->l_relocated = 1;
++        /* Enter the object in the object list.  */
++        _dl_add_to_namespace_list (l, nsid);
++
+         return l;
+       }
+       else if (found_other_class)
+Index: glibc-2.12-2-gc4ccff1/elf/dl-object.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-object.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-object.c
+@@ -26,16 +26,41 @@
+ #include <assert.h>
++/* Add the new link_map NEW to the end of the namespace list.  */
++void
++internal_function
++_dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
++{
++  /* We modify the list of loaded objects.  */
++  __rtld_lock_lock_recursive (GL(dl_load_write_lock));
++
++  if (GL(dl_ns)[nsid]._ns_loaded != NULL)
++    {
++      struct link_map *l = GL(dl_ns)[nsid]._ns_loaded;
++      while (l->l_next != NULL)
++      l = l->l_next;
++      new->l_prev = l;
++      /* new->l_next = NULL;   Would be necessary but we use calloc.  */
++      l->l_next = new;
++    }
++  else
++    GL(dl_ns)[nsid]._ns_loaded = new;
++  ++GL(dl_ns)[nsid]._ns_nloaded;
++  new->l_serial = GL(dl_load_adds);
++  ++GL(dl_load_adds);
++
++  __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
++}
++
++
+ /* Allocate a `struct link_map' for a new object being loaded,
+    and enter it into the _dl_loaded list.  */
+-
+ struct link_map *
+ internal_function
+ _dl_new_object (char *realname, const char *libname, int type,
+               struct link_map *loader, int mode, Lmid_t nsid)
+ {
+   struct link_map *l;
+-  int idx;
+   size_t libname_len = strlen (libname) + 1;
+   struct link_map *new;
+   struct libname_list *newname;
+@@ -93,31 +118,12 @@ _dl_new_object (char *realname, const ch
+   new->l_scope = new->l_scope_mem;
+   new->l_scope_max = sizeof (new->l_scope_mem) / sizeof (new->l_scope_mem[0]);
+-  /* We modify the list of loaded objects.  */
+-  __rtld_lock_lock_recursive (GL(dl_load_write_lock));
+-
+   /* Counter for the scopes we have to handle.  */
+-  idx = 0;
++  int idx = 0;
+   if (GL(dl_ns)[nsid]._ns_loaded != NULL)
+-    {
+-      l = GL(dl_ns)[nsid]._ns_loaded;
+-      while (l->l_next != NULL)
+-      l = l->l_next;
+-      new->l_prev = l;
+-      /* new->l_next = NULL;  Would be necessary but we use calloc.  */
+-      l->l_next = new;
+-
+-      /* Add the global scope.  */
+-      new->l_scope[idx++] = &GL(dl_ns)[nsid]._ns_loaded->l_searchlist;
+-    }
+-  else
+-    GL(dl_ns)[nsid]._ns_loaded = new;
+-  ++GL(dl_ns)[nsid]._ns_nloaded;
+-  new->l_serial = GL(dl_load_adds);
+-  ++GL(dl_load_adds);
+-
+-  __rtld_lock_unlock_recursive (GL(dl_load_write_lock));
++    /* Add the global scope.  */
++    new->l_scope[idx++] = &GL(dl_ns)[nsid]._ns_loaded->l_searchlist;
+   /* If we have no loader the new object acts as it.  */
+   if (loader == NULL)
+Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
++++ glibc-2.12-2-gc4ccff1/elf/rtld.c
+@@ -1108,11 +1108,15 @@ of this helper program; chances are you 
+       main_map = _dl_new_object ((char *) "", "", lt_executable, NULL,
+                                __RTLD_OPENEXEC, LM_ID_BASE);
+       assert (main_map != NULL);
+-      assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
+       main_map->l_phdr = phdr;
+       main_map->l_phnum = phnum;
+       main_map->l_entry = *user_entry;
++      /* Even though the link map is not yet fully initialized we can add
++       it to the map list since there are no possible users running yet.  */
++      _dl_add_to_namespace_list (main_map, LM_ID_BASE);
++      assert (main_map == GL(dl_ns)[LM_ID_BASE]._ns_loaded);
++
+       /* At this point we are in a bit of trouble.  We would have to
+        fill in the values for l_dev and l_ino.  But in general we
+        do not know where the file is.  We also do not handle AT_EXECFD
+@@ -1380,6 +1384,9 @@ of this helper program; chances are you 
+             l->l_libname->name = memcpy (copy, dsoname, len);
+           }
++        /* Add the vDSO to the object list.  */
++        _dl_add_to_namespace_list (l, LM_ID_BASE);
++
+         /* Rearrange the list so this DSO appears after rtld_map.  */
+         assert (l->l_next == NULL);
+         assert (l->l_prev == main_map);
+Index: glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/generic/ldsodefs.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/generic/ldsodefs.h
+@@ -891,8 +891,11 @@ extern lookup_t _dl_lookup_symbol_x (con
+ extern ElfW(Addr) _dl_symbol_value (struct link_map *map, const char *name)
+      internal_function;
+-/* Allocate a `struct link_map' for a new object being loaded,
+-   and enter it into the _dl_main_map list.  */
++/* Add the new link_map NEW to the end of the namespace list.  */
++extern void _dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid)
++     internal_function attribute_hidden;
++
++/* Allocate a `struct link_map' for a new object being loaded.  */
+ extern struct link_map *_dl_new_object (char *realname, const char *libname,
+                                       int type, struct link_map *loader,
+                                       int mode, Lmid_t nsid)
diff --git a/src/patches/glibc/glibc-rh647448.patch b/src/patches/glibc/glibc-rh647448.patch
new file mode 100644 (file)
index 0000000..ff55945
--- /dev/null
@@ -0,0 +1,58 @@
+2010-10-25  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #12159]
+       * sysdeps/x86_64/multiarch/strchr.S: Fix propagation of search byte
+       into all bytes of SSE register.
+       Patch by Richard Li <richardpku@gmail.com>.
+
+Index: glibc-2.12-2-gc4ccff1/string/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/Makefile
++++ glibc-2.12-2-gc4ccff1/string/Makefile
+@@ -55,7 +55,7 @@ tests                := tester inl-tester noinl-tester
+                  tst-strtok tst-strxfrm bug-strcoll1 tst-strfry       \
+                  bug-strtok1 $(addprefix test-,$(strop-tests))        \
+                  bug-envz1 tst-strxfrm2 tst-endian tst-svc2           \
+-                 bug-strstr1
++                 bug-strstr1 bug-strchr1
+ distribute    := memcopy.h pagecopy.h tst-svc.expect test-string.h    \
+                  str-two-way.h
+Index: glibc-2.12-2-gc4ccff1/string/bug-strchr1.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/string/bug-strchr1.c
+@@ -0,0 +1,14 @@
++#include <stdio.h>
++#include <string.h>
++
++static int
++do_test (void)
++{
++  char s[] __attribute__((aligned(16))) = "\xff";
++  char *p = strchr (s, '\xfe');
++  printf ("%p\n", p);
++  return p != NULL;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strchr.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strchr.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strchr.S
+@@ -87,13 +87,13 @@ __strchr_sse42:
+       pxor    %xmm2, %xmm2
+       movd    %esi, %xmm1
+       movl    %edi, %ecx
++      pshufb  %xmm2, %xmm1
+       andl    $15, %ecx
+       movq    %rdi, %r8
+       je      L(aligned_start)
+ /* Handle unaligned string.  */
+       andq    $-16, %r8
+-      pshufb  %xmm2, %xmm1
+       movdqa  (%r8), %xmm0
+       pcmpeqb  %xmm0, %xmm2
+       pcmpeqb  %xmm1, %xmm0
diff --git a/src/patches/glibc/glibc-rh652661.patch b/src/patches/glibc/glibc-rh652661.patch
new file mode 100644 (file)
index 0000000..79a3212
--- /dev/null
@@ -0,0 +1,21 @@
+2010-05-20  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/unix/sysv/linux/sys/timex.h: Use __REDIRECT_NTH.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sys/timex.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/sys/timex.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sys/timex.h
+@@ -140,9 +140,9 @@ __BEGIN_DECLS
+ extern int __adjtimex (struct timex *__ntx) __THROW;
+ extern int adjtimex (struct timex *__ntx) __THROW;
+-#if defined __GNUC__ && __GNUC__ >= 2
+-extern int ntp_gettime (struct ntptimeval *__ntv)
+-     __asm__ ("ntp_gettimex") __THROW;
++#ifdef __REDIRECT_NTH
++extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv),
++                         ntp_gettimex);
+ #else
+ extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW;
+ # define ntp_gettime ntp_gettimex
diff --git a/src/patches/glibc/glibc-rh656014.patch b/src/patches/glibc/glibc-rh656014.patch
new file mode 100644 (file)
index 0000000..5ef68dc
--- /dev/null
@@ -0,0 +1,45 @@
+2010-11-24  Andreas Schwab  <schwab@redhat.com>
+
+       * resolv/nss_dns/dns-host.c (getanswer_r): Don't handle ttl == 0
+       specially.
+       (gaih_getanswer_slice): Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/resolv/nss_dns/dns-host.c
++++ glibc-2.12-2-gc4ccff1/resolv/nss_dns/dns-host.c
+@@ -599,7 +599,6 @@ getanswer_r (const querybuf *answer, int
+   int (*name_ok) (const char *);
+   u_char packtmp[NS_MAXCDNAME];
+   int have_to_map = 0;
+-  int32_t ttl = 0;
+   uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
+   buffer += pad;
+   if (__builtin_expect (buflen < sizeof (struct host_data) + pad, 0))
+@@ -733,7 +732,7 @@ getanswer_r (const querybuf *answer, int
+       cp += INT16SZ;                  /* type */
+       class = __ns_get16 (cp);
+       cp += INT16SZ;                  /* class */
+-      ttl = __ns_get32 (cp);
++      int32_t ttl = __ns_get32 (cp);
+       cp += INT32SZ;                  /* TTL */
+       n = __ns_get16 (cp);
+       cp += INT16SZ;                  /* len */
+@@ -907,7 +906,7 @@ getanswer_r (const querybuf *answer, int
+           {
+             register int nn;
+-            if (ttlp != NULL && ttl != 0)
++            if (ttlp != NULL)
+               *ttlp = ttl;
+             if (canonp != NULL)
+               *canonp = bp;
+@@ -1163,7 +1162,7 @@ gaih_getanswer_slice (const querybuf *an
+       if (*firstp)
+       {
+-        if (ttl != 0 && ttlp != NULL)
++        if (ttlp != NULL)
+           *ttlp = ttl;
+         (*pat)->name = canon ?: h_name;
diff --git a/src/patches/glibc/glibc-rh656530.patch b/src/patches/glibc/glibc-rh656530.patch
new file mode 100644 (file)
index 0000000..f101430
--- /dev/null
@@ -0,0 +1,21 @@
+2010-11-10  Luis Machado  <luisgpm@br.ibm.com>
+
+       * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c (__ieee754_sqrtl): Force
+         signed comparison.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
+@@ -73,9 +73,9 @@ long double __ieee754_sqrtl(long double 
+       m = ((a.i[2] >> 20) & 0x7ff) - 54;
+       }
+       m += n;
+-      if (m > 0)
++      if ((int) m > 0)
+       a.i[2] = (a.i[2] & 0x800fffff) | (m << 20);
+-      else if (m <= -54) {
++      else if ((int) m <= -54) {
+       a.i[2] &= 0x80000000;
+       a.i[3] = 0;
+       } else {
diff --git a/src/patches/glibc/glibc-rh657572.patch b/src/patches/glibc/glibc-rh657572.patch
new file mode 100644 (file)
index 0000000..a720130
--- /dev/null
@@ -0,0 +1,141 @@
+commit 42c5011242e48f846111237552d3bf3ca18c4885
+Author: Ulrich Drepper <drepper@gmail.com>
+Date:   Fri Dec 23 09:51:10 2011 -0500
+
+    Various fixes to fi_FI
+
+ 2011-12-23  Ulrich Drepper  <drepper@gmail.com>
+       [BZ #12962]
+       * locales/fi_FI: Various fixups.
+       Patch by Marko Myllynen <myllynen@redhat.com>.
+
+diff --git a/localedata/locales/fi_FI b/localedata/locales/fi_FI
+index acc9ce6..f51700c 100644
+--- a/localedata/locales/fi_FI
++++ b/localedata/locales/fi_FI
+@@ -1,4 +1,4 @@
+-escape_char   /
++escape_char     /
+ comment_char    %
+ % Finnish language locale for Finland
+@@ -45,10 +45,10 @@ category  "fi_FI:2000";LC_NUMERIC
+ category  "fi_FI:2000";LC_MONETARY
+ category  "fi_FI:2000";LC_MESSAGES
+ category  "fi_FI:2000";LC_PAPER
++category  "fi_FI:2000";LC_MEASUREMENT
+ category  "fi_FI:2000";LC_NAME
+ category  "fi_FI:2000";LC_ADDRESS
+ category  "fi_FI:2000";LC_TELEPHONE
+-
+ END LC_IDENTIFICATION
+ LC_COLLATE
+@@ -125,7 +125,6 @@ reorder-after <U0044>
+ <U0110> <d>;<OBL>;<CAP>;IGNORE
+ reorder-end
+-
+ END LC_COLLATE
+ LC_CTYPE
+@@ -146,12 +145,10 @@ positive_sign        ""
+ negative_sign        "<U002D>"
+ int_frac_digits      2
+ frac_digits          2
+-% int_curr_symbol precedes
+-% curr_symbol succeeds
+ p_cs_precedes        0
+-p_sep_by_space       2
++p_sep_by_space       1
+ n_cs_precedes        0
+-n_sep_by_space       2
++n_sep_by_space       1
+ p_sign_posn          1
+ n_sign_posn          1
+ END LC_MONETARY
+@@ -173,18 +170,18 @@ day      "<U0073><U0075><U006E><U006E><U0075><U006E><U0074><U0061><U0069>";/
+          "<U0074><U006F><U0072><U0073><U0074><U0061><U0069>";/
+          "<U0070><U0065><U0072><U006A><U0061><U006E><U0074><U0061><U0069>";/
+          "<U006C><U0061><U0075><U0061><U006E><U0074><U0061><U0069>"
+-abmon    "<U0074><U0061><U006D><U006D><U0069><U00A0>";/
+-         "<U0068><U0065><U006C><U006D><U0069><U00A0>";/
++abmon    "<U0074><U0061><U006D><U006D><U0069>";/
++         "<U0068><U0065><U006C><U006D><U0069>";/
+          "<U006D><U0061><U0061><U006C><U0069><U0073>";/
+-         "<U0068><U0075><U0068><U0074><U0069><U00A0>";/
+-         "<U0074><U006F><U0075><U006B><U006F><U00A0>";/
+-         "<U006B><U0065><U0073><U00E4><U00A0><U00A0>";/
+-         "<U0068><U0065><U0069><U006E><U00E4><U00A0>";/
+-         "<U0065><U006C><U006F><U00A0><U00A0><U00A0>";/
+-         "<U0073><U0079><U0079><U0073><U00A0><U00A0>";/
+-         "<U006C><U006F><U006B><U0061><U00A0><U00A0>";/
++         "<U0068><U0075><U0068><U0074><U0069>";/
++         "<U0074><U006F><U0075><U006B><U006F>";/
++         "<U006B><U0065><U0073><U00E4>";/
++         "<U0068><U0065><U0069><U006E><U00E4>";/
++         "<U0065><U006C><U006F>";/
++         "<U0073><U0079><U0079><U0073>";/
++         "<U006C><U006F><U006B><U0061>";/
+          "<U006D><U0061><U0072><U0072><U0061><U0073>";/
+-         "<U006A><U006F><U0075><U006C><U0075><U00A0>"
++         "<U006A><U006F><U0075><U006C><U0075>"
+ mon      "<U0074><U0061><U006D><U006D><U0069><U006B><U0075><U0075>";/
+          "<U0068><U0065><U006C><U006D><U0069><U006B><U0075><U0075>";/
+          "<U006D><U0061><U0061><U006C><U0069><U0073><U006B><U0075><U0075>";/
+@@ -207,13 +204,14 @@ t_fmt_ampm  ""
+ date_fmt       "<U0025><U0061><U0020><U0025><U002D><U0064><U002E><U0025>/
+ <U002D><U006D><U002E><U0025><U0059><U0020><U0025><U0048><U002E><U0025>/
+ <U004D><U002E><U0025><U0053><U0020><U0025><U007A>"
++week     7;19971130;4
+ first_weekday 2 % Monday
+ first_workday 2 % Monday
+ END LC_TIME
+ LC_MESSAGES
+-yesexpr  "<U005E><U005B><U004B><U006B><U004A><U006A><U0059><U0079><U005D><U002E><U002A>"
+-noexpr   "<U005E><U005B><U004E><U006E><U0045><U0065><U005D><U002E><U002A>"
++yesexpr  "<U005E><U005B><U004B><U006B><U0059><U0079><U005D><U002E><U002A>"
++noexpr   "<U005E><U005B><U0045><U0065><U004E><U006E><U005D><U002E><U002A>"
+ END LC_MESSAGES
+ LC_PAPER
+@@ -222,6 +220,7 @@ width    210
+ END LC_PAPER
+ LC_TELEPHONE
++tel_dom_fmt    "<U0028><U0025><U0041><U0029><U0020><U0025><U006C>"
+ tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
+ <U006C>"
+ int_prefix     "<U0033><U0035><U0038>"
+@@ -235,15 +234,25 @@ END LC_MEASUREMENT
+ LC_NAME
+ name_fmt    "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
+ <U0025><U006D><U0025><U0074><U0025><U0066>"
++% Finnish equivalents for Mr/Mrs/Miss/Ms are herra/rouva/rouva/neiti
++% but they are practically never used, thus we don't define them here.
+ END LC_NAME
+ LC_ADDRESS
+-postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+-<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+-<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+-<U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
++postal_fmt   "<U0025><U0066><U0025><U004E><U0025><U0064><U0025><U004E>/
++<U0025><U0062><U0025><U004E><U0025><U0061><U0025><U004E><U0025><U0073>/
++<U0020><U0025><U0068><U0025><U0074><U0025><U0065><U0025><U0074><U0025>/
++<U0072><U0025><U004E><U0025><U007A><U0020><U0025><U0054><U0025>/
+ <U004E><U0025><U0063><U0025><U004E>"
+ country_ab2 "<U0046><U0049>"
+ country_ab3 "<U0046><U0049><U004E>"
+ country_num 246
++country_name "<U0053><U0075><U006F><U006D><U0069>"
++country_post "<U0046><U0049>"
++country_car  "<U0046><U0049><U004E>"
++country_isbn 952
++lang_name    "<U0073><U0075><U006F><U006D><U0069>"
++lang_ab      "<U0066><U0069>"
++lang_term    "<U0066><U0069><U006E>"
++lang_lib     "<U0066><U0069><U006E>"
+ END LC_ADDRESS
diff --git a/src/patches/glibc/glibc-rh661982.patch b/src/patches/glibc/glibc-rh661982.patch
new file mode 100644 (file)
index 0000000..60b840b
--- /dev/null
@@ -0,0 +1,188 @@
+2010-12-10  Andreas Schwab  <schwab@redhat.com>
+
+       * wcsmbs/wchar.h (wcpcpy, wcpncpy): Only declare under
+       _GNU_SOURCE.
+
+2010-12-10  Andreas Schwab  <schwab@redhat.com>
+
+       * wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
+       * wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
+       Remove __restrict.
+       (wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy)
+       (wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict.
+
+2010-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * string/bits/string3.h (memmove, bcopy): Remove __restrict.
+
+Index: glibc-2.12-2-gc4ccff1/string/bits/string3.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/bits/string3.h
++++ glibc-2.12-2-gc4ccff1/string/bits/string3.h
+@@ -53,8 +53,7 @@ __NTH (memcpy (void *__restrict __dest, 
+ }
+ __extern_always_inline void *
+-__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
+-              size_t __len))
++__NTH (memmove (void *__dest, __const void *__src, size_t __len))
+ {
+   return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
+ }
+@@ -88,8 +87,7 @@ __NTH (memset (void *__dest, int __ch, s
+ #ifdef __USE_BSD
+ __extern_always_inline void
+-__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
+-            size_t __len))
++__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
+ {
+   (void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
+ }
+Index: glibc-2.12-2-gc4ccff1/wcsmbs/bits/wchar2.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/wcsmbs/bits/wchar2.h
++++ glibc-2.12-2-gc4ccff1/wcsmbs/bits/wchar2.h
+@@ -60,15 +60,13 @@ extern wchar_t *__REDIRECT_NTH (__wmemmo
+                                                  __const wchar_t *__s2,
+                                                  size_t __n), wmemmove);
+ extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
+-                              (wchar_t *__restrict __s1,
+-                               __const wchar_t *__restrict __s2, size_t __n,
+-                               size_t __ns1), __wmemmove_chk)
++                              (wchar_t *__s1, __const wchar_t *__s2,
++                               size_t __n, size_t __ns1), __wmemmove_chk)
+      __warnattr ("wmemmove called with length bigger than size of destination "
+                "buffer");
+ __extern_always_inline wchar_t *
+-__NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
+-               size_t __n))
++__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
+ {
+   if (__bos0 (__s1) != (size_t) -1)
+     {
+@@ -129,7 +127,7 @@ extern wchar_t *__REDIRECT_NTH (__wmemse
+                "buffer");
+ __extern_always_inline wchar_t *
+-__NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
++__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
+ {
+   if (__bos0 (__s) != (size_t) -1)
+     {
+@@ -152,7 +150,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscpy
+                                __const wchar_t *__restrict __src), wcscpy);
+ __extern_always_inline wchar_t *
+-__NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
++__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
+ {
+   if (__bos (__dest) != (size_t) -1)
+     return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
+@@ -160,14 +158,15 @@ __NTH (wcscpy (wchar_t *__dest, __const 
+ }
+-extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src,
++extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
++                            __const wchar_t *__restrict __src,
+                             size_t __destlen) __THROW;
+-extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
+-                                               __const wchar_t *__src),
+-                              wcpcpy);
++extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
++                              (wchar_t *__restrict __dest,
++                               __const wchar_t *__restrict __src), wcpcpy);
+ __extern_always_inline wchar_t *
+-__NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
++__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
+ {
+   if (__bos (__dest) != (size_t) -1)
+     return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
+@@ -190,7 +189,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsncp
+                "buffer");
+ __extern_always_inline wchar_t *
+-__NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
++__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
++              size_t __n))
+ {
+   if (__bos (__dest) != (size_t) -1)
+     {
+@@ -220,7 +220,8 @@ extern wchar_t *__REDIRECT_NTH (__wcpncp
+                "buffer");
+ __extern_always_inline wchar_t *
+-__NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
++__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
++              size_t __n))
+ {
+   if (__bos (__dest) != (size_t) -1)
+     {
+@@ -243,7 +244,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscat
+                                __const wchar_t *__restrict __src), wcscat);
+ __extern_always_inline wchar_t *
+-__NTH (wcscat (wchar_t *__dest, __const wchar_t *__src))
++__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
+ {
+   if (__bos (__dest) != (size_t) -1)
+     return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
+@@ -260,7 +261,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsnca
+                                size_t __n), wcsncat);
+ __extern_always_inline wchar_t *
+-__NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n))
++__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
++              size_t __n))
+ {
+   if (__bos (__dest) != (size_t) -1)
+     return __wcsncat_chk (__dest, __src, __n,
+@@ -428,14 +430,16 @@ fgetws_unlocked (wchar_t *__restrict __s
+ #endif
+-extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p,
+-                        size_t __buflen) __THROW __wur;
++extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
++                           mbstate_t *__restrict __p,
++                           size_t __buflen) __THROW __wur;
+ extern size_t __REDIRECT_NTH (__wcrtomb_alias,
+                             (char *__restrict __s, wchar_t __wchar,
+                              mbstate_t *__restrict __ps), wcrtomb) __wur;
+ __extern_always_inline __wur size_t
+-__NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps))
++__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
++              mbstate_t *__restrict __ps))
+ {
+   /* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
+      But this would only disturb the namespace.  So we define our own
+Index: glibc-2.12-2-gc4ccff1/wcsmbs/wchar.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/wcsmbs/wchar.h
++++ glibc-2.12-2-gc4ccff1/wcsmbs/wchar.h
+@@ -555,17 +555,17 @@ extern float wcstof_l (__const wchar_t *
+ extern long double wcstold_l (__const wchar_t *__restrict __nptr,
+                             wchar_t **__restrict __endptr,
+                             __locale_t __loc) __THROW;
+-#endif /* GNU */
+-#ifdef        __USE_XOPEN2K8
+ /* Copy SRC to DEST, returning the address of the terminating L'\0' in
+    DEST.  */
+-extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
++extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
++                      __const wchar_t *__restrict __src) __THROW;
+ /* Copy no more than N characters of SRC to DEST, returning the address of
+    the last character written into DEST.  */
+-extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
++extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
++                       __const wchar_t *__restrict __src, size_t __n)
+      __THROW;
+ #endif        /* use GNU */
diff --git a/src/patches/glibc/glibc-rh667974.patch b/src/patches/glibc/glibc-rh667974.patch
new file mode 100644 (file)
index 0000000..48aacac
--- /dev/null
@@ -0,0 +1,160 @@
+2011-03-14  Andreas Schwab  <schwab@redhat.com>
+
+       * elf/dl-load.c (is_dst): Remove parameter secure, all callers
+       changed.  Don't check for isolated use.
+       (_dl_dst_substitute): Ignore rpath elements containing
+       non-isolated use of $ORIGIN when privileged.
+
+       * elf/dl-load.c (_dl_dst_substitute): When skipping the first
+       rpath element also skip the following colon.
+       (expand_dynamic_string_token): Add is_path parameter and pass
+       down to DL_DST_REQUIRED and _dl_dst_substitute.
+       (decompose_rpath): Call expand_dynamic_string_token with
+       non-zero is_path.  Ignore empty rpaths.
+       (_dl_map_object_from_fd): Call expand_dynamic_string_token
+       with zero is_path.
+
+Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
+@@ -169,8 +169,7 @@ local_strdup (const char *s)
+ static size_t
+-is_dst (const char *start, const char *name, const char *str,
+-      int is_path, int secure)
++is_dst (const char *start, const char *name, const char *str, int is_path)
+ {
+   size_t len;
+   bool is_curly = false;
+@@ -199,11 +198,6 @@ is_dst (const char *start, const char *n
+          && (!is_path || name[len] != ':'))
+     return 0;
+-  if (__builtin_expect (secure, 0)
+-      && ((name[len] != '\0' && (!is_path || name[len] != ':'))
+-        || (name != start + 1 && (!is_path || name[-2] != ':'))))
+-    return 0;
+-
+   return len;
+ }
+@@ -218,13 +212,10 @@ _dl_dst_count (const char *name, int is_
+     {
+       size_t len;
+-      /* $ORIGIN is not expanded for SUID/GUID programs (except if it
+-       is $ORIGIN alone) and it must always appear first in path.  */
+       ++name;
+-      if ((len = is_dst (start, name, "ORIGIN", is_path,
+-                       INTUSE(__libc_enable_secure))) != 0
+-        || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0
+-        || (len = is_dst (start, name, "LIB", is_path, 0)) != 0)
++      if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0
++        || (len = is_dst (start, name, "PLATFORM", is_path)) != 0
++        || (len = is_dst (start, name, "LIB", is_path)) != 0)
+       ++cnt;
+       name = strchr (name + len, '$');
+@@ -256,9 +247,16 @@ _dl_dst_substitute (struct link_map *l, 
+         size_t len;
+         ++name;
+-        if ((len = is_dst (start, name, "ORIGIN", is_path,
+-                           INTUSE(__libc_enable_secure))) != 0)
++        if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0)
+           {
++            /* $ORIGIN is not expanded for SUID/GUID programs
++               (except if it is $ORIGIN alone) and it must always
++               appear first in path.  */
++            if (__builtin_expect (INTUSE(__libc_enable_secure), 0)
++                && ((name[len] != '\0' && (!is_path || name[len] != ':'))
++                    || (name != start + 1 && (!is_path || name[-2] != ':'))))
++              repl = (const char *) -1;
++            else
+ #ifndef SHARED
+             if (l == NULL)
+               repl = _dl_get_origin ();
+@@ -266,9 +264,9 @@ _dl_dst_substitute (struct link_map *l, 
+ #endif
+               repl = l->l_origin;
+           }
+-        else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0)
++        else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0)
+           repl = GLRO(dl_platform);
+-        else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0)
++        else if ((len = is_dst (start, name, "LIB", is_path)) != 0)
+           repl = DL_DST_LIB;
+         if (repl != NULL && repl != (const char *) -1)
+@@ -284,6 +282,10 @@ _dl_dst_substitute (struct link_map *l, 
+             name += len;
+             while (*name != '\0' && (!is_path || *name != ':'))
+               ++name;
++            /* Also skip following colon if this is the first rpath
++               element, but keep an empty element at the end.  */
++            if (wp == result && is_path && *name == ':' && name[1] != '\0')
++              ++name;
+           }
+         else
+           /* No DST we recognize.  */
+@@ -310,7 +312,7 @@ _dl_dst_substitute (struct link_map *l, 
+    belonging to the map is loaded.  In this case the path element
+    containing $ORIGIN is left out.  */
+ static char *
+-expand_dynamic_string_token (struct link_map *l, const char *s)
++expand_dynamic_string_token (struct link_map *l, const char *s, int is_path)
+ {
+   /* We make two runs over the string.  First we determine how large the
+      resulting string is and then we copy it over.  Since this is no
+@@ -321,7 +323,7 @@ expand_dynamic_string_token (struct link
+   char *result;
+   /* Determine the number of DST elements.  */
+-  cnt = DL_DST_COUNT (s, 1);
++  cnt = DL_DST_COUNT (s, is_path);
+   /* If we do not have to replace anything simply copy the string.  */
+   if (__builtin_expect (cnt, 0) == 0)
+@@ -335,7 +337,7 @@ expand_dynamic_string_token (struct link
+   if (result == NULL)
+     return NULL;
+-  return _dl_dst_substitute (l, s, result, 1);
++  return _dl_dst_substitute (l, s, result, is_path);
+ }
+@@ -551,13 +553,21 @@ decompose_rpath (struct r_search_path_st
+   /* Make a writable copy.  At the same time expand possible dynamic
+      string tokens.  */
+-  copy = expand_dynamic_string_token (l, rpath);
++  copy = expand_dynamic_string_token (l, rpath, 1);
+   if (copy == NULL)
+     {
+       errstring = N_("cannot create RUNPATH/RPATH copy");
+       goto signal_error;
+     }
++  /* Ignore empty rpaths.  */
++  if (*copy == 0)
++    {
++      free (copy);
++      sps->dirs = (char *) -1;
++      return false;
++    }
++
+   /* Count the number of necessary elements in the result array.  */
+   nelems = 0;
+   for (cp = copy; *cp != '\0'; ++cp)
+@@ -2176,7 +2186,7 @@ _dl_map_object (struct link_map *loader,
+     {
+       /* The path may contain dynamic string tokens.  */
+       realname = (loader
+-                ? expand_dynamic_string_token (loader, name)
++                ? expand_dynamic_string_token (loader, name, 0)
+                 : local_strdup (name));
+       if (realname == NULL)
+       fd = -1;
diff --git a/src/patches/glibc/glibc-rh676076.patch b/src/patches/glibc/glibc-rh676076.patch
new file mode 100644 (file)
index 0000000..c5aa2d4
--- /dev/null
@@ -0,0 +1,714 @@
+2011-03-02  Harsha Jagasia  <harsha.jagasia@amd.com>
+           Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/x86_64/memset.S: After aligning destination, code
+       branches to different locations depending on the value of
+       misalignment, when multiarch is enabled. Fix this.
+
+2011-03-02  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * sysdeps/x86_64/cacheinfo.c (init_cacheinfo):
+       Set _x86_64_preferred_memory_instruction for AMD processsors.
+       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+       Set bit_Prefer_SSE_for_memop for AMD processors.
+
+2010-11-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/memset.S: Check USE_MULTIARCH and USE_SSE2 for
+       IFUNC support.
+       * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
+       memset-x86-64.
+       * sysdeps/x86_64/multiarch/bzero.S: New file.
+       * sysdeps/x86_64/multiarch/cacheinfo.c: New file.
+       * sysdeps/x86_64/multiarch/memset-x86-64.S: New file.
+       * sysdeps/x86_64/multiarch/memset.S: New file.
+       * sysdeps/x86_64/multiarch/memset_chk.S: New file.
+       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+       Set bit_Prefer_SSE_for_memop for Intel processors.
+       * sysdeps/x86_64/multiarch/init-arch.h (bit_Prefer_SSE_for_memop):
+       Define.
+       (index_Prefer_SSE_for_memop): Define.
+       (HAS_PREFER_SSE_FOR_MEMOP): Define.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/cacheinfo.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
+@@ -613,6 +613,25 @@ init_cacheinfo (void)
+       long int core = handle_amd (_SC_LEVEL2_CACHE_SIZE);
+       shared = handle_amd (_SC_LEVEL3_CACHE_SIZE);
++#ifndef DISABLE_PREFERRED_MEMORY_INSTRUCTION
++# ifdef USE_MULTIARCH
++      eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
++      ebx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ebx;
++      ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
++      edx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].edx;
++# else
++      __cpuid (1, eax, ebx, ecx, edx);
++# endif
++
++      /* AMD prefers SSSE3 instructions for memory/string routines
++       if they are avaiable, otherwise it prefers integer
++       instructions.  */
++      if ((ecx & 0x200))
++      __x86_64_preferred_memory_instruction = 3;
++      else
++      __x86_64_preferred_memory_instruction = 0;
++#endif
++
+       /* Get maximum extended function. */
+       __cpuid (0x80000000, max_cpuid_ex, ebx, ecx, edx);
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/memset.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/memset.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/memset.S
+@@ -24,7 +24,7 @@
+ #define __STOS_UPPER_BOUNDARY $65536
+         .text
+-#ifndef NOT_IN_libc
++#if !defined NOT_IN_libc && !defined USE_MULTIARCH
+ ENTRY(__bzero)
+       mov     %rsi,%rdx       /* Adjust parameter.  */
+       xorl    %esi,%esi       /* Fill with 0s.  */
+@@ -34,10 +34,10 @@ weak_alias (__bzero, bzero)
+ #endif
+ #if defined PIC && !defined NOT_IN_libc
+-ENTRY (__memset_chk)
++ENTRY_CHK (__memset_chk)
+       cmpq    %rdx, %rcx
+       jb      HIDDEN_JUMPTARGET (__chk_fail)
+-END (__memset_chk)
++END_CHK (__memset_chk)
+ #endif
+ ENTRY (memset)
+ L(memset_entry):
+@@ -591,157 +591,15 @@ L(A6Q1):    mov    %dx,-0xe(%rdi)
+ L(A7Q0):    mov    %dl,-0x7(%rdi)
+ L(A6Q0):    mov    %dx,-0x6(%rdi)
+       mov    %edx,-0x4(%rdi)
+-      jmp    L(aligned_now)
+-
+-      .balign     16
+-L(aligned_now):
+-
+-       cmpl   $0x1,__x86_64_preferred_memory_instruction(%rip)
+-       jg     L(SSE_pre)
+-
+-L(8byte_move_try):
+-      cmpq    __STOS_LOWER_BOUNDARY,%r8
+-      jae     L(8byte_stos_try)
+-
+-      .balign     16
+-L(8byte_move):
+-      movq    %r8,%rcx
+-      shrq    $7,%rcx
+-      jz      L(8byte_move_skip)
+-
+-      .p2align 4
+-
+-L(8byte_move_loop):
+-      decq    %rcx
+-
+-      movq    %rdx,    (%rdi)
+-      movq    %rdx,  8 (%rdi)
+-      movq    %rdx, 16 (%rdi)
+-      movq    %rdx, 24 (%rdi)
+-      movq    %rdx, 32 (%rdi)
+-      movq    %rdx, 40 (%rdi)
+-      movq    %rdx, 48 (%rdi)
+-      movq    %rdx, 56 (%rdi)
+-      movq    %rdx, 64 (%rdi)
+-      movq    %rdx, 72 (%rdi)
+-      movq    %rdx, 80 (%rdi)
+-      movq    %rdx, 88 (%rdi)
+-      movq    %rdx, 96 (%rdi)
+-      movq    %rdx, 104 (%rdi)
+-      movq    %rdx, 112 (%rdi)
+-      movq    %rdx, 120 (%rdi)
+-
+-      leaq    128 (%rdi),%rdi
+-
+-      jnz     L(8byte_move_loop)
+-
+-L(8byte_move_skip):
+-      andl    $127,%r8d
+-      lea     (%rdi,%r8,1),%rdi
+-
+-#ifndef PIC
+-      lea     L(setPxQx)(%rip),%r11
+-      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
+-#else
+-      lea     L(Got0)(%rip),%r11
+-      lea     L(setPxQx)(%rip),%rcx
+-      movswq  (%rcx,%r8,2),%rcx
+-      lea     (%rcx,%r11,1),%r11
+-      jmpq    *%r11
+-#endif
+-
+-      .balign     16
+-L(8byte_stos_try):
+-      mov    __x86_64_shared_cache_size(%rip),%r9d // ck largest cache size
+-      cmpq    %r8,%r9         // calculate the lesser of remaining
+-      cmovaq  %r8,%r9         // bytes and largest cache size
+-      jbe     L(8byte_stos)
+-
+-L(8byte_move_reuse_try):
+-      cmp     __STOS_UPPER_BOUNDARY,%r8
+-      jae     L(8byte_move)
+-
+-      .balign     16
+-L(8byte_stos):
+-      movq    %r9,%rcx
+-      andq    $-8,%r9
+-
+-      shrq    $3,%rcx
+-      jz      L(8byte_stos_skip)
+-
+-      xchgq   %rax,%rdx
+-
+-      rep
+-      stosq
+-
+-      xchgq   %rax,%rdx
+-
+-L(8byte_stos_skip):
+-      subq    %r9,%r8
+-      ja      L(8byte_nt_move)
+-
+-      andl    $7,%r8d
+-      lea     (%rdi,%r8,1),%rdi
+-#ifndef PIC
+-      lea     L(setPxQx)(%rip),%r11
+-      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
+-#else
+-      lea     L(Got0)(%rip),%r11
+-      lea     L(setPxQx)(%rip),%rcx
+-      movswq  (%rcx,%r8,2),%rcx
+-      lea     (%rcx,%r11,1),%r11
+-      jmpq    *%r11
+-#endif
+-      .balign     16
+-L(8byte_nt_move):
+-      movq    %r8,%rcx
+-      shrq    $7,%rcx
+-      jz      L(8byte_nt_move_skip)
+-
+-      .balign     16
+-L(8byte_nt_move_loop):
+-      decq    %rcx
+-
+-      movntiq %rdx,     (%rdi)
+-      movntiq %rdx,   8 (%rdi)
+-      movntiq %rdx,  16 (%rdi)
+-      movntiq %rdx,  24 (%rdi)
+-      movntiq %rdx,  32 (%rdi)
+-      movntiq %rdx,  40 (%rdi)
+-      movntiq %rdx,  48 (%rdi)
+-      movntiq %rdx,  56 (%rdi)
+-      movntiq %rdx,  64 (%rdi)
+-      movntiq %rdx,  72 (%rdi)
+-      movntiq %rdx,  80 (%rdi)
+-      movntiq %rdx,  88 (%rdi)
+-      movntiq %rdx,  96 (%rdi)
+-      movntiq %rdx, 104 (%rdi)
+-      movntiq %rdx, 112 (%rdi)
+-      movntiq %rdx, 120 (%rdi)
+-
+-      leaq    128 (%rdi),%rdi
+-
+-      jnz     L(8byte_nt_move_loop)
+-
+-      sfence
+-
+-L(8byte_nt_move_skip):
+-      andl    $127,%r8d
++#ifndef USE_MULTIARCH
++      jmp    L(aligned_now)
+-      lea     (%rdi,%r8,1),%rdi
+-#ifndef PIC
+-      lea     L(setPxQx)(%rip),%r11
+-      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
++L(SSE_pre):
+ #else
+-      lea     L(Got0)(%rip),%r11
+-      lea     L(setPxQx)(%rip),%rcx
+-      movswq  (%rcx,%r8,2),%rcx
+-      lea     (%rcx,%r11,1),%r11
+-      jmpq    *%r11
++L(aligned_now):
+ #endif
+-
+-L(SSE_pre):
++#if !defined USE_MULTIARCH || defined USE_SSE2
+        # fill RegXMM0 with the pattern
+        movd   %rdx,%xmm0
+        punpcklqdq %xmm0,%xmm0
+@@ -1342,11 +1200,162 @@ L(SSExDx):
+       .short     L(SSE15QB)-L(SSE0Q0)
+ #endif
+       .popsection
++#endif /* !defined USE_MULTIARCH || defined USE_SSE2  */
++
++      .balign     16
++#ifndef USE_MULTIARCH
++L(aligned_now):
++
++       cmpl   $0x1,__x86_64_preferred_memory_instruction(%rip)
++       jg     L(SSE_pre)
++#endif /* USE_MULTIARCH */
++
++L(8byte_move_try):
++      cmpq    __STOS_LOWER_BOUNDARY,%r8
++      jae     L(8byte_stos_try)
++
++      .balign     16
++L(8byte_move):
++      movq    %r8,%rcx
++      shrq    $7,%rcx
++      jz      L(8byte_move_skip)
++
++      .p2align 4
++
++L(8byte_move_loop):
++      decq    %rcx
++
++      movq    %rdx,    (%rdi)
++      movq    %rdx,  8 (%rdi)
++      movq    %rdx, 16 (%rdi)
++      movq    %rdx, 24 (%rdi)
++      movq    %rdx, 32 (%rdi)
++      movq    %rdx, 40 (%rdi)
++      movq    %rdx, 48 (%rdi)
++      movq    %rdx, 56 (%rdi)
++      movq    %rdx, 64 (%rdi)
++      movq    %rdx, 72 (%rdi)
++      movq    %rdx, 80 (%rdi)
++      movq    %rdx, 88 (%rdi)
++      movq    %rdx, 96 (%rdi)
++      movq    %rdx, 104 (%rdi)
++      movq    %rdx, 112 (%rdi)
++      movq    %rdx, 120 (%rdi)
++
++      leaq    128 (%rdi),%rdi
++
++      jnz     L(8byte_move_loop)
++
++L(8byte_move_skip):
++      andl    $127,%r8d
++      lea     (%rdi,%r8,1),%rdi
++
++#ifndef PIC
++      lea     L(setPxQx)(%rip),%r11
++      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
++#else
++      lea     L(Got0)(%rip),%r11
++      lea     L(setPxQx)(%rip),%rcx
++      movswq  (%rcx,%r8,2),%rcx
++      lea     (%rcx,%r11,1),%r11
++      jmpq    *%r11
++#endif
++
++      .balign     16
++L(8byte_stos_try):
++      mov    __x86_64_shared_cache_size(%rip),%r9d // ck largest cache size
++      cmpq    %r8,%r9         // calculate the lesser of remaining
++      cmovaq  %r8,%r9         // bytes and largest cache size
++      jbe     L(8byte_stos)
++
++L(8byte_move_reuse_try):
++      cmp     __STOS_UPPER_BOUNDARY,%r8
++      jae     L(8byte_move)
++
++      .balign     16
++L(8byte_stos):
++      movq    %r9,%rcx
++      andq    $-8,%r9
++
++      shrq    $3,%rcx
++      jz      L(8byte_stos_skip)
++
++      xchgq   %rax,%rdx
++
++      rep
++      stosq
++
++      xchgq   %rax,%rdx
++
++L(8byte_stos_skip):
++      subq    %r9,%r8
++      ja      L(8byte_nt_move)
++
++      andl    $7,%r8d
++      lea     (%rdi,%r8,1),%rdi
++#ifndef PIC
++      lea     L(setPxQx)(%rip),%r11
++      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
++#else
++      lea     L(Got0)(%rip),%r11
++      lea     L(setPxQx)(%rip),%rcx
++      movswq  (%rcx,%r8,2),%rcx
++      lea     (%rcx,%r11,1),%r11
++      jmpq    *%r11
++#endif
++
++      .balign     16
++L(8byte_nt_move):
++      movq    %r8,%rcx
++      shrq    $7,%rcx
++      jz      L(8byte_nt_move_skip)
++
++      .balign     16
++L(8byte_nt_move_loop):
++      decq    %rcx
++
++      movntiq %rdx,     (%rdi)
++      movntiq %rdx,   8 (%rdi)
++      movntiq %rdx,  16 (%rdi)
++      movntiq %rdx,  24 (%rdi)
++      movntiq %rdx,  32 (%rdi)
++      movntiq %rdx,  40 (%rdi)
++      movntiq %rdx,  48 (%rdi)
++      movntiq %rdx,  56 (%rdi)
++      movntiq %rdx,  64 (%rdi)
++      movntiq %rdx,  72 (%rdi)
++      movntiq %rdx,  80 (%rdi)
++      movntiq %rdx,  88 (%rdi)
++      movntiq %rdx,  96 (%rdi)
++      movntiq %rdx, 104 (%rdi)
++      movntiq %rdx, 112 (%rdi)
++      movntiq %rdx, 120 (%rdi)
++
++      leaq    128 (%rdi),%rdi
++
++      jnz     L(8byte_nt_move_loop)
++
++      sfence
++
++L(8byte_nt_move_skip):
++      andl    $127,%r8d
++
++      lea     (%rdi,%r8,1),%rdi
++#ifndef PIC
++      lea     L(setPxQx)(%rip),%r11
++      jmpq    *(%r11,%r8,8) # old scheme remained for nonPIC
++#else
++      lea     L(Got0)(%rip),%r11
++      lea     L(setPxQx)(%rip),%rcx
++      movswq  (%rcx,%r8,2),%rcx
++      lea     (%rcx,%r11,1),%r11
++      jmpq    *%r11
++#endif
+ END (memset)
+ libc_hidden_builtin_def (memset)
+-#if defined PIC && !defined NOT_IN_libc
++#if defined PIC && !defined NOT_IN_libc && !defined USE_MULTIARCH
+ strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
+       .section .gnu.warning.__memset_zero_constant_len_parameter
+       .string "memset used with constant zero length parameter; this could be due to transposed parameters"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/Makefile
+@@ -7,7 +7,8 @@ ifeq ($(subdir),string)
+ sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
+                  strend-sse4 memcmp-sse4 \
+                  strcasestr-nonascii strcasecmp_l-ssse3 \
+-                 strncase_l-ssse3
++                 strncase_l-ssse3 \
++                 memset-x86-64
+ ifeq (yes,$(config-cflags-sse4))
+ sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
+ CFLAGS-strcspn-c.c += -msse4
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/bzero.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/bzero.S
+@@ -0,0 +1,56 @@
++/* Multiple versions of bzero
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <sysdep.h>
++#include <init-arch.h>
++
++      .text
++ENTRY(__bzero)
++      .type   __bzero, @gnu_indirect_function
++      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
++      jne     1f
++      call    __init_cpu_features
++1:    leaq    __bzero_x86_64(%rip), %rax
++      testl   $bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
++      jz      2f
++      leaq    __bzero_sse2(%rip), %rax
++2:    ret
++END(__bzero)
++
++      .type   __bzero_sse2, @function
++__bzero_sse2:
++      cfi_startproc
++      CALL_MCOUNT
++      mov     %rsi,%rdx       /* Adjust parameter.  */
++      xorl    %esi,%esi       /* Fill with 0s.  */
++      jmp     __memset_sse2
++      cfi_endproc
++      .size __bzero_sse2, .-__bzero_sse2
++
++      .type   __bzero_x86_64, @function
++__bzero_x86_64:
++      cfi_startproc
++      CALL_MCOUNT
++      mov     %rsi,%rdx       /* Adjust parameter.  */
++      xorl    %esi,%esi       /* Fill with 0s.  */
++      jmp     __memset_x86_64
++      cfi_endproc
++      .size __bzero_x86_64, .-__bzero_x86_64
++
++weak_alias (__bzero, bzero)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/cacheinfo.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/cacheinfo.c
+@@ -0,0 +1,2 @@
++#define DISABLE_PREFERRED_MEMORY_INSTRUCTION
++#include "../cacheinfo.c"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+@@ -59,6 +59,11 @@ __init_cpu_features (void)
+       get_common_indeces (&family, &model);
++      /* Intel processors prefer SSE instruction for memory/string
++       routines if they are avaiable.  */
++      __cpu_features.feature[index_Prefer_SSE_for_memop]
++      |= bit_Prefer_SSE_for_memop;
++
+       unsigned int eax = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].eax;
+       unsigned int extended_family = (eax >> 20) & 0xff;
+       unsigned int extended_model = (eax >> 12) & 0xf0;
+@@ -92,6 +97,14 @@ __init_cpu_features (void)
+       kind = arch_kind_amd;
+       get_common_indeces (&family, &model);
++
++      unsigned int ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
++
++      /* AMD processors prefer SSE instructions for memory/string routines
++       if they are available, otherwise they prefer integer instructions.  */
++      if ((ecx & 0x200))
++      __cpu_features.feature[index_Prefer_SSE_for_memop]
++        |= bit_Prefer_SSE_for_memop;
+     }
+   else
+     kind = arch_kind_other;
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.h
+@@ -16,7 +16,8 @@
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
+-#define bit_Fast_Rep_String   (1 << 0)
++#define bit_Fast_Rep_String           (1 << 0)
++#define bit_Prefer_SSE_for_memop      (1 << 3)
+ #ifdef        __ASSEMBLER__
+@@ -33,6 +34,7 @@
+ # define index_SSE4_2 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
+ #define index_Fast_Rep_String FEATURE_INDEX_1*FEATURE_SIZE
++# define index_Prefer_SSE_for_memop   FEATURE_INDEX_1*FEATURE_SIZE
+ #else /* __ASSEMBLER__ */
+@@ -103,5 +105,12 @@ extern const struct cpu_features *__get_
+ # define HAS_FMA      HAS_CPU_FEATURE (COMMON_CPUID_INDEX_1, ecx, 12)
+ # define index_Fast_Rep_String        FEATURE_INDEX_1
++# define index_Prefer_SSE_for_memop   FEATURE_INDEX_1
++
++#define HAS_ARCH_FEATURE(idx, bit) \
++  ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
++
++#define HAS_PREFER_SSE_FOR_MEMOP \
++  HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
+ #endif        /* __ASSEMBLER__ */
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset-x86-64.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset-x86-64.S
+@@ -0,0 +1,18 @@
++#include <sysdep.h>
++
++#ifndef NOT_IN_libc
++# undef ENTRY_CHK
++# define ENTRY_CHK(name) \
++      .type __memset_chk_x86_64, @function; \
++      .globl __memset_chk_x86_64; \
++      .p2align 4; \
++      __memset_chk_x86_64: cfi_startproc; \
++      CALL_MCOUNT
++# undef END_CHK
++# define END_CHK(name) \
++      cfi_endproc; .size __memset_chk_x86_64, .-__memset_chk_x86_64
++
++# define libc_hidden_builtin_def(name)
++# define memset __memset_x86_64
++# include "../memset.S"
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset.S
+@@ -0,0 +1,74 @@
++/* Multiple versions of memset
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <sysdep.h>
++#include <init-arch.h>
++
++/* Define multiple versions only for the definition in lib.  */
++#ifndef NOT_IN_libc
++ENTRY(memset)
++      .type   memset, @gnu_indirect_function
++      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
++      jne     1f
++      call    __init_cpu_features
++1:    leaq    __memset_x86_64(%rip), %rax
++      testl   $bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
++      jz      2f
++      leaq    __memset_sse2(%rip), %rax
++2:    ret
++END(memset)
++
++# define USE_SSE2 1
++
++# undef ENTRY
++# define ENTRY(name) \
++      .type __memset_sse2, @function; \
++      .globl __memset_sse2; \
++      .p2align 4; \
++      __memset_sse2: cfi_startproc; \
++      CALL_MCOUNT
++# undef END
++# define END(name) \
++      cfi_endproc; .size __memset_sse2, .-__memset_sse2
++
++# undef ENTRY_CHK
++# define ENTRY_CHK(name) \
++      .type __memset_chk_sse2, @function; \
++      .globl __memset_chk_sse2; \
++      .p2align 4; \
++      __memset_chk_sse2: cfi_startproc; \
++      CALL_MCOUNT
++# undef END_CHK
++# define END_CHK(name) \
++      cfi_endproc; .size __memset_chk_sse2, .-__memset_chk_sse2
++
++# ifdef SHARED
++#  undef libc_hidden_builtin_def
++/* It doesn't make sense to send libc-internal memset calls through a PLT.
++   The speedup we get from using GPR instruction is likely eaten away
++   by the indirect call in the PLT.  */
++#  define libc_hidden_builtin_def(name) \
++      .globl __GI_memset; __GI_memset = __memset_sse2
++# endif
++
++# undef strong_alias
++# define strong_alias(original, alias)
++#endif
++
++#include "../memset.S"
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset_chk.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/memset_chk.S
+@@ -0,0 +1,44 @@
++/* Multiple versions of __memset_chk
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <sysdep.h>
++#include <init-arch.h>
++
++/* Define multiple versions only for the definition in lib.  */
++#ifndef NOT_IN_libc
++# ifdef SHARED
++ENTRY(__memset_chk)
++      .type   __memset_chk, @gnu_indirect_function
++      cmpl    $0, __cpu_features+KIND_OFFSET(%rip)
++      jne     1f
++      call    __init_cpu_features
++1:    leaq    __memset_chk_x86_64(%rip), %rax
++      testl   $bit_Prefer_SSE_for_memop, __cpu_features+FEATURE_OFFSET+index_Prefer_SSE_for_memop(%rip)
++      jz      2f
++      leaq    __memset_chk_sse2(%rip), %rax
++2:    ret
++END(__memset_chk)
++
++strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
++      .section .gnu.warning.__memset_zero_constant_len_parameter
++      .string "memset used with constant zero length parameter; this could be due to transposed parameters"
++# else
++#  include "../memset_chk.S"
++# endif
++#endif
diff --git a/src/patches/glibc/glibc-rh676591.patch b/src/patches/glibc/glibc-rh676591.patch
new file mode 100644 (file)
index 0000000..fd6df1e
--- /dev/null
@@ -0,0 +1,352 @@
+2011-05-15  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #11901]
+       * include/stdlib.h: Move include protection to the right place.
+       Define abort_msg_s.  Declare __abort_msg with it.
+       * stdlib/abort.c (__abort_msg): Adjust type.
+       * assert/assert.c (__assert_fail_base): New function.  Majority
+       of code from __assert_fail.  Allocate memory for __abort_msg with
+       mmap.
+       (__assert_fail): Now call __assert_fail_base.
+       * assert/assert-perr.c: Remove bulk of implementation.  Use
+       __assert_fail_base.
+       * include/assert.hL Declare __assert_fail_base.
+       * sysdeps/posix/libc_fatal.c: Allocate memory for __abort_msg with
+       mmap.
+       * sysdeps/unix/sysv/linux/libc_fatal.c: Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/assert/assert-perr.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/assert/assert-perr.c
++++ glibc-2.12-2-gc4ccff1/assert/assert-perr.c
+@@ -17,66 +17,23 @@
+    02111-1307 USA.  */
+ #include <assert.h>
+-#include <atomic.h>
+ #include <libintl.h>
+-#include <stdio.h>
+-#include <stdlib.h>
+ #include <string.h>
+-#include <sysdep.h>
+-#include <unistd.h>
+-extern const char *__progname;
+-
+-#ifdef USE_IN_LIBIO
+-# include <wchar.h>
+-# include <libio/iolibio.h>
+-# define fflush(s) INTUSE(_IO_fflush) (s)
+-#endif
+-
+ /* This function, when passed an error number, a filename, and a line
+    number, prints a message on the standard error stream of the form:
+-      a.c:10: foobar: Unexpected error: Computer bought the farm
++      a.c:10: foobar: Unexpected error: Computer bought the farm
+    It then aborts program execution via a call to `abort'.  */
+-
+-#ifdef FATAL_PREPARE_INCLUDE
+-# include FATAL_PREPARE_INCLUDE
+-#endif
+-
+ void
+ __assert_perror_fail (int errnum,
+                     const char *file, unsigned int line,
+                     const char *function)
+ {
+   char errbuf[1024];
+-  char *buf;
+-
+-#ifdef FATAL_PREPARE
+-  FATAL_PREPARE;
+-#endif
+-
+-  if (__asprintf (&buf, _("%s%s%s:%u: %s%sUnexpected error: %s.\n"),
+-                __progname, __progname[0] ? ": " : "",
+-                file, line,
+-                function ? function : "", function ? ": " : "",
+-                __strerror_r (errnum, errbuf, sizeof errbuf)) >= 0)
+-    {
+-      /* Print the message.  */
+-      (void) __fxprintf (NULL, "%s", buf);
+-      (void) fflush (stderr);
+-
+-      /* We have to free the old buffer since the application might
+-       catch the SIGABRT signal.  */
+-      char *old = atomic_exchange_acq (&__abort_msg, buf);
+-      free (old);
+-    }
+-  else
+-    {
+-      /* At least print a minimal message.  */
+-      static const char errstr[] = "Unexpected error.\n";
+-      __libc_write (STDERR_FILENO, errstr, sizeof (errstr) - 1);
+-    }
+-  abort ();
++  char *e = __strerror_r (errnum, errbuf, sizeof errbuf);
++  __assert_fail_base (_("%s%s%s:%u: %s%sUnexpected error: %s.\n"),
++                    e, file, line, function);
+ }
+ libc_hidden_def (__assert_perror_fail)
+Index: glibc-2.12-2-gc4ccff1/assert/assert.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/assert/assert.c
++++ glibc-2.12-2-gc4ccff1/assert/assert.c
+@@ -19,11 +19,13 @@
+ #include <assert.h>
+ #include <atomic.h>
++#include <ldsodefs.h>
+ #include <libintl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sysdep.h>
+ #include <unistd.h>
++#include <sys/mman.h>
+ extern const char *__progname;
+@@ -45,31 +47,44 @@ extern const char *__progname;
+ #endif
+-#undef __assert_fail
+ void
+-__assert_fail (const char *assertion, const char *file, unsigned int line,
+-             const char *function)
++__assert_fail_base (const char *fmt, const char *assertion, const char *file,
++                  unsigned int line, const char *function)
+ {
+-  char *buf;
++  char *str;
+ #ifdef FATAL_PREPARE
+   FATAL_PREPARE;
+ #endif
+-  if (__asprintf (&buf, _("%s%s%s:%u: %s%sAssertion `%s' failed.\n"),
++  int total;
++  if (__asprintf (&str, fmt,
+                 __progname, __progname[0] ? ": " : "",
+                 file, line,
+                 function ? function : "", function ? ": " : "",
+-                assertion) >= 0)
++                assertion, &total) >= 0)
+     {
+       /* Print the message.  */
+-      (void) __fxprintf (NULL, "%s", buf);
++      (void) __fxprintf (NULL, "%s", str);
+       (void) fflush (stderr);
+-      /* We have to free the old buffer since the application might
+-       catch the SIGABRT signal.  */
+-      char *old = atomic_exchange_acq (&__abort_msg, buf);
+-      free (old);
++      total = (total + 1 + GLRO(dl_pagesize) - 1) & ~(GLRO(dl_pagesize) - 1);
++      struct abort_msg_s *buf = __mmap (NULL, total, PROT_READ | PROT_WRITE,
++                                      MAP_ANON | MAP_PRIVATE, -1, 0);
++      if (__builtin_expect (buf != MAP_FAILED, 1))
++      {
++        buf->size = total;
++        strcpy (buf->msg, str);
++
++        /* We have to free the old buffer since the application might
++           catch the SIGABRT signal.  */
++        struct abort_msg_s *old = atomic_exchange_acq (&__abort_msg, buf);
++
++        if (old != NULL)
++          __munmap (old, old->size);
++      }
++
++      free (str);
+     }
+   else
+     {
+@@ -80,4 +95,14 @@ __assert_fail (const char *assertion, co
+   abort ();
+ }
++
++
++#undef __assert_fail
++void
++__assert_fail (const char *assertion, const char *file, unsigned int line,
++             const char *function)
++{
++  __assert_fail_base (_("%s%s%s:%u: %s%sAssertion `%s' failed.\n%n"),
++                    assertion, file, line, function);
++}
+ hidden_def(__assert_fail)
+Index: glibc-2.12-2-gc4ccff1/include/assert.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/include/assert.h
++++ glibc-2.12-2-gc4ccff1/include/assert.h
+@@ -13,6 +13,12 @@ extern void __assert_perror_fail (int __
+                                 __const char *__function)
+      __THROW __attribute__ ((__noreturn__));
++/* The real implementation of the two functions above.  */
++extern void __assert_fail_base (const char *fmt, const char *assertion,
++                              const char *file, unsigned int line,
++                              const char *function)
++     __THROW  __attribute__ ((__noreturn__));
++
+ #if !defined NOT_IN_libc || defined IS_IN_rtld
+ hidden_proto (__assert_fail)
+ hidden_proto (__assert_perror_fail)
+Index: glibc-2.12-2-gc4ccff1/include/stdlib.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/include/stdlib.h
++++ glibc-2.12-2-gc4ccff1/include/stdlib.h
+@@ -223,16 +223,21 @@ extern int __qfcvt_r (long double __valu
+ # define __cxa_atexit(func, arg, d) INTUSE(__cxa_atexit) (func, arg, d)
+ # endif
+-#endif
+-
+ extern void *__default_morecore (ptrdiff_t) __THROW;
+ libc_hidden_proto (__default_morecore)
+-extern char *__abort_msg;
++struct abort_msg_s
++{
++  unsigned int size;
++  char msg[0];
++};
++extern struct abort_msg_s *__abort_msg;
+ libc_hidden_proto (__abort_msg)
+ __END_DECLS
++#endif
++
+ #undef __Need_M_And_C
+ #endif  /* include/stdlib.h */
+Index: glibc-2.12-2-gc4ccff1/stdlib/abort.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/stdlib/abort.c
++++ glibc-2.12-2-gc4ccff1/stdlib/abort.c
+@@ -37,7 +37,7 @@
+ #endif
+ /* Exported variable to locate abort message in core files etc.  */
+-char *__abort_msg __attribute__ ((nocommon));
++struct abort_msg_s *__abort_msg __attribute__ ((nocommon));
+ libc_hidden_def (__abort_msg)
+ /* We must avoid to run in circles.  Therefore we remember how far we
+Index: glibc-2.12-2-gc4ccff1/sysdeps/posix/libc_fatal.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/posix/libc_fatal.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/posix/libc_fatal.c
+@@ -20,6 +20,7 @@
+ #include <atomic.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <ldsodefs.h>
+ #include <paths.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+@@ -125,18 +126,28 @@ __libc_message (int do_abort, const char
+       if (TEMP_FAILURE_RETRY (__writev (fd, iov, nlist)) == total)
+       written = true;
+-      char *buf = do_abort ? malloc (total + 1) : NULL;
+-      if (buf != NULL)
++      if (do_abort)
+       {
+-        char *wp = buf;
+-        for (int cnt = 0; cnt < nlist; ++cnt)
+-          wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
+-        *wp = '\0';
+-
+-        /* We have to free the old buffer since the application might
+-           catch the SIGABRT signal.  */
+-        char *old = atomic_exchange_acq (&__abort_msg, buf);
+-        free (old);
++        total = ((total + 1 + GLRO(dl_pagesize) - 1)
++                 & ~(GLRO(dl_pagesize) - 1));
++        struct abort_msg_s *buf = __mmap (NULL, total,
++                                          PROT_READ | PROT_WRITE,
++                                          MAP_ANON | MAP_PRIVATE, -1, 0);
++        if (buf != MAP_FAILED)
++          {
++            buf->size = total;
++            char *wp = buf->msg;
++            for (int cnt = 0; cnt < nlist; ++cnt)
++              wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
++            *wp = '\0';
++
++            /* We have to free the old buffer since the application might
++               catch the SIGABRT signal.  */
++            struct abort_msg_s *old = atomic_exchange_acq (&__abort_msg,
++                                                           buf);
++            if (old != NULL)
++              __munmap (old, old->size);
++          }
+       }
+     }
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/libc_fatal.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/libc_fatal.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/libc_fatal.c
+@@ -20,6 +20,7 @@
+ #include <atomic.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <ldsodefs.h>
+ #include <paths.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+@@ -28,6 +29,7 @@
+ #include <string.h>
+ #include <sysdep.h>
+ #include <unistd.h>
++#include <sys/mman.h>
+ #include <sys/syslog.h>
+ #include <execinfo.h>
+@@ -134,18 +136,28 @@ __libc_message (int do_abort, const char
+       if (cnt == total)
+       written = true;
+-      char *buf = do_abort ? malloc (total + 1) : NULL;
+-      if (buf != NULL)
++      if (do_abort)
+       {
+-        char *wp = buf;
+-        for (int cnt = 0; cnt < nlist; ++cnt)
+-          wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
+-        *wp = '\0';
+-
+-        /* We have to free the old buffer since the application might
+-           catch the SIGABRT signal.  */
+-        char *old = atomic_exchange_acq (&__abort_msg, buf);
+-        free (old);
++        total = ((total + 1 + GLRO(dl_pagesize) - 1)
++                 & ~(GLRO(dl_pagesize) - 1));
++        struct abort_msg_s *buf = __mmap (NULL, total,
++                                          PROT_READ | PROT_WRITE,
++                                          MAP_ANON | MAP_PRIVATE, -1, 0);
++        if (__builtin_expect (buf != MAP_FAILED, 1))
++          {
++            buf->size = total;
++            char *wp = buf->msg;
++            for (int cnt = 0; cnt < nlist; ++cnt)
++              wp = mempcpy (wp, iov[cnt].iov_base, iov[cnt].iov_len);
++            *wp = '\0';
++
++            /* We have to free the old buffer since the application might
++               catch the SIGABRT signal.  */
++            struct abort_msg_s *old = atomic_exchange_acq (&__abort_msg,
++                                                           buf);
++            if (old != NULL)
++              __munmap (old, old->size);
++          }
+       }
+     }
diff --git a/src/patches/glibc/glibc-rh681054.patch b/src/patches/glibc/glibc-rh681054.patch
new file mode 100644 (file)
index 0000000..27b7361
--- /dev/null
@@ -0,0 +1,514 @@
+2011-03-18  Ulrich Drepper  <drepper@gmail.com>
+
+       * posix/fnmatch.c (fnmatch): Check size of pattern in wide
+       character representation.
+       Partly based on a patch by Tomas Hoger <thoger@redhat.com>.
+
+2010-11-11  Andreas Schwab  <schwab@redhat.com>
+
+       * posix/fnmatch_loop.c (NEW_PATTERN): Fix use of alloca.
+       * posix/Makefile (tests): Add $(objpfx)tst-fnmatch-mem.
+       (tst-fnmatch-ENV): Set MALLOC_TRACE.
+       ($(objpfx)tst-fnmatch-mem): New rule.
+       (generated): Add tst-fnmatch-mem and tst-fnmatch.mtrace.
+       * posix/tst-fnmatch.c (main): Call mtrace.
+
+2010-08-09  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #11883]
+       * posix/fnmatch.c: Keep track of alloca use and fall back on malloc.
+       * posix/fnmatch_loop.c: Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/posix/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/posix/Makefile
++++ glibc-2.12-2-gc4ccff1/posix/Makefile
+@@ -114,7 +114,8 @@ generated := $(addprefix wordexp-test-re
+            tst-rxspencer-mem tst-rxspencer.mtrace tst-getconf.out \
+            tst-pcre-mem tst-pcre.mtrace tst-boost-mem tst-boost.mtrace \
+            bug-ga2.mtrace bug-ga2-mem bug-glob2.mtrace bug-glob2-mem \
+-           tst-vfork3-mem tst-vfork3.mtrace getconf.speclist
++           tst-vfork3-mem tst-vfork3.mtrace getconf.speclist \
++           tst-fnmatch-mem tst-fnmatch.mtrace
+ include ../Rules
+@@ -226,7 +227,7 @@ ifeq (no,$(cross-compiling))
+ tests: $(objpfx)bug-regex2-mem $(objpfx)bug-regex14-mem \
+   $(objpfx)bug-regex21-mem $(objpfx)tst-rxspencer-mem \
+   $(objpfx)tst-pcre-mem $(objpfx)tst-boost-mem $(objpfx)tst-getconf.out \
+-  $(objpfx)bug-glob2-mem $(objpfx)tst-vfork3-mem
++  $(objpfx)bug-glob2-mem $(objpfx)tst-vfork3-mem $(objpfx)tst-fnmatch-mem
+ xtests: $(objpfx)bug-ga2-mem
+ endif
+@@ -238,6 +239,11 @@ annexc-CFLAGS = -O
+ $(objpfx)annexc: annexc.c
+       $(native-compile)
++tst-fnmatch-ENV += MALLOC_TRACE=$(objpfx)tst-fnmatch.mtrace
++
++$(objpfx)tst-fnmatch-mem: $(objpfx)tst-fnmatch.out
++      $(common-objpfx)malloc/mtrace $(objpfx)tst-fnmatch.mtrace > $@
++
+ bug-regex2-ENV = MALLOC_TRACE=$(objpfx)bug-regex2.mtrace
+ $(objpfx)bug-regex2-mem: $(objpfx)bug-regex2.out
+Index: glibc-2.12-2-gc4ccff1/posix/fnmatch.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/posix/fnmatch.c
++++ glibc-2.12-2-gc4ccff1/posix/fnmatch.c
+@@ -41,6 +41,12 @@
+ # include <stdlib.h>
+ #endif
++#ifdef _LIBC
++# include <alloca.h>
++#else
++# define alloca_account(size., var) alloca (size)
++#endif
++
+ /* For platform which support the ISO C amendement 1 functionality we
+    support user defined character classes.  */
+ #if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H)
+@@ -330,8 +336,11 @@ fnmatch (pattern, string, flags)
+       mbstate_t ps;
+       size_t n;
+       const char *p;
++      wchar_t *wpattern_malloc = NULL;
+       wchar_t *wpattern;
++      wchar_t *wstring_malloc = NULL;
+       wchar_t *wstring;
++      size_t alloca_used = 0;
+       /* Convert the strings into wide characters.  */
+       memset (&ps, '\0', sizeof (ps));
+@@ -343,7 +352,8 @@ fnmatch (pattern, string, flags)
+ #endif
+       if (__builtin_expect (n < 1024, 1))
+       {
+-        wpattern = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
++        wpattern = (wchar_t *) alloca_account ((n + 1) * sizeof (wchar_t),
++                                               alloca_used);
+         n = mbsrtowcs (wpattern, &p, n + 1, &ps);
+         if (__builtin_expect (n == (size_t) -1, 0))
+           /* Something wrong.
+@@ -365,8 +375,16 @@ fnmatch (pattern, string, flags)
+              XXX Do we have to set `errno' to something which mbsrtows hasn't
+              already done?  */
+           return -1;
+-        wpattern = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
++        if (__builtin_expect (n >= (size_t) -1 / sizeof (wchar_t), 0))
++          {
++            __set_errno (ENOMEM);
++            return -2;
++          }
++        wpattern_malloc = wpattern
++          = (wchar_t *) malloc ((n + 1) * sizeof (wchar_t));
+         assert (mbsinit (&ps));
++        if (wpattern == NULL)
++          return -2;
+         (void) mbsrtowcs (wpattern, &pattern, n + 1, &ps);
+       }
+@@ -379,13 +397,18 @@ fnmatch (pattern, string, flags)
+       p = string;
+       if (__builtin_expect (n < 1024, 1))
+       {
+-        wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
++        wstring = (wchar_t *) alloca_account ((n + 1) * sizeof (wchar_t),
++                                              alloca_used);
+         n = mbsrtowcs (wstring, &p, n + 1, &ps);
+         if (__builtin_expect (n == (size_t) -1, 0))
+-          /* Something wrong.
+-             XXX Do we have to set `errno' to something which mbsrtows hasn't
+-             already done?  */
+-          return -1;
++          {
++            /* Something wrong.
++               XXX Do we have to set `errno' to something which
++               mbsrtows hasn't already done?  */
++          free_return:
++            free (wpattern_malloc);
++            return -1;
++          }
+         if (p)
+           {
+             memset (&ps, '\0', sizeof (ps));
+@@ -400,19 +423,38 @@ fnmatch (pattern, string, flags)
+           /* Something wrong.
+              XXX Do we have to set `errno' to something which mbsrtows hasn't
+              already done?  */
+-          return -1;
+-        wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t));
++          goto free_return;
++        if (__builtin_expect (n >= (size_t) -1 / sizeof (wchar_t), 0))
++          {
++            free (wpattern_malloc);
++            __set_errno (ENOMEM);
++            return -2;
++          }
++
++        wstring_malloc = wstring
++          = (wchar_t *) malloc ((n + 1) * sizeof (wchar_t));
++        if (wstring == NULL)
++          {
++            free (wpattern_malloc);
++            return -2;
++          }
+         assert (mbsinit (&ps));
+         (void) mbsrtowcs (wstring, &string, n + 1, &ps);
+       }
+-      return internal_fnwmatch (wpattern, wstring, wstring + n,
+-                              flags & FNM_PERIOD, flags, NULL);
++      int res = internal_fnwmatch (wpattern, wstring, wstring + n,
++                                 flags & FNM_PERIOD, flags, NULL,
++                                 alloca_used);
++
++      free (wstring_malloc);
++      free (wpattern_malloc);
++
++      return res;
+     }
+ # endif  /* mbstate_t and mbsrtowcs or _LIBC.  */
+   return internal_fnmatch (pattern, string, string + strlen (string),
+-                         flags & FNM_PERIOD, flags, NULL);
++                         flags & FNM_PERIOD, flags, NULL, 0);
+ }
+ # ifdef _LIBC
+Index: glibc-2.12-2-gc4ccff1/posix/fnmatch_loop.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/posix/fnmatch_loop.c
++++ glibc-2.12-2-gc4ccff1/posix/fnmatch_loop.c
+@@ -28,22 +28,24 @@ struct STRUCT
+    it matches, nonzero if not.  */
+ static int FCT (const CHAR *pattern, const CHAR *string,
+               const CHAR *string_end, int no_leading_period, int flags,
+-              struct STRUCT *ends)
++              struct STRUCT *ends, size_t alloca_used)
+      internal_function;
+ static int EXT (INT opt, const CHAR *pattern, const CHAR *string,
+-              const CHAR *string_end, int no_leading_period, int flags)
++              const CHAR *string_end, int no_leading_period, int flags,
++              size_t alloca_used)
+      internal_function;
+ static const CHAR *END (const CHAR *patternp) internal_function;
+ static int
+ internal_function
+-FCT (pattern, string, string_end, no_leading_period, flags, ends)
++FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
+      const CHAR *pattern;
+      const CHAR *string;
+      const CHAR *string_end;
+      int no_leading_period;
+      int flags;
+      struct STRUCT *ends;
++     size_t alloca_used;
+ {
+   register const CHAR *p = pattern, *n = string;
+   register UCHAR c;
+@@ -67,10 +69,8 @@ FCT (pattern, string, string_end, no_lea
+       case L('?'):
+         if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(')
+           {
+-            int res;
+-
+-            res = EXT (c, p, n, string_end, no_leading_period,
+-                       flags);
++            int res = EXT (c, p, n, string_end, no_leading_period,
++                           flags, alloca_used);
+             if (res != -1)
+               return res;
+           }
+@@ -99,10 +99,8 @@ FCT (pattern, string, string_end, no_lea
+       case L('*'):
+         if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(')
+           {
+-            int res;
+-
+-            res = EXT (c, p, n, string_end, no_leading_period,
+-                       flags);
++            int res = EXT (c, p, n, string_end, no_leading_period,
++                           flags, alloca_used);
+             if (res != -1)
+               return res;
+           }
+@@ -191,7 +189,7 @@ FCT (pattern, string, string_end, no_lea
+                 for (--p; n < endp; ++n, no_leading_period = 0)
+                   if (FCT (p, n, string_end, no_leading_period, flags2,
+-                           &end) == 0)
++                           &end, alloca_used) == 0)
+                     goto found;
+               }
+             else if (c == L('/') && (flags & FNM_FILE_NAME))
+@@ -200,7 +198,7 @@ FCT (pattern, string, string_end, no_lea
+                   ++n;
+                 if (n < string_end && *n == L('/')
+                     && (FCT (p, n + 1, string_end, flags & FNM_PERIOD, flags,
+-                             NULL) == 0))
++                             NULL, alloca_used) == 0))
+                   return 0;
+               }
+             else
+@@ -214,7 +212,7 @@ FCT (pattern, string, string_end, no_lea
+                 for (--p; n < endp; ++n, no_leading_period = 0)
+                   if (FOLD ((UCHAR) *n) == c
+                       && (FCT (p, n, string_end, no_leading_period, flags2,
+-                               &end) == 0))
++                               &end, alloca_used) == 0))
+                     {
+                     found:
+                       if (end.pattern == NULL)
+@@ -749,7 +747,7 @@ FCT (pattern, string, string_end, no_lea
+                                              _NL_COLLATE_SYMB_EXTRAMB);
+                               /* Locate the character in the hashing
+-                                   table.  */
++                                 table.  */
+                               hash = elem_hash (str, c1);
+                               idx = 0;
+@@ -971,9 +969,8 @@ FCT (pattern, string, string_end, no_lea
+       case L('!'):
+         if (__builtin_expect (flags & FNM_EXTMATCH, 0) && *p == '(')
+           {
+-            int res;
+-
+-            res = EXT (c, p, n, string_end, no_leading_period, flags);
++            int res = EXT (c, p, n, string_end, no_leading_period, flags,
++                           alloca_used);
+             if (res != -1)
+               return res;
+           }
+@@ -1052,26 +1049,32 @@ END (const CHAR *pattern)
+ static int
+ internal_function
+ EXT (INT opt, const CHAR *pattern, const CHAR *string, const CHAR *string_end,
+-     int no_leading_period, int flags)
++     int no_leading_period, int flags, size_t alloca_used)
+ {
+   const CHAR *startp;
+   int level;
+   struct patternlist
+   {
+     struct patternlist *next;
++    CHAR malloced;
+     CHAR str[0];
+   } *list = NULL;
+   struct patternlist **lastp = &list;
+   size_t pattern_len = STRLEN (pattern);
++  int any_malloced = 0;
+   const CHAR *p;
+   const CHAR *rs;
++  int retval = 0;
+   /* Parse the pattern.  Store the individual parts in the list.  */
+   level = 0;
+   for (startp = p = pattern + 1; level >= 0; ++p)
+     if (*p == L('\0'))
+-      /* This is an invalid pattern.  */
+-      return -1;
++      {
++      /* This is an invalid pattern.  */
++      retval = -1;
++      goto out;
++      }
+     else if (*p == L('['))
+       {
+       /* Handle brackets special.  */
+@@ -1088,8 +1091,11 @@ EXT (INT opt, const CHAR *pattern, const
+       /* Skip over all characters of the list.  */
+       while (*p != L(']'))
+         if (*p++ == L('\0'))
+-          /* This is no valid pattern.  */
+-          return -1;
++          {
++            /* This is no valid pattern.  */
++            retval = -1;
++            goto out;
++          }
+       }
+     else if ((*p == L('?') || *p == L('*') || *p == L('+') || *p == L('@')
+             || *p == L('!')) && p[1] == L('('))
+@@ -1102,15 +1108,25 @@ EXT (INT opt, const CHAR *pattern, const
+           /* This means we found the end of the pattern.  */
+ #define NEW_PATTERN \
+           struct patternlist *newp;                                         \
+-                                                                            \
+-          if (opt == L('?') || opt == L('@'))                               \
+-            newp = alloca (sizeof (struct patternlist)                      \
+-                           + (pattern_len * sizeof (CHAR)));                \
++          size_t slen = (opt == L('?') || opt == L('@')                     \
++                         ? pattern_len : (p - startp + 1));                 \
++          slen = sizeof (struct patternlist) + (slen * sizeof (CHAR));      \
++          int malloced = ! __libc_use_alloca (alloca_used + slen);          \
++          if (__builtin_expect (malloced, 0))                               \
++            {                                                               \
++              newp = malloc (slen);                                         \
++              if (newp == NULL)                                             \
++                {                                                           \
++                  retval = -2;                                              \
++                  goto out;                                                 \
++                }                                                           \
++              any_malloced = 1;                                             \
++            }                                                               \
+           else                                                              \
+-            newp = alloca (sizeof (struct patternlist)                      \
+-                           + ((p - startp + 1) * sizeof (CHAR)));           \
+-          *((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L('\0');    \
++            newp = alloca_account (slen, alloca_used);                      \
+           newp->next = NULL;                                                \
++          newp->malloced = malloced;                                        \
++          *((CHAR *) MEMPCPY (newp->str, startp, p - startp)) = L('\0');    \
+           *lastp = newp;                                                    \
+           lastp = &newp->next
+           NEW_PATTERN;
+@@ -1131,8 +1147,9 @@ EXT (INT opt, const CHAR *pattern, const
+   switch (opt)
+     {
+     case L('*'):
+-      if (FCT (p, string, string_end, no_leading_period, flags, NULL) == 0)
+-      return 0;
++      if (FCT (p, string, string_end, no_leading_period, flags, NULL,
++             alloca_used) == 0)
++      goto success;
+       /* FALLTHROUGH */
+     case L('+'):
+@@ -1143,7 +1160,7 @@ EXT (INT opt, const CHAR *pattern, const
+              current pattern.  */
+           if (FCT (list->str, string, rs, no_leading_period,
+                    flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
+-                   NULL) == 0
++                   NULL, alloca_used) == 0
+               /* This was successful.  Now match the rest with the rest
+                  of the pattern.  */
+               && (FCT (p, rs, string_end,
+@@ -1151,7 +1168,7 @@ EXT (INT opt, const CHAR *pattern, const
+                        ? no_leading_period
+                        : rs[-1] == '/' && NO_LEADING_PERIOD (flags) ? 1 : 0,
+                        flags & FNM_FILE_NAME
+-                       ? flags : flags & ~FNM_PERIOD, NULL) == 0
++                       ? flags : flags & ~FNM_PERIOD, NULL, alloca_used) == 0
+                   /* This didn't work.  Try the whole pattern.  */
+                   || (rs != string
+                       && FCT (pattern - 1, rs, string_end,
+@@ -1160,18 +1177,21 @@ EXT (INT opt, const CHAR *pattern, const
+                               : (rs[-1] == '/' && NO_LEADING_PERIOD (flags)
+                                  ? 1 : 0),
+                               flags & FNM_FILE_NAME
+-                              ? flags : flags & ~FNM_PERIOD, NULL) == 0)))
++                              ? flags : flags & ~FNM_PERIOD, NULL,
++                              alloca_used) == 0)))
+             /* It worked.  Signal success.  */
+-            return 0;
++            goto success;
+       }
+       while ((list = list->next) != NULL);
+       /* None of the patterns lead to a match.  */
+-      return FNM_NOMATCH;
++      retval = FNM_NOMATCH;
++      break;
+     case L('?'):
+-      if (FCT (p, string, string_end, no_leading_period, flags, NULL) == 0)
+-      return 0;
++      if (FCT (p, string, string_end, no_leading_period, flags, NULL,
++             alloca_used) == 0)
++      goto success;
+       /* FALLTHROUGH */
+     case L('@'):
+@@ -1183,13 +1203,14 @@ EXT (INT opt, const CHAR *pattern, const
+       if (FCT (STRCAT (list->str, p), string, string_end,
+                no_leading_period,
+                flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
+-               NULL) == 0)
++               NULL, alloca_used) == 0)
+         /* It worked.  Signal success.  */
+-        return 0;
++        goto success;
+       while ((list = list->next) != NULL);
+       /* None of the patterns lead to a match.  */
+-      return FNM_NOMATCH;
++      retval = FNM_NOMATCH;
++      break;
+     case L('!'):
+       for (rs = string; rs <= string_end; ++rs)
+@@ -1199,7 +1220,7 @@ EXT (INT opt, const CHAR *pattern, const
+         for (runp = list; runp != NULL; runp = runp->next)
+           if (FCT (runp->str, string, rs,  no_leading_period,
+                    flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
+-                   NULL) == 0)
++                   NULL, alloca_used) == 0)
+             break;
+         /* If none of the patterns matched see whether the rest does.  */
+@@ -1209,21 +1230,34 @@ EXT (INT opt, const CHAR *pattern, const
+                      ? no_leading_period
+                      : rs[-1] == '/' && NO_LEADING_PERIOD (flags) ? 1 : 0,
+                      flags & FNM_FILE_NAME ? flags : flags & ~FNM_PERIOD,
+-                     NULL) == 0))
++                     NULL, alloca_used) == 0))
+           /* This is successful.  */
+-          return 0;
++          goto success;
+       }
+       /* None of the patterns together with the rest of the pattern
+        lead to a match.  */
+-      return FNM_NOMATCH;
++      retval = FNM_NOMATCH;
++      break;
+     default:
+       assert (! "Invalid extended matching operator");
++      retval = -1;
+       break;
+     }
+-  return -1;
++ success:
++ out:
++  if (any_malloced)
++    while (list != NULL)
++      {
++      struct patternlist *old = list;
++      list = list->next;
++      if (old->malloced)
++        free (old);
++      }
++
++  return retval;
+ }
+Index: glibc-2.12-2-gc4ccff1/posix/tst-fnmatch.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/posix/tst-fnmatch.c
++++ glibc-2.12-2-gc4ccff1/posix/tst-fnmatch.c
+@@ -25,6 +25,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/types.h>
++#include <mcheck.h>
+ static char *next_input (char **line, int first, int last);
+@@ -46,6 +47,8 @@ main (void)
+   size_t escpatternlen = 0;
+   int nr = 0;
++  mtrace ();
++
+   /* Read lines from stdin with the following format:
+        locale  input-string  match-string  flags  result
diff --git a/src/patches/glibc/glibc-rh688720.patch b/src/patches/glibc/glibc-rh688720.patch
new file mode 100644 (file)
index 0000000..0c86f25
--- /dev/null
@@ -0,0 +1,1638 @@
+2011-11-11  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #13147]
+       * locales/de_AT: Use de_DE for LC_NUMERIC.
+       * locales/es_BO: Use es_ES for LC_MESSAGES and LC_NUMERIC.
+       * locales/es_CL: Likewise.
+       * locales/es_CO: Likewise.
+       * locales/es_DO: Likewise.
+       * locales/es_EC: Likewise.
+       * locales/es_GT: Likewise.
+       * locales/es_HN: Likewise.
+       * locales/es_MX: Likewise.
+       * locales/es_NI: Likewise.
+       * locales/es_PA: Likewise.
+       * locales/es_PE: Likewise.
+       * locales/es_PR: Likewise.
+       * locales/es_PY: Likewise.
+       * locales/es_SV: Likewise.
+       * locales/es_UY: Likewise.
+       * locales/es_VE: Likewise.
+       * locales/es_ES: Fix LC_NUMERIC.
+       * locales/es_CR: Use es_ES for LC_MESSAGES.
+       * locales/fr_BE: Actually use grouping in LC_NUMERIC.
+       * locales/fr_CA: Use fr_FR for LC_MESSAGES and LC_NUMERIC.
+       * locales/fr_CH: Use de_CH for LC_NUMERIC.
+       * locales/fr_LU: Use same grouping in LC_NUMERIC as in LC_MONETARY.
+
+2010-05-17  Andreas Schwab  <schwab@redhat.com>
+
+       * locales/es_CR (LC_ADDRESS): Fix character names in lang_ab.
+
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/de_AT
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/de_AT
++++ glibc-2.12-2-gc4ccff1/localedata/locales/de_AT
+@@ -78,41 +78,39 @@ n_sign_posn               1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point             "<U002C>"
+-thousands_sep             ""
+-grouping                  0;0
++copy "de_DE"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0053><U006F><U006E>";"<U004D><U006F><U006E>";/
+-        "<U0044><U0069><U0065>";"<U004D><U0069><U0074>";/
+-        "<U0044><U006F><U006E>";"<U0046><U0072><U0065>";/
+-        "<U0053><U0061><U006D>"
++      "<U0044><U0069><U0065>";"<U004D><U0069><U0074>";/
++      "<U0044><U006F><U006E>";"<U0046><U0072><U0065>";/
++      "<U0053><U0061><U006D>"
+ day     "<U0053><U006F><U006E><U006E><U0074><U0061><U0067>";/
+-        "<U004D><U006F><U006E><U0074><U0061><U0067>";/
+-        "<U0044><U0069><U0065><U006E><U0073><U0074><U0061><U0067>";/
+-        "<U004D><U0069><U0074><U0074><U0077><U006F><U0063><U0068>";/
+-        "<U0044><U006F><U006E><U006E><U0065><U0072><U0073><U0074><U0061><U0067>";/
+-        "<U0046><U0072><U0065><U0069><U0074><U0061><U0067>";/
+-        "<U0053><U0061><U006D><U0073><U0074><U0061><U0067>"
++      "<U004D><U006F><U006E><U0074><U0061><U0067>";/
++      "<U0044><U0069><U0065><U006E><U0073><U0074><U0061><U0067>";/
++      "<U004D><U0069><U0074><U0074><U0077><U006F><U0063><U0068>";/
++      "<U0044><U006F><U006E><U006E><U0065><U0072><U0073><U0074><U0061><U0067>";/
++      "<U0046><U0072><U0065><U0069><U0074><U0061><U0067>";/
++      "<U0053><U0061><U006D><U0073><U0074><U0061><U0067>"
+ abmon   "<U004A><U00E4><U006E>";"<U0046><U0065><U0062>";/
+-        "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/
+-        "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
+-        "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
+-        "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
+-        "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
++      "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/
++      "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/
++      "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
++      "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
++      "<U004E><U006F><U0076>";"<U0044><U0065><U007A>"
+ mon     "<U004A><U00E4><U006E><U006E><U0065><U0072>";/
+-        "<U0046><U0065><U0062><U0065><U0072>";/
+-        "<U004D><U00E4><U0072><U007A>";/
+-        "<U0041><U0070><U0072><U0069><U006C>";/
+-        "<U004D><U0061><U0069>";/
+-        "<U004A><U0075><U006E><U0069>";/
+-        "<U004A><U0075><U006C><U0069>";/
+-        "<U0041><U0075><U0067><U0075><U0073><U0074>";/
+-        "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
+-        "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
+-        "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
+-        "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>"
++      "<U0046><U0065><U0062><U0065><U0072>";/
++      "<U004D><U00E4><U0072><U007A>";/
++      "<U0041><U0070><U0072><U0069><U006C>";/
++      "<U004D><U0061><U0069>";/
++      "<U004A><U0075><U006E><U0069>";/
++      "<U004A><U0075><U006C><U0069>";/
++      "<U0041><U0075><U0067><U0075><U0073><U0074>";/
++      "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
++      "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
++      "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
++      "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_BO
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_BO
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_BO
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_CL
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_CL
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_CL
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_CO
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_CO
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_CO
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_CR
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_CR
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_CR
+@@ -47,8 +47,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,34 +78,34 @@ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>"
+ t_fmt   "<U0025><U0054>"
+@@ -157,7 +156,7 @@ country_post  "<U0043><U0052>"
+ country_car   "<U0043><U0052>"
+ country_isbn  "9930,9977,9968"
+ lang_name     "<U0045><U0073><U0070><U0061><U00F1><U006F><U006C>"
+-lang_ab       "<0065><0073>"
++lang_ab       "<U0065><U0073>"
+ lang_term     "<U0073><U0070><U0061>"
+ country_ab2   "<U0043><U0052>"
+ country_ab3   "<U0043><U0052><U0049>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_DO
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_DO
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_DO
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_EC
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_EC
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_EC
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_ES
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_ES
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_ES
+@@ -85,40 +85,40 @@ END LC_MONETARY
+ LC_NUMERIC
+ decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++thousands_sep        "<U002E>"
++grouping             3;3
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_GT
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_GT
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_GT
+@@ -55,8 +55,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -78,9 +77,7 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_HN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_HN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_HN
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_MX
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_MX
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_MX
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_NI
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_NI
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_NI
+@@ -47,8 +47,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -70,9 +69,7 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PA
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PA
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PA
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PE
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PE
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PE
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PR
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PR
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PR
+@@ -47,8 +47,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -70,41 +69,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_PY
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_PY
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_PY
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_SV
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_SV
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_SV
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,9 +78,7 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002E>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_UY
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_UY
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_UY
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/es_VE
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/es_VE
++++ glibc-2.12-2-gc4ccff1/localedata/locales/es_VE
+@@ -56,8 +56,7 @@ copy "es_ES"
+ END LC_CTYPE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "es_ES"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -79,41 +78,39 @@ n_sign_posn          1
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point        "<U002C>"
+-thousands_sep        ""
+-grouping             0;0
++copy "es_ES"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
+-        "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
+-        "<U0073><U00E1><U0062>"
++      "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/
++      "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/
++      "<U0073><U00E1><U0062>"
+ day     "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/
+-        "<U006C><U0075><U006E><U0065><U0073>";/
+-        "<U006D><U0061><U0072><U0074><U0065><U0073>";/
+-        "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
+-        "<U006A><U0075><U0065><U0076><U0065><U0073>";/
+-        "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
+-        "<U0073><U00E1><U0062><U0061><U0064><U006F>"
++      "<U006C><U0075><U006E><U0065><U0073>";/
++      "<U006D><U0061><U0072><U0074><U0065><U0073>";/
++      "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/
++      "<U006A><U0075><U0065><U0076><U0065><U0073>";/
++      "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/
++      "<U0073><U00E1><U0062><U0061><U0064><U006F>"
+ abmon   "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
+-        "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/
++      "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U0069><U0063>"
+ mon     "<U0065><U006E><U0065><U0072><U006F>";/
+-        "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
+-        "<U006D><U0061><U0072><U007A><U006F>";/
+-        "<U0061><U0062><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0079><U006F>";/
+-        "<U006A><U0075><U006E><U0069><U006F>";/
+-        "<U006A><U0075><U006C><U0069><U006F>";/
+-        "<U0061><U0067><U006F><U0073><U0074><U006F>";/
+-        "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/
++      "<U006D><U0061><U0072><U007A><U006F>";/
++      "<U0061><U0062><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0079><U006F>";/
++      "<U006A><U0075><U006E><U0069><U006F>";/
++      "<U006A><U0075><U006C><U0069><U006F>";/
++      "<U0061><U0067><U006F><U0073><U0074><U006F>";/
++      "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_BE
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_BE
++++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_BE
+@@ -79,7 +79,7 @@ END LC_MONETARY
+ LC_NUMERIC
+ decimal_point             "<U002C>"
+ thousands_sep             "<U002E>"
+-grouping                  0;0
++grouping                  3;3
+ END LC_NUMERIC
+ LC_TIME
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_CA
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_CA
++++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_CA
+@@ -55,8 +55,7 @@ copy "en_CA"
+ END LC_COLLATE
+ LC_MESSAGES
+-yesexpr "<U005E><U005B><U006F><U004F><U0079><U0059><U005D><U002E><U002A>"
+-noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
++copy "fr_FR"
+ END LC_MESSAGES
+ LC_MONETARY
+@@ -78,41 +77,39 @@ n_sign_posn               0
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point             "<U002C>"
+-thousands_sep             "<U0020>"
+-grouping                  0;0
++copy "fr_FR"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
+-        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
+-        "<U0073><U0061><U006D>"
++      "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
++      "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
++      "<U0073><U0061><U006D>"
+ day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
+-        "<U006C><U0075><U006E><U0064><U0069>";/
+-        "<U006D><U0061><U0072><U0064><U0069>";/
+-        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
+-        "<U006A><U0065><U0075><U0064><U0069>";/
+-        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
+-        "<U0073><U0061><U006D><U0065><U0064><U0069>"
++      "<U006C><U0075><U006E><U0064><U0069>";/
++      "<U006D><U0061><U0072><U0064><U0069>";/
++      "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
++      "<U006A><U0065><U0075><U0064><U0069>";/
++      "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
++      "<U0073><U0061><U006D><U0065><U0064><U0069>"
+ abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
+-        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
++      "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
+ mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
+-        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
+-        "<U006D><U0061><U0072><U0073>";/
+-        "<U0061><U0076><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0069>";/
+-        "<U006A><U0075><U0069><U006E>";/
+-        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
+-        "<U0061><U006F><U00FB><U0074>";/
+-        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
++      "<U006D><U0061><U0072><U0073>";/
++      "<U0061><U0076><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0069>";/
++      "<U006A><U0075><U0069><U006E>";/
++      "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
++      "<U0061><U006F><U00FB><U0074>";/
++      "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_CH
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_CH
++++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_CH
+@@ -64,41 +64,39 @@ copy  "de_CH"
+ END LC_MONETARY
+ LC_NUMERIC
+-decimal_point             "<U002C>"
+-thousands_sep             ""
+-grouping                  0;0
++copy "de_CH"
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
+-        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
+-        "<U0073><U0061><U006D>"
++      "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
++      "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
++      "<U0073><U0061><U006D>"
+ day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
+-        "<U006C><U0075><U006E><U0064><U0069>";/
+-        "<U006D><U0061><U0072><U0064><U0069>";/
+-        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
+-        "<U006A><U0065><U0075><U0064><U0069>";/
+-        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
+-        "<U0073><U0061><U006D><U0065><U0064><U0069>"
++      "<U006C><U0075><U006E><U0064><U0069>";/
++      "<U006D><U0061><U0072><U0064><U0069>";/
++      "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
++      "<U006A><U0065><U0075><U0064><U0069>";/
++      "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
++      "<U0073><U0061><U006D><U0065><U0064><U0069>"
+ abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
+-        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
++      "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
+ mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
+-        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
+-        "<U006D><U0061><U0072><U0073>";/
+-        "<U0061><U0076><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0069>";/
+-        "<U006A><U0075><U0069><U006E>";/
+-        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
+-        "<U0061><U006F><U00FB><U0074>";/
+-        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
++      "<U006D><U0061><U0072><U0073>";/
++      "<U0061><U0076><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0069>";/
++      "<U006A><U0075><U0069><U006E>";/
++      "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
++      "<U0061><U006F><U00FB><U0074>";/
++      "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002E><U0020><U0025><U006D><U002E><U0020><U0025><U0079>"
+ t_fmt   "<U0025><U0054>"
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/fr_LU
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/fr_LU
++++ glibc-2.12-2-gc4ccff1/localedata/locales/fr_LU
+@@ -78,40 +78,40 @@ END LC_MONETARY
+ LC_NUMERIC
+ decimal_point             "<U002C>"
+-thousands_sep             ""
+-grouping                  0;0
++thousands_sep             "<U0020>"
++grouping                  3;3
+ END LC_NUMERIC
+ LC_TIME
+ abday   "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/
+-        "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
+-        "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
+-        "<U0073><U0061><U006D>"
++      "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/
++      "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/
++      "<U0073><U0061><U006D>"
+ day     "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/
+-        "<U006C><U0075><U006E><U0064><U0069>";/
+-        "<U006D><U0061><U0072><U0064><U0069>";/
+-        "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
+-        "<U006A><U0065><U0075><U0064><U0069>";/
+-        "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
+-        "<U0073><U0061><U006D><U0065><U0064><U0069>"
++      "<U006C><U0075><U006E><U0064><U0069>";/
++      "<U006D><U0061><U0072><U0064><U0069>";/
++      "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/
++      "<U006A><U0065><U0075><U0064><U0069>";/
++      "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/
++      "<U0073><U0061><U006D><U0065><U0064><U0069>"
+ abmon   "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/
+-        "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
+-        "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
+-        "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
+-        "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
+-        "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
++      "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/
++      "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/
++      "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/
++      "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/
++      "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>"
+ mon     "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/
+-        "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
+-        "<U006D><U0061><U0072><U0073>";/
+-        "<U0061><U0076><U0072><U0069><U006C>";/
+-        "<U006D><U0061><U0069>";/
+-        "<U006A><U0075><U0069><U006E>";/
+-        "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
+-        "<U0061><U006F><U00FB><U0074>";/
+-        "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
+-        "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
+-        "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
++      "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/
++      "<U006D><U0061><U0072><U0073>";/
++      "<U0061><U0076><U0072><U0069><U006C>";/
++      "<U006D><U0061><U0069>";/
++      "<U006A><U0075><U0069><U006E>";/
++      "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/
++      "<U0061><U006F><U00FB><U0074>";/
++      "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/
++      "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/
++      "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/
++      "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>"
+ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
+ d_fmt   "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
+ t_fmt   "<U0025><U0054>"
diff --git a/src/patches/glibc/glibc-rh688980.patch b/src/patches/glibc/glibc-rh688980.patch
new file mode 100644 (file)
index 0000000..ce98926
--- /dev/null
@@ -0,0 +1,20 @@
+2011-05-11  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12625]
+       * misc/mntent_r.c (addmntent): Flush the stream after the output
+
+Index: glibc-2.12-2-gc4ccff1/misc/mntent_r.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/misc/mntent_r.c
++++ glibc-2.12-2-gc4ccff1/misc/mntent_r.c
+@@ -263,8 +263,8 @@ __addmntent (FILE *stream, const struct 
+                  mntcopy.mnt_type,
+                  mntcopy.mnt_opts,
+                  mntcopy.mnt_freq,
+-                 mntcopy.mnt_passno)
+-        < 0 ? 1 : 0);
++                 mntcopy.mnt_passno) < 0
++        || fflush (stream) != 0);
+ }
+ weak_alias (__addmntent, addmntent)
diff --git a/src/patches/glibc/glibc-rh689471.patch b/src/patches/glibc/glibc-rh689471.patch
new file mode 100644 (file)
index 0000000..4c7fc8a
--- /dev/null
@@ -0,0 +1,333 @@
+2011-03-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #12597]
+       * string/test-strncmp.c (do_page_test): New function.
+       (check2): Likewise.
+       (test_main): Call check2.
+       * sysdeps/x86_64/multiarch/strcmp.S: Properly cross page boundary.
+
+Index: glibc-2.12-2-gc4ccff1/string/test-strncmp.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/string/test-strncmp.c
++++ glibc-2.12-2-gc4ccff1/string/test-strncmp.c
+@@ -200,6 +200,27 @@ do_test (size_t align1, size_t align2, s
+ }
+ static void
++do_page_test (size_t offset1, size_t offset2, char *s2)
++{
++  char *s1;
++  int exp_result;
++
++  if (offset1 >= page_size || offset2 >= page_size)
++    return;
++
++  s1 = (char *) (buf1 + offset1);
++  s2 += offset2;
++
++  exp_result= *s1;
++  
++  FOR_EACH_IMPL (impl, 0)
++    {
++      check_result (impl, s1, s2, page_size, -exp_result);
++      check_result (impl, s2, s1, page_size, exp_result);
++    }
++}
++
++static void
+ do_random_tests (void)
+ {
+   size_t i, j, n, align1, align2, pos, len1, len2, size;
+@@ -312,6 +333,25 @@ check1 (void)
+     }
+ }
++static void
++check2 (void)
++{
++  size_t i;
++  char *s1, *s2;
++
++  s1 = (char *) buf1;
++  for (i = 0; i < page_size - 1; i++)
++    s1[i] = 23;
++  s1[i] = 0;
++
++  s2 = strdup (s1);
++
++  for (i = 0; i < 64; ++i)
++    do_page_test (3990 + i, 2635, s2);
++
++  free (s2);
++}
++
+ int
+ test_main (void)
+ {
+@@ -320,6 +360,7 @@ test_main (void)
+   test_init ();
+   check1 ();
++  check2 ();
+   printf ("%23s", "");
+   FOR_EACH_IMPL (impl, 0)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strcmp.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strcmp.S
+@@ -452,6 +452,7 @@ LABEL(loop_ashr_1_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_1_use_sse4_2)
++LABEL(nibble_ashr_1_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $1, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -499,7 +500,7 @@ LABEL(nibble_ashr_1_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $14, %ecx
+-      ja      LABEL(loop_ashr_1_use_sse4_2)
++      ja      LABEL(nibble_ashr_1_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -544,6 +545,7 @@ LABEL(loop_ashr_2_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_2_use_sse4_2)
++LABEL(nibble_ashr_2_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $2, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -591,7 +593,7 @@ LABEL(nibble_ashr_2_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $13, %ecx
+-      ja      LABEL(loop_ashr_2_use_sse4_2)
++      ja      LABEL(nibble_ashr_2_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -636,6 +638,7 @@ LABEL(loop_ashr_3_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_3_use_sse4_2)
++LABEL(nibble_ashr_3_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $3, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -683,7 +686,7 @@ LABEL(nibble_ashr_3_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $12, %ecx
+-      ja      LABEL(loop_ashr_3_use_sse4_2)
++      ja      LABEL(nibble_ashr_3_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -729,6 +732,7 @@ LABEL(loop_ashr_4_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_4_use_sse4_2)
++LABEL(nibble_ashr_4_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $4, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -776,7 +780,7 @@ LABEL(nibble_ashr_4_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $11, %ecx
+-      ja      LABEL(loop_ashr_4_use_sse4_2)
++      ja      LABEL(nibble_ashr_4_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -822,6 +826,7 @@ LABEL(loop_ashr_5_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_5_use_sse4_2)
++LABEL(nibble_ashr_5_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $5, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -870,7 +875,7 @@ LABEL(nibble_ashr_5_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $10, %ecx
+-      ja      LABEL(loop_ashr_5_use_sse4_2)
++      ja      LABEL(nibble_ashr_5_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -916,6 +921,7 @@ LABEL(loop_ashr_6_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_6_use_sse4_2)
++LABEL(nibble_ashr_6_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $6, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -963,7 +969,7 @@ LABEL(nibble_ashr_6_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $9, %ecx
+-      ja      LABEL(loop_ashr_6_use_sse4_2)
++      ja      LABEL(nibble_ashr_6_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1009,6 +1015,7 @@ LABEL(loop_ashr_7_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_7_use_sse4_2)
++LABEL(nibble_ashr_7_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $7, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1056,7 +1063,7 @@ LABEL(nibble_ashr_7_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $8, %ecx
+-      ja      LABEL(loop_ashr_7_use_sse4_2)
++      ja      LABEL(nibble_ashr_7_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1102,6 +1109,7 @@ LABEL(loop_ashr_8_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_8_use_sse4_2)
++LABEL(nibble_ashr_8_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $8, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1149,7 +1157,7 @@ LABEL(nibble_ashr_8_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $7, %ecx
+-      ja      LABEL(loop_ashr_8_use_sse4_2)
++      ja      LABEL(nibble_ashr_8_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1195,6 +1203,7 @@ LABEL(loop_ashr_9_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_9_use_sse4_2)
++LABEL(nibble_ashr_9_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $9, -16(%rdi, %rdx), %xmm0
+@@ -1243,7 +1252,7 @@ LABEL(nibble_ashr_9_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $6, %ecx
+-      ja      LABEL(loop_ashr_9_use_sse4_2)
++      ja      LABEL(nibble_ashr_9_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1289,6 +1298,7 @@ LABEL(loop_ashr_10_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_10_use_sse4_2)
++LABEL(nibble_ashr_10_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $10, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1336,7 +1346,7 @@ LABEL(nibble_ashr_10_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $5, %ecx
+-      ja      LABEL(loop_ashr_10_use_sse4_2)
++      ja      LABEL(nibble_ashr_10_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1382,6 +1392,7 @@ LABEL(loop_ashr_11_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_11_use_sse4_2)
++LABEL(nibble_ashr_11_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $11, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1429,7 +1440,7 @@ LABEL(nibble_ashr_11_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $4, %ecx
+-      ja      LABEL(loop_ashr_11_use_sse4_2)
++      ja      LABEL(nibble_ashr_11_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1475,6 +1486,7 @@ LABEL(loop_ashr_12_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_12_use_sse4_2)
++LABEL(nibble_ashr_12_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $12, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1522,7 +1534,7 @@ LABEL(nibble_ashr_12_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $3, %ecx
+-      ja      LABEL(loop_ashr_12_use_sse4_2)
++      ja      LABEL(nibble_ashr_12_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1569,6 +1581,7 @@ LABEL(loop_ashr_13_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_13_use_sse4_2)
++LABEL(nibble_ashr_13_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $13, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1616,7 +1629,7 @@ LABEL(nibble_ashr_13_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $2, %ecx
+-      ja      LABEL(loop_ashr_13_use_sse4_2)
++      ja      LABEL(nibble_ashr_13_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1663,6 +1676,7 @@ LABEL(loop_ashr_14_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_14_use_sse4_2)
++LABEL(nibble_ashr_14_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $14, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1710,7 +1724,7 @@ LABEL(nibble_ashr_14_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $1, %ecx
+-      ja      LABEL(loop_ashr_14_use_sse4_2)
++      ja      LABEL(nibble_ashr_14_use_sse4_2_restart)
+       jmp     LABEL(nibble_ashr_use_sse4_2_exit)
+@@ -1759,6 +1773,7 @@ LABEL(loop_ashr_15_use_sse4_2):
+       add     $16, %r10
+       jg      LABEL(nibble_ashr_15_use_sse4_2)
++LABEL(nibble_ashr_15_use_sse4_2_restart):
+       movdqa  (%rdi, %rdx), %xmm0
+       palignr $15, -16(%rdi, %rdx), %xmm0
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
+@@ -1806,7 +1821,7 @@ LABEL(nibble_ashr_15_use_sse4_2):
+       jae     LABEL(nibble_ashr_use_sse4_2_exit)
+ # endif
+       cmp     $0, %ecx
+-      ja      LABEL(loop_ashr_15_use_sse4_2)
++      ja      LABEL(nibble_ashr_15_use_sse4_2_restart)
+ LABEL(nibble_ashr_use_sse4_2_exit):
+ # if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L
diff --git a/src/patches/glibc/glibc-rh692177.patch b/src/patches/glibc/glibc-rh692177.patch
new file mode 100644 (file)
index 0000000..1036769
--- /dev/null
@@ -0,0 +1,137 @@
+2011-03-22  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Increment
+       round counter.
+       * sysdeps/x86_64/cacheinfo.c (intel_check_word): Likewise.
+
+2011-03-20  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12587]
+       * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
+       Handle cache information in CPU leaf 4.
+       * sysdeps/x86_64/cacheinfo.c (intel_check_word): Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/sysconf.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/i386/sysconf.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/sysconf.c
+@@ -186,6 +186,57 @@ intel_check_word (int name, unsigned int
+           /* No need to look further.  */
+           break;
+       }
++      else if (byte == 0xff)
++      {
++        /* CPUID leaf 0x4 contains all the information.  We need to
++           iterate over it.  */
++        unsigned int eax;
++        unsigned int ebx;
++        unsigned int ecx;
++        unsigned int edx;
++
++        unsigned int round = 0;
++        while (1)
++          {
++            asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
++                          : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
++                          : "0" (4), "2" (round));
++
++            enum { null = 0, data = 1, inst = 2, uni = 3 } type = eax & 0x1f;
++            if (type == null)
++              /* That was the end.  */
++              break;
++
++            unsigned int level = (eax >> 5) & 0x7;
++
++            if ((level == 1 && type == data
++                 && folded_rel_name == M(_SC_LEVEL1_DCACHE_SIZE))
++                || (level == 1 && type == inst
++                    && folded_rel_name == M(_SC_LEVEL1_ICACHE_SIZE))
++                || (level == 2 && folded_rel_name == M(_SC_LEVEL2_CACHE_SIZE))
++                || (level == 3 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
++                || (level == 4 && folded_rel_name == M(_SC_LEVEL4_CACHE_SIZE)))
++              {
++                unsigned int offset = M(name) - folded_rel_name;
++
++                if (offset == 0)
++                  /* Cache size.  */
++                  return (((ebx >> 22) + 1)
++                          * (((ebx >> 12) & 0x3ff) + 1)
++                          * ((ebx & 0xfff) + 1)
++                          * (ecx + 1));
++                if (offset == 1)
++                  return (ebx >> 22) + 1;
++
++                assert (offset == 2);
++                return (ebx & 0xfff) + 1;
++              }
++
++            ++round;
++          }
++        /* There is no other cache information anywhere else.  */
++        break;
++      }
+       else
+       {
+         if (byte == 0x49 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/cacheinfo.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/cacheinfo.c
+@@ -181,6 +181,57 @@ intel_check_word (int name, unsigned int
+           /* No need to look further.  */
+           break;
+       }
++      else if (byte == 0xff)
++      {
++        /* CPUID leaf 0x4 contains all the information.  We need to
++           iterate over it.  */
++        unsigned int eax;
++        unsigned int ebx;
++        unsigned int ecx;
++        unsigned int edx;
++
++        unsigned int round = 0;
++        while (1)
++          {
++            asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
++                          : "=a" (eax), "=r" (ebx), "=c" (ecx), "=d" (edx)
++                          : "0" (4), "2" (round));
++
++            enum { null = 0, data = 1, inst = 2, uni = 3 } type = eax & 0x1f;
++            if (type == null)
++              /* That was the end.  */
++              break;
++
++            unsigned int level = (eax >> 5) & 0x7;
++
++            if ((level == 1 && type == data
++                 && folded_rel_name == M(_SC_LEVEL1_DCACHE_SIZE))
++                || (level == 1 && type == inst
++                    && folded_rel_name == M(_SC_LEVEL1_ICACHE_SIZE))
++                || (level == 2 && folded_rel_name == M(_SC_LEVEL2_CACHE_SIZE))
++                || (level == 3 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
++                || (level == 4 && folded_rel_name == M(_SC_LEVEL4_CACHE_SIZE)))
++              {
++                unsigned int offset = M(name) - folded_rel_name;
++
++                if (offset == 0)
++                  /* Cache size.  */
++                  return (((ebx >> 22) + 1)
++                          * (((ebx >> 12) & 0x3ff) + 1)
++                          * ((ebx & 0xfff) + 1)
++                          * (ecx + 1));
++                if (offset == 1)
++                  return (ebx >> 22) + 1;
++
++                assert (offset == 2);
++                return (ebx & 0xfff) + 1;
++              }
++
++            ++round;
++          }
++        /* There is no other cache information anywhere else.  */
++        break;
++      }
+       else
+       {
+         if (byte == 0x49 && folded_rel_name == M(_SC_LEVEL3_CACHE_SIZE))
diff --git a/src/patches/glibc/glibc-rh692838.patch b/src/patches/glibc/glibc-rh692838.patch
new file mode 100644 (file)
index 0000000..aa2adf1
--- /dev/null
@@ -0,0 +1,6165 @@
+2011-05-09  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12541]
+       * locales/ar_IN: Update currency_symbol.
+       * locales/as_IN: Likewise.
+       * locales/bn_IN: Likewise.
+       * locales/en_IN: Likewise.
+       * locales/gu_IN: Likewise.
+       * locales/hi_IN: Likewise.
+       * locales/kn_IN: Likewise.
+       * locales/kok_IN: Likewise.
+       * locales/ks_IN: Likewise.
+       * locales/ml_IN: Likewise.
+       * locales/mr_IN: Likewise.
+       * locales/or_IN: Likewise.
+       * locales/pa_IN: Likewise.
+       * locales/sa_IN: Likewise.
+       * locales/sd_IN: Likewise.
+       * locales/ta_IN: Likewise.
+       * locales/te_IN: Likewise.
+       Patch by pravin.d.s@gmail.com.
+
+2011-05-09  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12711]
+       * locale/C-translit.h.in: Add entry for U20B9.
+       Patch by pravin.d.s@gmail.com.
+
+Index: glibc-2.12-2-gc4ccff1/locale/C-translit.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/locale/C-translit.h
++++ glibc-2.12-2-gc4ccff1/locale/C-translit.h
+@@ -1,4 +1,4 @@
+-#define NTRANSLIT 1353
++#define NTRANSLIT 1354
+ static const uint32_t translit_from_idx[] =
+ {
+      0,    2,    4,    6,    8,   10,   12,   14,   16,   18,   20,   22,
+@@ -113,7 +113,7 @@ static const uint32_t translit_from_idx[
+   2616, 2618, 2620, 2622, 2624, 2626, 2628, 2630, 2632, 2634, 2636, 2638,
+   2640, 2642, 2644, 2646, 2648, 2650, 2652, 2654, 2656, 2658, 2660, 2662,
+   2664, 2666, 2668, 2670, 2672, 2674, 2676, 2678, 2680, 2682, 2684, 2686,
+-  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704
++  2688, 2690, 2692, 2694, 2696, 2698, 2700, 2702, 2704, 2706
+ };
+ static const wchar_t translit_from_tbl[] =
+   L"\x00a0" L"\0" L"\x00a9" L"\0" L"\x00ab" L"\0" L"\x00ad" L"\0" L"\x00ae"
+@@ -134,334 +134,334 @@ static const wchar_t translit_from_tbl[]
+   L"\0" L"\x2035" L"\0" L"\x2036" L"\0" L"\x2037" L"\0" L"\x2039" L"\0"
+   L"\x203a" L"\0" L"\x203c" L"\0" L"\x2044" L"\0" L"\x2047" L"\0" L"\x2048"
+   L"\0" L"\x2049" L"\0" L"\x205f" L"\0" L"\x2060" L"\0" L"\x2061" L"\0"
+-  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x2100"
+-  L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0" L"\x2106" L"\0"
+-  L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d" L"\0" L"\x210e"
+-  L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0" L"\x2113" L"\0"
+-  L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a" L"\0" L"\x211b"
+-  L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0" L"\x2122" L"\0"
+-  L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c" L"\0" L"\x212d"
+-  L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0" L"\x2131" L"\0"
+-  L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145" L"\0" L"\x2146"
+-  L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0" L"\x2153" L"\0"
+-  L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157" L"\0" L"\x2158"
+-  L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0" L"\x215c" L"\0"
+-  L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160" L"\0" L"\x2161"
+-  L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0" L"\x2165" L"\0"
+-  L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169" L"\0" L"\x216a"
+-  L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0" L"\x216e" L"\0"
+-  L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172" L"\0" L"\x2173"
+-  L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0" L"\x2177" L"\0"
+-  L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b" L"\0" L"\x217c"
+-  L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0" L"\x2190" L"\0"
+-  L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2" L"\0" L"\x21d4"
+-  L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0" L"\x2217" L"\0"
+-  L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264" L"\0" L"\x2265"
+-  L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0" L"\x22d9" L"\0"
+-  L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403" L"\0" L"\x2404"
+-  L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0" L"\x2408" L"\0"
+-  L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c" L"\0" L"\x240d"
+-  L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0" L"\x2411" L"\0"
+-  L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415" L"\0" L"\x2416"
+-  L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0" L"\x241a" L"\0"
+-  L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e" L"\0" L"\x241f"
+-  L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0" L"\x2424" L"\0"
+-  L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463" L"\0" L"\x2464"
+-  L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0" L"\x2468" L"\0"
+-  L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c" L"\0" L"\x246d"
+-  L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0" L"\x2471" L"\0"
+-  L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475" L"\0" L"\x2476"
+-  L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0" L"\x247a" L"\0"
+-  L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e" L"\0" L"\x247f"
+-  L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0" L"\x2483" L"\0"
+-  L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487" L"\0" L"\x2488"
+-  L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0" L"\x248c" L"\0"
+-  L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490" L"\0" L"\x2491"
+-  L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0" L"\x2495" L"\0"
+-  L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499" L"\0" L"\x249a"
+-  L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0" L"\x249e" L"\0"
+-  L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2" L"\0" L"\x24a3"
+-  L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0" L"\x24a7" L"\0"
+-  L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab" L"\0" L"\x24ac"
+-  L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0" L"\x24b0" L"\0"
+-  L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4" L"\0" L"\x24b5"
+-  L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0" L"\x24b9" L"\0"
+-  L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd" L"\0" L"\x24be"
+-  L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0" L"\x24c2" L"\0"
+-  L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6" L"\0" L"\x24c7"
+-  L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0" L"\x24cb" L"\0"
+-  L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf" L"\0" L"\x24d0"
+-  L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0" L"\x24d4" L"\0"
+-  L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8" L"\0" L"\x24d9"
+-  L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0" L"\x24dd" L"\0"
+-  L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1" L"\0" L"\x24e2"
+-  L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0" L"\x24e6" L"\0"
+-  L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea" L"\0" L"\x2500"
+-  L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0" L"\x2514" L"\0"
+-  L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c" L"\0" L"\x2534"
+-  L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0" L"\x2a75" L"\0"
+-  L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251" L"\0" L"\x3252"
+-  L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0" L"\x3256" L"\0"
+-  L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a" L"\0" L"\x325b"
+-  L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0" L"\x325f" L"\0"
+-  L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4" L"\0" L"\x32b5"
+-  L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0" L"\x32b9" L"\0"
+-  L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd" L"\0" L"\x32be"
+-  L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0" L"\x3373" L"\0"
+-  L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380" L"\0" L"\x3381"
+-  L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0" L"\x3385" L"\0"
+-  L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389" L"\0" L"\x338a"
+-  L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0" L"\x338e" L"\0"
+-  L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392" L"\0" L"\x3393"
+-  L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0" L"\x3397" L"\0"
+-  L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b" L"\0" L"\x339c"
+-  L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0" L"\x33a0" L"\0"
+-  L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4" L"\0" L"\x33a5"
+-  L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0" L"\x33a9" L"\0"
+-  L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad" L"\0" L"\x33ae"
+-  L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0" L"\x33b2" L"\0"
+-  L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6" L"\0" L"\x33b7"
+-  L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0" L"\x33bb" L"\0"
+-  L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf" L"\0" L"\x33c2"
+-  L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0" L"\x33c6" L"\0"
+-  L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca" L"\0" L"\x33cb"
+-  L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0" L"\x33cf" L"\0"
+-  L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3" L"\0" L"\x33d4"
+-  L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0" L"\x33d8" L"\0"
+-  L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc" L"\0" L"\x33dd"
+-  L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0" L"\xfb03" L"\0"
+-  L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00" L"\0" L"\xfe01"
+-  L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0" L"\xfe05" L"\0"
+-  L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09" L"\0" L"\xfe0a"
+-  L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0" L"\xfe0e" L"\0"
+-  L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f" L"\0" L"\xfe50"
+-  L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0" L"\xfe56" L"\0"
+-  L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b" L"\0" L"\xfe5c"
+-  L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0" L"\xfe62" L"\0"
+-  L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66" L"\0" L"\xfe68"
+-  L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0" L"\xfeff" L"\0"
+-  L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04" L"\0" L"\xff05"
+-  L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0" L"\xff09" L"\0"
+-  L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d" L"\0" L"\xff0e"
+-  L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0" L"\xff12" L"\0"
+-  L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16" L"\0" L"\xff17"
+-  L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0" L"\xff1b" L"\0"
+-  L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f" L"\0" L"\xff20"
+-  L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0" L"\xff24" L"\0"
+-  L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28" L"\0" L"\xff29"
+-  L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0" L"\xff2d" L"\0"
+-  L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31" L"\0" L"\xff32"
+-  L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0" L"\xff36" L"\0"
+-  L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a" L"\0" L"\xff3b"
+-  L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0" L"\xff3f" L"\0"
+-  L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43" L"\0" L"\xff44"
+-  L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0" L"\xff48" L"\0"
+-  L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c" L"\0" L"\xff4d"
+-  L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0" L"\xff51" L"\0"
+-  L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55" L"\0" L"\xff56"
+-  L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0" L"\xff5a" L"\0"
+-  L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e" L"\0"
+-  L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0" L"\x0001d403"
+-  L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406" L"\0"
+-  L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0" L"\x0001d40a"
+-  L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d" L"\0"
+-  L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0" L"\x0001d411"
+-  L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414" L"\0"
+-  L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0" L"\x0001d418"
+-  L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b" L"\0"
+-  L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0" L"\x0001d41f"
+-  L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422" L"\0"
+-  L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0" L"\x0001d426"
+-  L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429" L"\0"
+-  L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0" L"\x0001d42d"
+-  L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430" L"\0"
+-  L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0" L"\x0001d434"
+-  L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437" L"\0"
+-  L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0" L"\x0001d43b"
+-  L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e" L"\0"
+-  L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0" L"\x0001d442"
+-  L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445" L"\0"
+-  L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0" L"\x0001d449"
+-  L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c" L"\0"
+-  L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0" L"\x0001d450"
+-  L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453" L"\0"
+-  L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0" L"\x0001d458"
+-  L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b" L"\0"
+-  L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0" L"\x0001d45f"
+-  L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462" L"\0"
+-  L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0" L"\x0001d466"
+-  L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469" L"\0"
+-  L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0" L"\x0001d46d"
+-  L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470" L"\0"
+-  L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0" L"\x0001d474"
+-  L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477" L"\0"
+-  L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0" L"\x0001d47b"
+-  L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e" L"\0"
+-  L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0" L"\x0001d482"
+-  L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485" L"\0"
+-  L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0" L"\x0001d489"
+-  L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c" L"\0"
+-  L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0" L"\x0001d490"
+-  L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493" L"\0"
+-  L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0" L"\x0001d497"
+-  L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a" L"\0"
+-  L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0" L"\x0001d49f"
+-  L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6" L"\0"
+-  L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0" L"\x0001d4ac"
+-  L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0" L"\0"
+-  L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0" L"\x0001d4b4"
+-  L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7" L"\0"
+-  L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0" L"\x0001d4bd"
+-  L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0" L"\0"
+-  L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0" L"\x0001d4c6"
+-  L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9" L"\0"
+-  L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0" L"\x0001d4cd"
+-  L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0" L"\0"
+-  L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0" L"\x0001d4d4"
+-  L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7" L"\0"
+-  L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0" L"\x0001d4db"
+-  L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de" L"\0"
+-  L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0" L"\x0001d4e2"
+-  L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5" L"\0"
+-  L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0" L"\x0001d4e9"
+-  L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec" L"\0"
+-  L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0" L"\x0001d4f0"
+-  L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3" L"\0"
+-  L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0" L"\x0001d4f7"
+-  L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa" L"\0"
+-  L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0" L"\x0001d4fe"
+-  L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501" L"\0"
+-  L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0" L"\x0001d505"
+-  L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509" L"\0"
+-  L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0" L"\x0001d50f"
+-  L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512" L"\0"
+-  L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0" L"\x0001d517"
+-  L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a" L"\0"
+-  L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0" L"\x0001d51f"
+-  L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522" L"\0"
+-  L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0" L"\x0001d526"
+-  L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529" L"\0"
+-  L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0" L"\x0001d52d"
+-  L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530" L"\0"
+-  L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0" L"\x0001d534"
+-  L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537" L"\0"
+-  L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0" L"\x0001d53c"
+-  L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540" L"\0"
+-  L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0" L"\x0001d544"
+-  L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b" L"\0"
+-  L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0" L"\x0001d54f"
+-  L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553" L"\0"
+-  L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0" L"\x0001d557"
+-  L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a" L"\0"
+-  L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0" L"\x0001d55e"
+-  L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561" L"\0"
+-  L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0" L"\x0001d565"
+-  L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568" L"\0"
+-  L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0" L"\x0001d56c"
+-  L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f" L"\0"
+-  L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0" L"\x0001d573"
+-  L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576" L"\0"
+-  L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0" L"\x0001d57a"
+-  L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d" L"\0"
+-  L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0" L"\x0001d581"
+-  L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584" L"\0"
+-  L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0" L"\x0001d588"
+-  L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b" L"\0"
+-  L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0" L"\x0001d58f"
+-  L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592" L"\0"
+-  L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0" L"\x0001d596"
+-  L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599" L"\0"
+-  L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0" L"\x0001d59d"
+-  L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0" L"\0"
+-  L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0" L"\x0001d5a4"
+-  L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7" L"\0"
+-  L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0" L"\x0001d5ab"
+-  L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae" L"\0"
+-  L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0" L"\x0001d5b2"
+-  L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5" L"\0"
+-  L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0" L"\x0001d5b9"
+-  L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc" L"\0"
+-  L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0" L"\x0001d5c0"
+-  L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3" L"\0"
+-  L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0" L"\x0001d5c7"
+-  L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca" L"\0"
+-  L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0" L"\x0001d5ce"
+-  L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1" L"\0"
+-  L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0" L"\x0001d5d5"
+-  L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8" L"\0"
+-  L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0" L"\x0001d5dc"
+-  L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df" L"\0"
+-  L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0" L"\x0001d5e3"
+-  L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6" L"\0"
+-  L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0" L"\x0001d5ea"
+-  L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed" L"\0"
+-  L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0" L"\x0001d5f1"
+-  L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4" L"\0"
+-  L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0" L"\x0001d5f8"
+-  L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb" L"\0"
+-  L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0" L"\x0001d5ff"
+-  L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602" L"\0"
+-  L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0" L"\x0001d606"
+-  L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609" L"\0"
+-  L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0" L"\x0001d60d"
+-  L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610" L"\0"
+-  L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0" L"\x0001d614"
+-  L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617" L"\0"
+-  L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0" L"\x0001d61b"
+-  L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e" L"\0"
+-  L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0" L"\x0001d622"
+-  L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625" L"\0"
+-  L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0" L"\x0001d629"
+-  L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c" L"\0"
+-  L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0" L"\x0001d630"
+-  L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633" L"\0"
+-  L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0" L"\x0001d637"
+-  L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a" L"\0"
+-  L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0" L"\x0001d63e"
+-  L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641" L"\0"
+-  L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0" L"\x0001d645"
+-  L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648" L"\0"
+-  L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0" L"\x0001d64c"
+-  L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f" L"\0"
+-  L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0" L"\x0001d653"
+-  L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656" L"\0"
+-  L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0" L"\x0001d65a"
+-  L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d" L"\0"
+-  L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0" L"\x0001d661"
+-  L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664" L"\0"
+-  L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0" L"\x0001d668"
+-  L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b" L"\0"
+-  L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0" L"\x0001d66f"
+-  L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672" L"\0"
+-  L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0" L"\x0001d676"
+-  L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679" L"\0"
+-  L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0" L"\x0001d67d"
+-  L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680" L"\0"
+-  L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0" L"\x0001d684"
+-  L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687" L"\0"
+-  L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0" L"\x0001d68b"
+-  L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e" L"\0"
+-  L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0" L"\x0001d692"
+-  L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695" L"\0"
+-  L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0" L"\x0001d699"
+-  L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c" L"\0"
+-  L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0" L"\x0001d6a0"
+-  L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3" L"\0"
+-  L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0" L"\x0001d7d1"
+-  L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4" L"\0"
+-  L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0" L"\x0001d7d8"
+-  L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db" L"\0"
+-  L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0" L"\x0001d7df"
+-  L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2" L"\0"
+-  L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0" L"\x0001d7e6"
+-  L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9" L"\0"
+-  L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0" L"\x0001d7ed"
+-  L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0" L"\0"
+-  L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0" L"\x0001d7f4"
+-  L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7" L"\0"
+-  L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0" L"\x0001d7fb"
+-  L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe" L"\0"
+-  L"\x0001d7ff";
++  L"\x2062" L"\0" L"\x2063" L"\0" L"\x20a8" L"\0" L"\x20ac" L"\0" L"\x20b9"
++  L"\0" L"\x2100" L"\0" L"\x2101" L"\0" L"\x2102" L"\0" L"\x2105" L"\0"
++  L"\x2106" L"\0" L"\x210a" L"\0" L"\x210b" L"\0" L"\x210c" L"\0" L"\x210d"
++  L"\0" L"\x210e" L"\0" L"\x2110" L"\0" L"\x2111" L"\0" L"\x2112" L"\0"
++  L"\x2113" L"\0" L"\x2115" L"\0" L"\x2116" L"\0" L"\x2119" L"\0" L"\x211a"
++  L"\0" L"\x211b" L"\0" L"\x211c" L"\0" L"\x211d" L"\0" L"\x2121" L"\0"
++  L"\x2122" L"\0" L"\x2124" L"\0" L"\x2126" L"\0" L"\x2128" L"\0" L"\x212c"
++  L"\0" L"\x212d" L"\0" L"\x212e" L"\0" L"\x212f" L"\0" L"\x2130" L"\0"
++  L"\x2131" L"\0" L"\x2133" L"\0" L"\x2134" L"\0" L"\x2139" L"\0" L"\x2145"
++  L"\0" L"\x2146" L"\0" L"\x2147" L"\0" L"\x2148" L"\0" L"\x2149" L"\0"
++  L"\x2153" L"\0" L"\x2154" L"\0" L"\x2155" L"\0" L"\x2156" L"\0" L"\x2157"
++  L"\0" L"\x2158" L"\0" L"\x2159" L"\0" L"\x215a" L"\0" L"\x215b" L"\0"
++  L"\x215c" L"\0" L"\x215d" L"\0" L"\x215e" L"\0" L"\x215f" L"\0" L"\x2160"
++  L"\0" L"\x2161" L"\0" L"\x2162" L"\0" L"\x2163" L"\0" L"\x2164" L"\0"
++  L"\x2165" L"\0" L"\x2166" L"\0" L"\x2167" L"\0" L"\x2168" L"\0" L"\x2169"
++  L"\0" L"\x216a" L"\0" L"\x216b" L"\0" L"\x216c" L"\0" L"\x216d" L"\0"
++  L"\x216e" L"\0" L"\x216f" L"\0" L"\x2170" L"\0" L"\x2171" L"\0" L"\x2172"
++  L"\0" L"\x2173" L"\0" L"\x2174" L"\0" L"\x2175" L"\0" L"\x2176" L"\0"
++  L"\x2177" L"\0" L"\x2178" L"\0" L"\x2179" L"\0" L"\x217a" L"\0" L"\x217b"
++  L"\0" L"\x217c" L"\0" L"\x217d" L"\0" L"\x217e" L"\0" L"\x217f" L"\0"
++  L"\x2190" L"\0" L"\x2192" L"\0" L"\x2194" L"\0" L"\x21d0" L"\0" L"\x21d2"
++  L"\0" L"\x21d4" L"\0" L"\x2212" L"\0" L"\x2215" L"\0" L"\x2216" L"\0"
++  L"\x2217" L"\0" L"\x2223" L"\0" L"\x2236" L"\0" L"\x223c" L"\0" L"\x2264"
++  L"\0" L"\x2265" L"\0" L"\x226a" L"\0" L"\x226b" L"\0" L"\x22d8" L"\0"
++  L"\x22d9" L"\0" L"\x2400" L"\0" L"\x2401" L"\0" L"\x2402" L"\0" L"\x2403"
++  L"\0" L"\x2404" L"\0" L"\x2405" L"\0" L"\x2406" L"\0" L"\x2407" L"\0"
++  L"\x2408" L"\0" L"\x2409" L"\0" L"\x240a" L"\0" L"\x240b" L"\0" L"\x240c"
++  L"\0" L"\x240d" L"\0" L"\x240e" L"\0" L"\x240f" L"\0" L"\x2410" L"\0"
++  L"\x2411" L"\0" L"\x2412" L"\0" L"\x2413" L"\0" L"\x2414" L"\0" L"\x2415"
++  L"\0" L"\x2416" L"\0" L"\x2417" L"\0" L"\x2418" L"\0" L"\x2419" L"\0"
++  L"\x241a" L"\0" L"\x241b" L"\0" L"\x241c" L"\0" L"\x241d" L"\0" L"\x241e"
++  L"\0" L"\x241f" L"\0" L"\x2420" L"\0" L"\x2421" L"\0" L"\x2423" L"\0"
++  L"\x2424" L"\0" L"\x2460" L"\0" L"\x2461" L"\0" L"\x2462" L"\0" L"\x2463"
++  L"\0" L"\x2464" L"\0" L"\x2465" L"\0" L"\x2466" L"\0" L"\x2467" L"\0"
++  L"\x2468" L"\0" L"\x2469" L"\0" L"\x246a" L"\0" L"\x246b" L"\0" L"\x246c"
++  L"\0" L"\x246d" L"\0" L"\x246e" L"\0" L"\x246f" L"\0" L"\x2470" L"\0"
++  L"\x2471" L"\0" L"\x2472" L"\0" L"\x2473" L"\0" L"\x2474" L"\0" L"\x2475"
++  L"\0" L"\x2476" L"\0" L"\x2477" L"\0" L"\x2478" L"\0" L"\x2479" L"\0"
++  L"\x247a" L"\0" L"\x247b" L"\0" L"\x247c" L"\0" L"\x247d" L"\0" L"\x247e"
++  L"\0" L"\x247f" L"\0" L"\x2480" L"\0" L"\x2481" L"\0" L"\x2482" L"\0"
++  L"\x2483" L"\0" L"\x2484" L"\0" L"\x2485" L"\0" L"\x2486" L"\0" L"\x2487"
++  L"\0" L"\x2488" L"\0" L"\x2489" L"\0" L"\x248a" L"\0" L"\x248b" L"\0"
++  L"\x248c" L"\0" L"\x248d" L"\0" L"\x248e" L"\0" L"\x248f" L"\0" L"\x2490"
++  L"\0" L"\x2491" L"\0" L"\x2492" L"\0" L"\x2493" L"\0" L"\x2494" L"\0"
++  L"\x2495" L"\0" L"\x2496" L"\0" L"\x2497" L"\0" L"\x2498" L"\0" L"\x2499"
++  L"\0" L"\x249a" L"\0" L"\x249b" L"\0" L"\x249c" L"\0" L"\x249d" L"\0"
++  L"\x249e" L"\0" L"\x249f" L"\0" L"\x24a0" L"\0" L"\x24a1" L"\0" L"\x24a2"
++  L"\0" L"\x24a3" L"\0" L"\x24a4" L"\0" L"\x24a5" L"\0" L"\x24a6" L"\0"
++  L"\x24a7" L"\0" L"\x24a8" L"\0" L"\x24a9" L"\0" L"\x24aa" L"\0" L"\x24ab"
++  L"\0" L"\x24ac" L"\0" L"\x24ad" L"\0" L"\x24ae" L"\0" L"\x24af" L"\0"
++  L"\x24b0" L"\0" L"\x24b1" L"\0" L"\x24b2" L"\0" L"\x24b3" L"\0" L"\x24b4"
++  L"\0" L"\x24b5" L"\0" L"\x24b6" L"\0" L"\x24b7" L"\0" L"\x24b8" L"\0"
++  L"\x24b9" L"\0" L"\x24ba" L"\0" L"\x24bb" L"\0" L"\x24bc" L"\0" L"\x24bd"
++  L"\0" L"\x24be" L"\0" L"\x24bf" L"\0" L"\x24c0" L"\0" L"\x24c1" L"\0"
++  L"\x24c2" L"\0" L"\x24c3" L"\0" L"\x24c4" L"\0" L"\x24c5" L"\0" L"\x24c6"
++  L"\0" L"\x24c7" L"\0" L"\x24c8" L"\0" L"\x24c9" L"\0" L"\x24ca" L"\0"
++  L"\x24cb" L"\0" L"\x24cc" L"\0" L"\x24cd" L"\0" L"\x24ce" L"\0" L"\x24cf"
++  L"\0" L"\x24d0" L"\0" L"\x24d1" L"\0" L"\x24d2" L"\0" L"\x24d3" L"\0"
++  L"\x24d4" L"\0" L"\x24d5" L"\0" L"\x24d6" L"\0" L"\x24d7" L"\0" L"\x24d8"
++  L"\0" L"\x24d9" L"\0" L"\x24da" L"\0" L"\x24db" L"\0" L"\x24dc" L"\0"
++  L"\x24dd" L"\0" L"\x24de" L"\0" L"\x24df" L"\0" L"\x24e0" L"\0" L"\x24e1"
++  L"\0" L"\x24e2" L"\0" L"\x24e3" L"\0" L"\x24e4" L"\0" L"\x24e5" L"\0"
++  L"\x24e6" L"\0" L"\x24e7" L"\0" L"\x24e8" L"\0" L"\x24e9" L"\0" L"\x24ea"
++  L"\0" L"\x2500" L"\0" L"\x2502" L"\0" L"\x250c" L"\0" L"\x2510" L"\0"
++  L"\x2514" L"\0" L"\x2518" L"\0" L"\x251c" L"\0" L"\x2524" L"\0" L"\x252c"
++  L"\0" L"\x2534" L"\0" L"\x253c" L"\0" L"\x25e6" L"\0" L"\x2a74" L"\0"
++  L"\x2a75" L"\0" L"\x2a76" L"\0" L"\x3000" L"\0" L"\x30a0" L"\0" L"\x3251"
++  L"\0" L"\x3252" L"\0" L"\x3253" L"\0" L"\x3254" L"\0" L"\x3255" L"\0"
++  L"\x3256" L"\0" L"\x3257" L"\0" L"\x3258" L"\0" L"\x3259" L"\0" L"\x325a"
++  L"\0" L"\x325b" L"\0" L"\x325c" L"\0" L"\x325d" L"\0" L"\x325e" L"\0"
++  L"\x325f" L"\0" L"\x32b1" L"\0" L"\x32b2" L"\0" L"\x32b3" L"\0" L"\x32b4"
++  L"\0" L"\x32b5" L"\0" L"\x32b6" L"\0" L"\x32b7" L"\0" L"\x32b8" L"\0"
++  L"\x32b9" L"\0" L"\x32ba" L"\0" L"\x32bb" L"\0" L"\x32bc" L"\0" L"\x32bd"
++  L"\0" L"\x32be" L"\0" L"\x32bf" L"\0" L"\x3371" L"\0" L"\x3372" L"\0"
++  L"\x3373" L"\0" L"\x3374" L"\0" L"\x3375" L"\0" L"\x3376" L"\0" L"\x3380"
++  L"\0" L"\x3381" L"\0" L"\x3382" L"\0" L"\x3383" L"\0" L"\x3384" L"\0"
++  L"\x3385" L"\0" L"\x3386" L"\0" L"\x3387" L"\0" L"\x3388" L"\0" L"\x3389"
++  L"\0" L"\x338a" L"\0" L"\x338b" L"\0" L"\x338c" L"\0" L"\x338d" L"\0"
++  L"\x338e" L"\0" L"\x338f" L"\0" L"\x3390" L"\0" L"\x3391" L"\0" L"\x3392"
++  L"\0" L"\x3393" L"\0" L"\x3394" L"\0" L"\x3395" L"\0" L"\x3396" L"\0"
++  L"\x3397" L"\0" L"\x3398" L"\0" L"\x3399" L"\0" L"\x339a" L"\0" L"\x339b"
++  L"\0" L"\x339c" L"\0" L"\x339d" L"\0" L"\x339e" L"\0" L"\x339f" L"\0"
++  L"\x33a0" L"\0" L"\x33a1" L"\0" L"\x33a2" L"\0" L"\x33a3" L"\0" L"\x33a4"
++  L"\0" L"\x33a5" L"\0" L"\x33a6" L"\0" L"\x33a7" L"\0" L"\x33a8" L"\0"
++  L"\x33a9" L"\0" L"\x33aa" L"\0" L"\x33ab" L"\0" L"\x33ac" L"\0" L"\x33ad"
++  L"\0" L"\x33ae" L"\0" L"\x33af" L"\0" L"\x33b0" L"\0" L"\x33b1" L"\0"
++  L"\x33b2" L"\0" L"\x33b3" L"\0" L"\x33b4" L"\0" L"\x33b5" L"\0" L"\x33b6"
++  L"\0" L"\x33b7" L"\0" L"\x33b8" L"\0" L"\x33b9" L"\0" L"\x33ba" L"\0"
++  L"\x33bb" L"\0" L"\x33bc" L"\0" L"\x33bd" L"\0" L"\x33be" L"\0" L"\x33bf"
++  L"\0" L"\x33c2" L"\0" L"\x33c3" L"\0" L"\x33c4" L"\0" L"\x33c5" L"\0"
++  L"\x33c6" L"\0" L"\x33c7" L"\0" L"\x33c8" L"\0" L"\x33c9" L"\0" L"\x33ca"
++  L"\0" L"\x33cb" L"\0" L"\x33cc" L"\0" L"\x33cd" L"\0" L"\x33ce" L"\0"
++  L"\x33cf" L"\0" L"\x33d0" L"\0" L"\x33d1" L"\0" L"\x33d2" L"\0" L"\x33d3"
++  L"\0" L"\x33d4" L"\0" L"\x33d5" L"\0" L"\x33d6" L"\0" L"\x33d7" L"\0"
++  L"\x33d8" L"\0" L"\x33d9" L"\0" L"\x33da" L"\0" L"\x33db" L"\0" L"\x33dc"
++  L"\0" L"\x33dd" L"\0" L"\xfb00" L"\0" L"\xfb01" L"\0" L"\xfb02" L"\0"
++  L"\xfb03" L"\0" L"\xfb04" L"\0" L"\xfb06" L"\0" L"\xfb29" L"\0" L"\xfe00"
++  L"\0" L"\xfe01" L"\0" L"\xfe02" L"\0" L"\xfe03" L"\0" L"\xfe04" L"\0"
++  L"\xfe05" L"\0" L"\xfe06" L"\0" L"\xfe07" L"\0" L"\xfe08" L"\0" L"\xfe09"
++  L"\0" L"\xfe0a" L"\0" L"\xfe0b" L"\0" L"\xfe0c" L"\0" L"\xfe0d" L"\0"
++  L"\xfe0e" L"\0" L"\xfe0f" L"\0" L"\xfe4d" L"\0" L"\xfe4e" L"\0" L"\xfe4f"
++  L"\0" L"\xfe50" L"\0" L"\xfe52" L"\0" L"\xfe54" L"\0" L"\xfe55" L"\0"
++  L"\xfe56" L"\0" L"\xfe57" L"\0" L"\xfe59" L"\0" L"\xfe5a" L"\0" L"\xfe5b"
++  L"\0" L"\xfe5c" L"\0" L"\xfe5f" L"\0" L"\xfe60" L"\0" L"\xfe61" L"\0"
++  L"\xfe62" L"\0" L"\xfe63" L"\0" L"\xfe64" L"\0" L"\xfe65" L"\0" L"\xfe66"
++  L"\0" L"\xfe68" L"\0" L"\xfe69" L"\0" L"\xfe6a" L"\0" L"\xfe6b" L"\0"
++  L"\xfeff" L"\0" L"\xff01" L"\0" L"\xff02" L"\0" L"\xff03" L"\0" L"\xff04"
++  L"\0" L"\xff05" L"\0" L"\xff06" L"\0" L"\xff07" L"\0" L"\xff08" L"\0"
++  L"\xff09" L"\0" L"\xff0a" L"\0" L"\xff0b" L"\0" L"\xff0c" L"\0" L"\xff0d"
++  L"\0" L"\xff0e" L"\0" L"\xff0f" L"\0" L"\xff10" L"\0" L"\xff11" L"\0"
++  L"\xff12" L"\0" L"\xff13" L"\0" L"\xff14" L"\0" L"\xff15" L"\0" L"\xff16"
++  L"\0" L"\xff17" L"\0" L"\xff18" L"\0" L"\xff19" L"\0" L"\xff1a" L"\0"
++  L"\xff1b" L"\0" L"\xff1c" L"\0" L"\xff1d" L"\0" L"\xff1e" L"\0" L"\xff1f"
++  L"\0" L"\xff20" L"\0" L"\xff21" L"\0" L"\xff22" L"\0" L"\xff23" L"\0"
++  L"\xff24" L"\0" L"\xff25" L"\0" L"\xff26" L"\0" L"\xff27" L"\0" L"\xff28"
++  L"\0" L"\xff29" L"\0" L"\xff2a" L"\0" L"\xff2b" L"\0" L"\xff2c" L"\0"
++  L"\xff2d" L"\0" L"\xff2e" L"\0" L"\xff2f" L"\0" L"\xff30" L"\0" L"\xff31"
++  L"\0" L"\xff32" L"\0" L"\xff33" L"\0" L"\xff34" L"\0" L"\xff35" L"\0"
++  L"\xff36" L"\0" L"\xff37" L"\0" L"\xff38" L"\0" L"\xff39" L"\0" L"\xff3a"
++  L"\0" L"\xff3b" L"\0" L"\xff3c" L"\0" L"\xff3d" L"\0" L"\xff3e" L"\0"
++  L"\xff3f" L"\0" L"\xff40" L"\0" L"\xff41" L"\0" L"\xff42" L"\0" L"\xff43"
++  L"\0" L"\xff44" L"\0" L"\xff45" L"\0" L"\xff46" L"\0" L"\xff47" L"\0"
++  L"\xff48" L"\0" L"\xff49" L"\0" L"\xff4a" L"\0" L"\xff4b" L"\0" L"\xff4c"
++  L"\0" L"\xff4d" L"\0" L"\xff4e" L"\0" L"\xff4f" L"\0" L"\xff50" L"\0"
++  L"\xff51" L"\0" L"\xff52" L"\0" L"\xff53" L"\0" L"\xff54" L"\0" L"\xff55"
++  L"\0" L"\xff56" L"\0" L"\xff57" L"\0" L"\xff58" L"\0" L"\xff59" L"\0"
++  L"\xff5a" L"\0" L"\xff5b" L"\0" L"\xff5c" L"\0" L"\xff5d" L"\0" L"\xff5e"
++  L"\0" L"\x0001d400" L"\0" L"\x0001d401" L"\0" L"\x0001d402" L"\0"
++  L"\x0001d403" L"\0" L"\x0001d404" L"\0" L"\x0001d405" L"\0" L"\x0001d406"
++  L"\0" L"\x0001d407" L"\0" L"\x0001d408" L"\0" L"\x0001d409" L"\0"
++  L"\x0001d40a" L"\0" L"\x0001d40b" L"\0" L"\x0001d40c" L"\0" L"\x0001d40d"
++  L"\0" L"\x0001d40e" L"\0" L"\x0001d40f" L"\0" L"\x0001d410" L"\0"
++  L"\x0001d411" L"\0" L"\x0001d412" L"\0" L"\x0001d413" L"\0" L"\x0001d414"
++  L"\0" L"\x0001d415" L"\0" L"\x0001d416" L"\0" L"\x0001d417" L"\0"
++  L"\x0001d418" L"\0" L"\x0001d419" L"\0" L"\x0001d41a" L"\0" L"\x0001d41b"
++  L"\0" L"\x0001d41c" L"\0" L"\x0001d41d" L"\0" L"\x0001d41e" L"\0"
++  L"\x0001d41f" L"\0" L"\x0001d420" L"\0" L"\x0001d421" L"\0" L"\x0001d422"
++  L"\0" L"\x0001d423" L"\0" L"\x0001d424" L"\0" L"\x0001d425" L"\0"
++  L"\x0001d426" L"\0" L"\x0001d427" L"\0" L"\x0001d428" L"\0" L"\x0001d429"
++  L"\0" L"\x0001d42a" L"\0" L"\x0001d42b" L"\0" L"\x0001d42c" L"\0"
++  L"\x0001d42d" L"\0" L"\x0001d42e" L"\0" L"\x0001d42f" L"\0" L"\x0001d430"
++  L"\0" L"\x0001d431" L"\0" L"\x0001d432" L"\0" L"\x0001d433" L"\0"
++  L"\x0001d434" L"\0" L"\x0001d435" L"\0" L"\x0001d436" L"\0" L"\x0001d437"
++  L"\0" L"\x0001d438" L"\0" L"\x0001d439" L"\0" L"\x0001d43a" L"\0"
++  L"\x0001d43b" L"\0" L"\x0001d43c" L"\0" L"\x0001d43d" L"\0" L"\x0001d43e"
++  L"\0" L"\x0001d43f" L"\0" L"\x0001d440" L"\0" L"\x0001d441" L"\0"
++  L"\x0001d442" L"\0" L"\x0001d443" L"\0" L"\x0001d444" L"\0" L"\x0001d445"
++  L"\0" L"\x0001d446" L"\0" L"\x0001d447" L"\0" L"\x0001d448" L"\0"
++  L"\x0001d449" L"\0" L"\x0001d44a" L"\0" L"\x0001d44b" L"\0" L"\x0001d44c"
++  L"\0" L"\x0001d44d" L"\0" L"\x0001d44e" L"\0" L"\x0001d44f" L"\0"
++  L"\x0001d450" L"\0" L"\x0001d451" L"\0" L"\x0001d452" L"\0" L"\x0001d453"
++  L"\0" L"\x0001d454" L"\0" L"\x0001d456" L"\0" L"\x0001d457" L"\0"
++  L"\x0001d458" L"\0" L"\x0001d459" L"\0" L"\x0001d45a" L"\0" L"\x0001d45b"
++  L"\0" L"\x0001d45c" L"\0" L"\x0001d45d" L"\0" L"\x0001d45e" L"\0"
++  L"\x0001d45f" L"\0" L"\x0001d460" L"\0" L"\x0001d461" L"\0" L"\x0001d462"
++  L"\0" L"\x0001d463" L"\0" L"\x0001d464" L"\0" L"\x0001d465" L"\0"
++  L"\x0001d466" L"\0" L"\x0001d467" L"\0" L"\x0001d468" L"\0" L"\x0001d469"
++  L"\0" L"\x0001d46a" L"\0" L"\x0001d46b" L"\0" L"\x0001d46c" L"\0"
++  L"\x0001d46d" L"\0" L"\x0001d46e" L"\0" L"\x0001d46f" L"\0" L"\x0001d470"
++  L"\0" L"\x0001d471" L"\0" L"\x0001d472" L"\0" L"\x0001d473" L"\0"
++  L"\x0001d474" L"\0" L"\x0001d475" L"\0" L"\x0001d476" L"\0" L"\x0001d477"
++  L"\0" L"\x0001d478" L"\0" L"\x0001d479" L"\0" L"\x0001d47a" L"\0"
++  L"\x0001d47b" L"\0" L"\x0001d47c" L"\0" L"\x0001d47d" L"\0" L"\x0001d47e"
++  L"\0" L"\x0001d47f" L"\0" L"\x0001d480" L"\0" L"\x0001d481" L"\0"
++  L"\x0001d482" L"\0" L"\x0001d483" L"\0" L"\x0001d484" L"\0" L"\x0001d485"
++  L"\0" L"\x0001d486" L"\0" L"\x0001d487" L"\0" L"\x0001d488" L"\0"
++  L"\x0001d489" L"\0" L"\x0001d48a" L"\0" L"\x0001d48b" L"\0" L"\x0001d48c"
++  L"\0" L"\x0001d48d" L"\0" L"\x0001d48e" L"\0" L"\x0001d48f" L"\0"
++  L"\x0001d490" L"\0" L"\x0001d491" L"\0" L"\x0001d492" L"\0" L"\x0001d493"
++  L"\0" L"\x0001d494" L"\0" L"\x0001d495" L"\0" L"\x0001d496" L"\0"
++  L"\x0001d497" L"\0" L"\x0001d498" L"\0" L"\x0001d499" L"\0" L"\x0001d49a"
++  L"\0" L"\x0001d49b" L"\0" L"\x0001d49c" L"\0" L"\x0001d49e" L"\0"
++  L"\x0001d49f" L"\0" L"\x0001d4a2" L"\0" L"\x0001d4a5" L"\0" L"\x0001d4a6"
++  L"\0" L"\x0001d4a9" L"\0" L"\x0001d4aa" L"\0" L"\x0001d4ab" L"\0"
++  L"\x0001d4ac" L"\0" L"\x0001d4ae" L"\0" L"\x0001d4af" L"\0" L"\x0001d4b0"
++  L"\0" L"\x0001d4b1" L"\0" L"\x0001d4b2" L"\0" L"\x0001d4b3" L"\0"
++  L"\x0001d4b4" L"\0" L"\x0001d4b5" L"\0" L"\x0001d4b6" L"\0" L"\x0001d4b7"
++  L"\0" L"\x0001d4b8" L"\0" L"\x0001d4b9" L"\0" L"\x0001d4bb" L"\0"
++  L"\x0001d4bd" L"\0" L"\x0001d4be" L"\0" L"\x0001d4bf" L"\0" L"\x0001d4c0"
++  L"\0" L"\x0001d4c2" L"\0" L"\x0001d4c3" L"\0" L"\x0001d4c5" L"\0"
++  L"\x0001d4c6" L"\0" L"\x0001d4c7" L"\0" L"\x0001d4c8" L"\0" L"\x0001d4c9"
++  L"\0" L"\x0001d4ca" L"\0" L"\x0001d4cb" L"\0" L"\x0001d4cc" L"\0"
++  L"\x0001d4cd" L"\0" L"\x0001d4ce" L"\0" L"\x0001d4cf" L"\0" L"\x0001d4d0"
++  L"\0" L"\x0001d4d1" L"\0" L"\x0001d4d2" L"\0" L"\x0001d4d3" L"\0"
++  L"\x0001d4d4" L"\0" L"\x0001d4d5" L"\0" L"\x0001d4d6" L"\0" L"\x0001d4d7"
++  L"\0" L"\x0001d4d8" L"\0" L"\x0001d4d9" L"\0" L"\x0001d4da" L"\0"
++  L"\x0001d4db" L"\0" L"\x0001d4dc" L"\0" L"\x0001d4dd" L"\0" L"\x0001d4de"
++  L"\0" L"\x0001d4df" L"\0" L"\x0001d4e0" L"\0" L"\x0001d4e1" L"\0"
++  L"\x0001d4e2" L"\0" L"\x0001d4e3" L"\0" L"\x0001d4e4" L"\0" L"\x0001d4e5"
++  L"\0" L"\x0001d4e6" L"\0" L"\x0001d4e7" L"\0" L"\x0001d4e8" L"\0"
++  L"\x0001d4e9" L"\0" L"\x0001d4ea" L"\0" L"\x0001d4eb" L"\0" L"\x0001d4ec"
++  L"\0" L"\x0001d4ed" L"\0" L"\x0001d4ee" L"\0" L"\x0001d4ef" L"\0"
++  L"\x0001d4f0" L"\0" L"\x0001d4f1" L"\0" L"\x0001d4f2" L"\0" L"\x0001d4f3"
++  L"\0" L"\x0001d4f4" L"\0" L"\x0001d4f5" L"\0" L"\x0001d4f6" L"\0"
++  L"\x0001d4f7" L"\0" L"\x0001d4f8" L"\0" L"\x0001d4f9" L"\0" L"\x0001d4fa"
++  L"\0" L"\x0001d4fb" L"\0" L"\x0001d4fc" L"\0" L"\x0001d4fd" L"\0"
++  L"\x0001d4fe" L"\0" L"\x0001d4ff" L"\0" L"\x0001d500" L"\0" L"\x0001d501"
++  L"\0" L"\x0001d502" L"\0" L"\x0001d503" L"\0" L"\x0001d504" L"\0"
++  L"\x0001d505" L"\0" L"\x0001d507" L"\0" L"\x0001d508" L"\0" L"\x0001d509"
++  L"\0" L"\x0001d50a" L"\0" L"\x0001d50d" L"\0" L"\x0001d50e" L"\0"
++  L"\x0001d50f" L"\0" L"\x0001d510" L"\0" L"\x0001d511" L"\0" L"\x0001d512"
++  L"\0" L"\x0001d513" L"\0" L"\x0001d514" L"\0" L"\x0001d516" L"\0"
++  L"\x0001d517" L"\0" L"\x0001d518" L"\0" L"\x0001d519" L"\0" L"\x0001d51a"
++  L"\0" L"\x0001d51b" L"\0" L"\x0001d51c" L"\0" L"\x0001d51e" L"\0"
++  L"\x0001d51f" L"\0" L"\x0001d520" L"\0" L"\x0001d521" L"\0" L"\x0001d522"
++  L"\0" L"\x0001d523" L"\0" L"\x0001d524" L"\0" L"\x0001d525" L"\0"
++  L"\x0001d526" L"\0" L"\x0001d527" L"\0" L"\x0001d528" L"\0" L"\x0001d529"
++  L"\0" L"\x0001d52a" L"\0" L"\x0001d52b" L"\0" L"\x0001d52c" L"\0"
++  L"\x0001d52d" L"\0" L"\x0001d52e" L"\0" L"\x0001d52f" L"\0" L"\x0001d530"
++  L"\0" L"\x0001d531" L"\0" L"\x0001d532" L"\0" L"\x0001d533" L"\0"
++  L"\x0001d534" L"\0" L"\x0001d535" L"\0" L"\x0001d536" L"\0" L"\x0001d537"
++  L"\0" L"\x0001d538" L"\0" L"\x0001d539" L"\0" L"\x0001d53b" L"\0"
++  L"\x0001d53c" L"\0" L"\x0001d53d" L"\0" L"\x0001d53e" L"\0" L"\x0001d540"
++  L"\0" L"\x0001d541" L"\0" L"\x0001d542" L"\0" L"\x0001d543" L"\0"
++  L"\x0001d544" L"\0" L"\x0001d546" L"\0" L"\x0001d54a" L"\0" L"\x0001d54b"
++  L"\0" L"\x0001d54c" L"\0" L"\x0001d54d" L"\0" L"\x0001d54e" L"\0"
++  L"\x0001d54f" L"\0" L"\x0001d550" L"\0" L"\x0001d552" L"\0" L"\x0001d553"
++  L"\0" L"\x0001d554" L"\0" L"\x0001d555" L"\0" L"\x0001d556" L"\0"
++  L"\x0001d557" L"\0" L"\x0001d558" L"\0" L"\x0001d559" L"\0" L"\x0001d55a"
++  L"\0" L"\x0001d55b" L"\0" L"\x0001d55c" L"\0" L"\x0001d55d" L"\0"
++  L"\x0001d55e" L"\0" L"\x0001d55f" L"\0" L"\x0001d560" L"\0" L"\x0001d561"
++  L"\0" L"\x0001d562" L"\0" L"\x0001d563" L"\0" L"\x0001d564" L"\0"
++  L"\x0001d565" L"\0" L"\x0001d566" L"\0" L"\x0001d567" L"\0" L"\x0001d568"
++  L"\0" L"\x0001d569" L"\0" L"\x0001d56a" L"\0" L"\x0001d56b" L"\0"
++  L"\x0001d56c" L"\0" L"\x0001d56d" L"\0" L"\x0001d56e" L"\0" L"\x0001d56f"
++  L"\0" L"\x0001d570" L"\0" L"\x0001d571" L"\0" L"\x0001d572" L"\0"
++  L"\x0001d573" L"\0" L"\x0001d574" L"\0" L"\x0001d575" L"\0" L"\x0001d576"
++  L"\0" L"\x0001d577" L"\0" L"\x0001d578" L"\0" L"\x0001d579" L"\0"
++  L"\x0001d57a" L"\0" L"\x0001d57b" L"\0" L"\x0001d57c" L"\0" L"\x0001d57d"
++  L"\0" L"\x0001d57e" L"\0" L"\x0001d57f" L"\0" L"\x0001d580" L"\0"
++  L"\x0001d581" L"\0" L"\x0001d582" L"\0" L"\x0001d583" L"\0" L"\x0001d584"
++  L"\0" L"\x0001d585" L"\0" L"\x0001d586" L"\0" L"\x0001d587" L"\0"
++  L"\x0001d588" L"\0" L"\x0001d589" L"\0" L"\x0001d58a" L"\0" L"\x0001d58b"
++  L"\0" L"\x0001d58c" L"\0" L"\x0001d58d" L"\0" L"\x0001d58e" L"\0"
++  L"\x0001d58f" L"\0" L"\x0001d590" L"\0" L"\x0001d591" L"\0" L"\x0001d592"
++  L"\0" L"\x0001d593" L"\0" L"\x0001d594" L"\0" L"\x0001d595" L"\0"
++  L"\x0001d596" L"\0" L"\x0001d597" L"\0" L"\x0001d598" L"\0" L"\x0001d599"
++  L"\0" L"\x0001d59a" L"\0" L"\x0001d59b" L"\0" L"\x0001d59c" L"\0"
++  L"\x0001d59d" L"\0" L"\x0001d59e" L"\0" L"\x0001d59f" L"\0" L"\x0001d5a0"
++  L"\0" L"\x0001d5a1" L"\0" L"\x0001d5a2" L"\0" L"\x0001d5a3" L"\0"
++  L"\x0001d5a4" L"\0" L"\x0001d5a5" L"\0" L"\x0001d5a6" L"\0" L"\x0001d5a7"
++  L"\0" L"\x0001d5a8" L"\0" L"\x0001d5a9" L"\0" L"\x0001d5aa" L"\0"
++  L"\x0001d5ab" L"\0" L"\x0001d5ac" L"\0" L"\x0001d5ad" L"\0" L"\x0001d5ae"
++  L"\0" L"\x0001d5af" L"\0" L"\x0001d5b0" L"\0" L"\x0001d5b1" L"\0"
++  L"\x0001d5b2" L"\0" L"\x0001d5b3" L"\0" L"\x0001d5b4" L"\0" L"\x0001d5b5"
++  L"\0" L"\x0001d5b6" L"\0" L"\x0001d5b7" L"\0" L"\x0001d5b8" L"\0"
++  L"\x0001d5b9" L"\0" L"\x0001d5ba" L"\0" L"\x0001d5bb" L"\0" L"\x0001d5bc"
++  L"\0" L"\x0001d5bd" L"\0" L"\x0001d5be" L"\0" L"\x0001d5bf" L"\0"
++  L"\x0001d5c0" L"\0" L"\x0001d5c1" L"\0" L"\x0001d5c2" L"\0" L"\x0001d5c3"
++  L"\0" L"\x0001d5c4" L"\0" L"\x0001d5c5" L"\0" L"\x0001d5c6" L"\0"
++  L"\x0001d5c7" L"\0" L"\x0001d5c8" L"\0" L"\x0001d5c9" L"\0" L"\x0001d5ca"
++  L"\0" L"\x0001d5cb" L"\0" L"\x0001d5cc" L"\0" L"\x0001d5cd" L"\0"
++  L"\x0001d5ce" L"\0" L"\x0001d5cf" L"\0" L"\x0001d5d0" L"\0" L"\x0001d5d1"
++  L"\0" L"\x0001d5d2" L"\0" L"\x0001d5d3" L"\0" L"\x0001d5d4" L"\0"
++  L"\x0001d5d5" L"\0" L"\x0001d5d6" L"\0" L"\x0001d5d7" L"\0" L"\x0001d5d8"
++  L"\0" L"\x0001d5d9" L"\0" L"\x0001d5da" L"\0" L"\x0001d5db" L"\0"
++  L"\x0001d5dc" L"\0" L"\x0001d5dd" L"\0" L"\x0001d5de" L"\0" L"\x0001d5df"
++  L"\0" L"\x0001d5e0" L"\0" L"\x0001d5e1" L"\0" L"\x0001d5e2" L"\0"
++  L"\x0001d5e3" L"\0" L"\x0001d5e4" L"\0" L"\x0001d5e5" L"\0" L"\x0001d5e6"
++  L"\0" L"\x0001d5e7" L"\0" L"\x0001d5e8" L"\0" L"\x0001d5e9" L"\0"
++  L"\x0001d5ea" L"\0" L"\x0001d5eb" L"\0" L"\x0001d5ec" L"\0" L"\x0001d5ed"
++  L"\0" L"\x0001d5ee" L"\0" L"\x0001d5ef" L"\0" L"\x0001d5f0" L"\0"
++  L"\x0001d5f1" L"\0" L"\x0001d5f2" L"\0" L"\x0001d5f3" L"\0" L"\x0001d5f4"
++  L"\0" L"\x0001d5f5" L"\0" L"\x0001d5f6" L"\0" L"\x0001d5f7" L"\0"
++  L"\x0001d5f8" L"\0" L"\x0001d5f9" L"\0" L"\x0001d5fa" L"\0" L"\x0001d5fb"
++  L"\0" L"\x0001d5fc" L"\0" L"\x0001d5fd" L"\0" L"\x0001d5fe" L"\0"
++  L"\x0001d5ff" L"\0" L"\x0001d600" L"\0" L"\x0001d601" L"\0" L"\x0001d602"
++  L"\0" L"\x0001d603" L"\0" L"\x0001d604" L"\0" L"\x0001d605" L"\0"
++  L"\x0001d606" L"\0" L"\x0001d607" L"\0" L"\x0001d608" L"\0" L"\x0001d609"
++  L"\0" L"\x0001d60a" L"\0" L"\x0001d60b" L"\0" L"\x0001d60c" L"\0"
++  L"\x0001d60d" L"\0" L"\x0001d60e" L"\0" L"\x0001d60f" L"\0" L"\x0001d610"
++  L"\0" L"\x0001d611" L"\0" L"\x0001d612" L"\0" L"\x0001d613" L"\0"
++  L"\x0001d614" L"\0" L"\x0001d615" L"\0" L"\x0001d616" L"\0" L"\x0001d617"
++  L"\0" L"\x0001d618" L"\0" L"\x0001d619" L"\0" L"\x0001d61a" L"\0"
++  L"\x0001d61b" L"\0" L"\x0001d61c" L"\0" L"\x0001d61d" L"\0" L"\x0001d61e"
++  L"\0" L"\x0001d61f" L"\0" L"\x0001d620" L"\0" L"\x0001d621" L"\0"
++  L"\x0001d622" L"\0" L"\x0001d623" L"\0" L"\x0001d624" L"\0" L"\x0001d625"
++  L"\0" L"\x0001d626" L"\0" L"\x0001d627" L"\0" L"\x0001d628" L"\0"
++  L"\x0001d629" L"\0" L"\x0001d62a" L"\0" L"\x0001d62b" L"\0" L"\x0001d62c"
++  L"\0" L"\x0001d62d" L"\0" L"\x0001d62e" L"\0" L"\x0001d62f" L"\0"
++  L"\x0001d630" L"\0" L"\x0001d631" L"\0" L"\x0001d632" L"\0" L"\x0001d633"
++  L"\0" L"\x0001d634" L"\0" L"\x0001d635" L"\0" L"\x0001d636" L"\0"
++  L"\x0001d637" L"\0" L"\x0001d638" L"\0" L"\x0001d639" L"\0" L"\x0001d63a"
++  L"\0" L"\x0001d63b" L"\0" L"\x0001d63c" L"\0" L"\x0001d63d" L"\0"
++  L"\x0001d63e" L"\0" L"\x0001d63f" L"\0" L"\x0001d640" L"\0" L"\x0001d641"
++  L"\0" L"\x0001d642" L"\0" L"\x0001d643" L"\0" L"\x0001d644" L"\0"
++  L"\x0001d645" L"\0" L"\x0001d646" L"\0" L"\x0001d647" L"\0" L"\x0001d648"
++  L"\0" L"\x0001d649" L"\0" L"\x0001d64a" L"\0" L"\x0001d64b" L"\0"
++  L"\x0001d64c" L"\0" L"\x0001d64d" L"\0" L"\x0001d64e" L"\0" L"\x0001d64f"
++  L"\0" L"\x0001d650" L"\0" L"\x0001d651" L"\0" L"\x0001d652" L"\0"
++  L"\x0001d653" L"\0" L"\x0001d654" L"\0" L"\x0001d655" L"\0" L"\x0001d656"
++  L"\0" L"\x0001d657" L"\0" L"\x0001d658" L"\0" L"\x0001d659" L"\0"
++  L"\x0001d65a" L"\0" L"\x0001d65b" L"\0" L"\x0001d65c" L"\0" L"\x0001d65d"
++  L"\0" L"\x0001d65e" L"\0" L"\x0001d65f" L"\0" L"\x0001d660" L"\0"
++  L"\x0001d661" L"\0" L"\x0001d662" L"\0" L"\x0001d663" L"\0" L"\x0001d664"
++  L"\0" L"\x0001d665" L"\0" L"\x0001d666" L"\0" L"\x0001d667" L"\0"
++  L"\x0001d668" L"\0" L"\x0001d669" L"\0" L"\x0001d66a" L"\0" L"\x0001d66b"
++  L"\0" L"\x0001d66c" L"\0" L"\x0001d66d" L"\0" L"\x0001d66e" L"\0"
++  L"\x0001d66f" L"\0" L"\x0001d670" L"\0" L"\x0001d671" L"\0" L"\x0001d672"
++  L"\0" L"\x0001d673" L"\0" L"\x0001d674" L"\0" L"\x0001d675" L"\0"
++  L"\x0001d676" L"\0" L"\x0001d677" L"\0" L"\x0001d678" L"\0" L"\x0001d679"
++  L"\0" L"\x0001d67a" L"\0" L"\x0001d67b" L"\0" L"\x0001d67c" L"\0"
++  L"\x0001d67d" L"\0" L"\x0001d67e" L"\0" L"\x0001d67f" L"\0" L"\x0001d680"
++  L"\0" L"\x0001d681" L"\0" L"\x0001d682" L"\0" L"\x0001d683" L"\0"
++  L"\x0001d684" L"\0" L"\x0001d685" L"\0" L"\x0001d686" L"\0" L"\x0001d687"
++  L"\0" L"\x0001d688" L"\0" L"\x0001d689" L"\0" L"\x0001d68a" L"\0"
++  L"\x0001d68b" L"\0" L"\x0001d68c" L"\0" L"\x0001d68d" L"\0" L"\x0001d68e"
++  L"\0" L"\x0001d68f" L"\0" L"\x0001d690" L"\0" L"\x0001d691" L"\0"
++  L"\x0001d692" L"\0" L"\x0001d693" L"\0" L"\x0001d694" L"\0" L"\x0001d695"
++  L"\0" L"\x0001d696" L"\0" L"\x0001d697" L"\0" L"\x0001d698" L"\0"
++  L"\x0001d699" L"\0" L"\x0001d69a" L"\0" L"\x0001d69b" L"\0" L"\x0001d69c"
++  L"\0" L"\x0001d69d" L"\0" L"\x0001d69e" L"\0" L"\x0001d69f" L"\0"
++  L"\x0001d6a0" L"\0" L"\x0001d6a1" L"\0" L"\x0001d6a2" L"\0" L"\x0001d6a3"
++  L"\0" L"\x0001d7ce" L"\0" L"\x0001d7cf" L"\0" L"\x0001d7d0" L"\0"
++  L"\x0001d7d1" L"\0" L"\x0001d7d2" L"\0" L"\x0001d7d3" L"\0" L"\x0001d7d4"
++  L"\0" L"\x0001d7d5" L"\0" L"\x0001d7d6" L"\0" L"\x0001d7d7" L"\0"
++  L"\x0001d7d8" L"\0" L"\x0001d7d9" L"\0" L"\x0001d7da" L"\0" L"\x0001d7db"
++  L"\0" L"\x0001d7dc" L"\0" L"\x0001d7dd" L"\0" L"\x0001d7de" L"\0"
++  L"\x0001d7df" L"\0" L"\x0001d7e0" L"\0" L"\x0001d7e1" L"\0" L"\x0001d7e2"
++  L"\0" L"\x0001d7e3" L"\0" L"\x0001d7e4" L"\0" L"\x0001d7e5" L"\0"
++  L"\x0001d7e6" L"\0" L"\x0001d7e7" L"\0" L"\x0001d7e8" L"\0" L"\x0001d7e9"
++  L"\0" L"\x0001d7ea" L"\0" L"\x0001d7eb" L"\0" L"\x0001d7ec" L"\0"
++  L"\x0001d7ed" L"\0" L"\x0001d7ee" L"\0" L"\x0001d7ef" L"\0" L"\x0001d7f0"
++  L"\0" L"\x0001d7f1" L"\0" L"\x0001d7f2" L"\0" L"\x0001d7f3" L"\0"
++  L"\x0001d7f4" L"\0" L"\x0001d7f5" L"\0" L"\x0001d7f6" L"\0" L"\x0001d7f7"
++  L"\0" L"\x0001d7f8" L"\0" L"\x0001d7f9" L"\0" L"\x0001d7fa" L"\0"
++  L"\x0001d7fb" L"\0" L"\x0001d7fc" L"\0" L"\x0001d7fd" L"\0" L"\x0001d7fe"
++  L"\0" L"\x0001d7ff";
+ static const uint32_t translit_to_idx[] =
+ {
+      0,    3,    8,   12,   15,   20,   23,   26,   30,   37,   44,   51,
+@@ -471,22 +471,22 @@ static const uint32_t translit_to_idx[] 
+    180,  183,  186,  189,  192,  196,  199,  202,  205,  208,  211,  214,
+    217,  221,  224,  227,  230,  233,  237,  242,  245,  248,  252,  257,
+    260,  263,  267,  270,  274,  278,  282,  285,  287,  289,  291,  293,
+-   297,  302,  307,  312,  315,  320,  325,  328,  331,  334,  337,  340,
+-   343,  346,  349,  352,  355,  359,  362,  365,  368,  371,  374,  379,
+-   385,  388,  393,  396,  399,  402,  405,  408,  411,  414,  417,  420,
+-   423,  426,  429,  432,  435,  438,  445,  452,  459,  466,  473,  480,
+-   487,  494,  501,  508,  515,  522,  527,  530,  534,  539,  543,  546,
+-   550,  555,  561,  565,  568,  572,  577,  580,  583,  586,  589,  592,
+-   596,  601,  605,  608,  612,  617,  623,  627,  630,  634,  639,  642,
+-   645,  648,  651,  655,  659,  664,  668,  672,  677,  680,  683,  686,
+-   689,  692,  695,  698,  702,  706,  710,  714,  719,  724,  729,  734,
+-   739,  744,  749,  754,  759,  764,  768,  772,  776,  780,  784,  788,
+-   792,  796,  801,  806,  811,  816,  821,  826,  831,  836,  841,  845,
+-   850,  855,  859,  863,  867,  871,  875,  880,  883,  887,  892,  897,
+-   902,  907,  912,  917,  922,  927,  932,  938,  944,  950,  956,  962,
+-   968,  974,  980,  986,  992,  998, 1003, 1008, 1013, 1018, 1023, 1028,
+-  1033, 1038, 1043, 1049, 1055, 1061, 1067, 1073, 1079, 1085, 1091, 1097,
+-  1103, 1109, 1113, 1117, 1121, 1125, 1129, 1133, 1137, 1141, 1145, 1150,
++   297,  302,  307,  312,  317,  320,  325,  330,  333,  336,  339,  342,
++   345,  348,  351,  354,  357,  360,  364,  367,  370,  373,  376,  379,
++   384,  390,  393,  398,  401,  404,  407,  410,  413,  416,  419,  422,
++   425,  428,  431,  434,  437,  440,  443,  450,  457,  464,  471,  478,
++   485,  492,  499,  506,  513,  520,  527,  532,  535,  539,  544,  548,
++   551,  555,  560,  566,  570,  573,  577,  582,  585,  588,  591,  594,
++   597,  601,  606,  610,  613,  617,  622,  628,  632,  635,  639,  644,
++   647,  650,  653,  656,  660,  664,  669,  673,  677,  682,  685,  688,
++   691,  694,  697,  700,  703,  707,  711,  715,  719,  724,  729,  734,
++   739,  744,  749,  754,  759,  764,  769,  773,  777,  781,  785,  789,
++   793,  797,  801,  806,  811,  816,  821,  826,  831,  836,  841,  846,
++   850,  855,  860,  864,  868,  872,  876,  880,  885,  888,  892,  897,
++   902,  907,  912,  917,  922,  927,  932,  937,  943,  949,  955,  961,
++   967,  973,  979,  985,  991,  997, 1003, 1008, 1013, 1018, 1023, 1028,
++  1033, 1038, 1043, 1048, 1054, 1060, 1066, 1072, 1078, 1084, 1090, 1096,
++  1102, 1108, 1114, 1118, 1122, 1126, 1130, 1134, 1138, 1142, 1146, 1150,
+   1155, 1160, 1165, 1170, 1175, 1180, 1185, 1190, 1195, 1200, 1205, 1210,
+   1215, 1220, 1225, 1230, 1235, 1240, 1245, 1250, 1255, 1260, 1265, 1270,
+   1275, 1280, 1285, 1290, 1295, 1300, 1305, 1310, 1315, 1320, 1325, 1330,
+@@ -494,89 +494,89 @@ static const uint32_t translit_to_idx[] 
+   1395, 1400, 1405, 1410, 1415, 1420, 1425, 1430, 1435, 1440, 1445, 1450,
+   1455, 1460, 1465, 1470, 1475, 1480, 1485, 1490, 1495, 1500, 1505, 1510,
+   1515, 1520, 1525, 1530, 1535, 1540, 1545, 1550, 1555, 1560, 1565, 1570,
+-  1575, 1580, 1585, 1590, 1595, 1598, 1601, 1604, 1607, 1610, 1613, 1616,
+-  1619, 1622, 1625, 1628, 1631, 1636, 1640, 1645, 1648, 1651, 1657, 1663,
+-  1669, 1675, 1681, 1687, 1693, 1699, 1705, 1711, 1717, 1723, 1729, 1735,
+-  1741, 1747, 1753, 1759, 1765, 1771, 1777, 1783, 1789, 1795, 1801, 1807,
+-  1813, 1819, 1825, 1831, 1836, 1840, 1844, 1849, 1853, 1857, 1861, 1865,
+-  1869, 1873, 1877, 1881, 1885, 1889, 1894, 1900, 1904, 1908, 1912, 1916,
+-  1920, 1924, 1928, 1933, 1938, 1943, 1948, 1952, 1956, 1960, 1964, 1968,
+-  1972, 1976, 1980, 1984, 1988, 1994, 2000, 2005, 2011, 2017, 2023, 2028,
+-  2034, 2039, 2046, 2050, 2055, 2060, 2065, 2070, 2077, 2086, 2090, 2094,
+-  2098, 2102, 2106, 2110, 2114, 2118, 2122, 2126, 2130, 2134, 2138, 2142,
+-  2146, 2150, 2156, 2160, 2164, 2168, 2174, 2179, 2183, 2187, 2191, 2195,
+-  2199, 2203, 2207, 2211, 2215, 2219, 2224, 2228, 2232, 2237, 2242, 2246,
+-  2252, 2257, 2261, 2265, 2269, 2273, 2277, 2281, 2285, 2290, 2295, 2299,
+-  2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318, 2320, 2322, 2324,
+-  2326, 2328, 2330, 2332, 2334, 2337, 2340, 2343, 2346, 2349, 2352, 2355,
+-  2358, 2361, 2364, 2367, 2370, 2373, 2376, 2379, 2382, 2385, 2388, 2391,
+-  2394, 2397, 2400, 2403, 2406, 2409, 2411, 2414, 2417, 2420, 2423, 2426,
+-  2429, 2432, 2435, 2438, 2441, 2444, 2447, 2450, 2453, 2456, 2459, 2462,
+-  2465, 2468, 2471, 2474, 2477, 2480, 2483, 2486, 2489, 2492, 2495, 2498,
+-  2501, 2504, 2507, 2510, 2513, 2516, 2519, 2522, 2525, 2528, 2531, 2534,
+-  2537, 2540, 2543, 2546, 2549, 2552, 2555, 2558, 2561, 2564, 2567, 2570,
+-  2573, 2576, 2579, 2582, 2585, 2588, 2591, 2594, 2597, 2600, 2603, 2606,
+-  2609, 2612, 2615, 2618, 2621, 2624, 2627, 2630, 2633, 2636, 2639, 2642,
+-  2645, 2648, 2651, 2654, 2657, 2660, 2663, 2666, 2669, 2672, 2675, 2678,
+-  2681, 2684, 2687, 2690, 2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714,
+-  2717, 2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747, 2750,
+-  2753, 2756, 2759, 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786,
+-  2789, 2792, 2795, 2798, 2801, 2804, 2807, 2810, 2813, 2816, 2819, 2822,
+-  2825, 2828, 2831, 2834, 2837, 2840, 2843, 2846, 2849, 2852, 2855, 2858,
+-  2861, 2864, 2867, 2870, 2873, 2876, 2879, 2882, 2885, 2888, 2891, 2894,
+-  2897, 2900, 2903, 2906, 2909, 2912, 2915, 2918, 2921, 2924, 2927, 2930,
+-  2933, 2936, 2939, 2942, 2945, 2948, 2951, 2954, 2957, 2960, 2963, 2966,
+-  2969, 2972, 2975, 2978, 2981, 2984, 2987, 2990, 2993, 2996, 2999, 3002,
+-  3005, 3008, 3011, 3014, 3017, 3020, 3023, 3026, 3029, 3032, 3035, 3038,
+-  3041, 3044, 3047, 3050, 3053, 3056, 3059, 3062, 3065, 3068, 3071, 3074,
+-  3077, 3080, 3083, 3086, 3089, 3092, 3095, 3098, 3101, 3104, 3107, 3110,
+-  3113, 3116, 3119, 3122, 3125, 3128, 3131, 3134, 3137, 3140, 3143, 3146,
+-  3149, 3152, 3155, 3158, 3161, 3164, 3167, 3170, 3173, 3176, 3179, 3182,
+-  3185, 3188, 3191, 3194, 3197, 3200, 3203, 3206, 3209, 3212, 3215, 3218,
+-  3221, 3224, 3227, 3230, 3233, 3236, 3239, 3242, 3245, 3248, 3251, 3254,
+-  3257, 3260, 3263, 3266, 3269, 3272, 3275, 3278, 3281, 3284, 3287, 3290,
+-  3293, 3296, 3299, 3302, 3305, 3308, 3311, 3314, 3317, 3320, 3323, 3326,
+-  3329, 3332, 3335, 3338, 3341, 3344, 3347, 3350, 3353, 3356, 3359, 3362,
+-  3365, 3368, 3371, 3374, 3377, 3380, 3383, 3386, 3389, 3392, 3395, 3398,
+-  3401, 3404, 3407, 3410, 3413, 3416, 3419, 3422, 3425, 3428, 3431, 3434,
+-  3437, 3440, 3443, 3446, 3449, 3452, 3455, 3458, 3461, 3464, 3467, 3470,
+-  3473, 3476, 3479, 3482, 3485, 3488, 3491, 3494, 3497, 3500, 3503, 3506,
+-  3509, 3512, 3515, 3518, 3521, 3524, 3527, 3530, 3533, 3536, 3539, 3542,
+-  3545, 3548, 3551, 3554, 3557, 3560, 3563, 3566, 3569, 3572, 3575, 3578,
+-  3581, 3584, 3587, 3590, 3593, 3596, 3599, 3602, 3605, 3608, 3611, 3614,
+-  3617, 3620, 3623, 3626, 3629, 3632, 3635, 3638, 3641, 3644, 3647, 3650,
+-  3653, 3656, 3659, 3662, 3665, 3668, 3671, 3674, 3677, 3680, 3683, 3686,
+-  3689, 3692, 3695, 3698, 3701, 3704, 3707, 3710, 3713, 3716, 3719, 3722,
+-  3725, 3728, 3731, 3734, 3737, 3740, 3743, 3746, 3749, 3752, 3755, 3758,
+-  3761, 3764, 3767, 3770, 3773, 3776, 3779, 3782, 3785, 3788, 3791, 3794,
+-  3797, 3800, 3803, 3806, 3809, 3812, 3815, 3818, 3821, 3824, 3827, 3830,
+-  3833, 3836, 3839, 3842, 3845, 3848, 3851, 3854, 3857, 3860, 3863, 3866,
+-  3869, 3872, 3875, 3878, 3881, 3884, 3887, 3890, 3893, 3896, 3899, 3902,
+-  3905, 3908, 3911, 3914, 3917, 3920, 3923, 3926, 3929, 3932, 3935, 3938,
+-  3941, 3944, 3947, 3950, 3953, 3956, 3959, 3962, 3965, 3968, 3971, 3974,
+-  3977, 3980, 3983, 3986, 3989, 3992, 3995, 3998, 4001, 4004, 4007, 4010,
+-  4013, 4016, 4019, 4022, 4025, 4028, 4031, 4034, 4037, 4040, 4043, 4046,
+-  4049, 4052, 4055, 4058, 4061, 4064, 4067, 4070, 4073, 4076, 4079, 4082,
+-  4085, 4088, 4091, 4094, 4097, 4100, 4103, 4106, 4109, 4112, 4115, 4118,
+-  4121, 4124, 4127, 4130, 4133, 4136, 4139, 4142, 4145, 4148, 4151, 4154,
+-  4157, 4160, 4163, 4166, 4169, 4172, 4175, 4178, 4181, 4184, 4187, 4190,
+-  4193, 4196, 4199, 4202, 4205, 4208, 4211, 4214, 4217, 4220, 4223, 4226,
+-  4229, 4232, 4235, 4238, 4241, 4244, 4247, 4250, 4253, 4256, 4259, 4262,
+-  4265, 4268, 4271, 4274, 4277, 4280, 4283, 4286, 4289, 4292, 4295, 4298,
+-  4301, 4304, 4307, 4310, 4313, 4316, 4319, 4322, 4325, 4328, 4331, 4334,
+-  4337, 4340, 4343, 4346, 4349, 4352, 4355, 4358, 4361, 4364, 4367, 4370,
+-  4373, 4376, 4379, 4382, 4385, 4388, 4391, 4394, 4397, 4400, 4403, 4406,
+-  4409, 4412, 4415, 4418, 4421, 4424, 4427, 4430, 4433, 4436, 4439, 4442,
+-  4445, 4448, 4451, 4454, 4457, 4460, 4463, 4466, 4469, 4472, 4475, 4478,
+-  4481, 4484, 4487, 4490, 4493, 4496, 4499, 4502, 4505, 4508, 4511, 4514,
+-  4517, 4520, 4523, 4526, 4529, 4532, 4535, 4538, 4541, 4544, 4547, 4550,
+-  4553, 4556, 4559, 4562, 4565, 4568, 4571, 4574, 4577, 4580, 4583, 4586,
+-  4589, 4592, 4595, 4598, 4601, 4604, 4607, 4610, 4613, 4616, 4619, 4622,
+-  4625, 4628, 4631, 4634, 4637, 4640, 4643, 4646, 4649, 4652, 4655, 4658,
+-  4661, 4664, 4667, 4670, 4673, 4676, 4679, 4682, 4685, 4688, 4691, 4694,
+-  4697, 4700, 4703, 4706, 4709, 4712, 4715, 4718, 4721, 4724, 4727, 4730,
+-  4733, 4736, 4739, 4742, 4745, 4748, 4751, 4754, 4757, 4760, 4763, 4766,
+-  4769, 4772, 4775, 4778, 4781, 4784, 4787, 4790, 4793
++  1575, 1580, 1585, 1590, 1595, 1600, 1603, 1606, 1609, 1612, 1615, 1618,
++  1621, 1624, 1627, 1630, 1633, 1636, 1641, 1645, 1650, 1653, 1656, 1662,
++  1668, 1674, 1680, 1686, 1692, 1698, 1704, 1710, 1716, 1722, 1728, 1734,
++  1740, 1746, 1752, 1758, 1764, 1770, 1776, 1782, 1788, 1794, 1800, 1806,
++  1812, 1818, 1824, 1830, 1836, 1841, 1845, 1849, 1854, 1858, 1862, 1866,
++  1870, 1874, 1878, 1882, 1886, 1890, 1894, 1899, 1905, 1909, 1913, 1917,
++  1921, 1925, 1929, 1933, 1938, 1943, 1948, 1953, 1957, 1961, 1965, 1969,
++  1973, 1977, 1981, 1985, 1989, 1993, 1999, 2005, 2010, 2016, 2022, 2028,
++  2033, 2039, 2044, 2051, 2055, 2060, 2065, 2070, 2075, 2082, 2091, 2095,
++  2099, 2103, 2107, 2111, 2115, 2119, 2123, 2127, 2131, 2135, 2139, 2143,
++  2147, 2151, 2155, 2161, 2165, 2169, 2173, 2179, 2184, 2188, 2192, 2196,
++  2200, 2204, 2208, 2212, 2216, 2220, 2224, 2229, 2233, 2237, 2242, 2247,
++  2251, 2257, 2262, 2266, 2270, 2274, 2278, 2282, 2286, 2290, 2295, 2300,
++  2304, 2307, 2309, 2311, 2313, 2315, 2317, 2319, 2321, 2323, 2325, 2327,
++  2329, 2331, 2333, 2335, 2337, 2339, 2342, 2345, 2348, 2351, 2354, 2357,
++  2360, 2363, 2366, 2369, 2372, 2375, 2378, 2381, 2384, 2387, 2390, 2393,
++  2396, 2399, 2402, 2405, 2408, 2411, 2414, 2416, 2419, 2422, 2425, 2428,
++  2431, 2434, 2437, 2440, 2443, 2446, 2449, 2452, 2455, 2458, 2461, 2464,
++  2467, 2470, 2473, 2476, 2479, 2482, 2485, 2488, 2491, 2494, 2497, 2500,
++  2503, 2506, 2509, 2512, 2515, 2518, 2521, 2524, 2527, 2530, 2533, 2536,
++  2539, 2542, 2545, 2548, 2551, 2554, 2557, 2560, 2563, 2566, 2569, 2572,
++  2575, 2578, 2581, 2584, 2587, 2590, 2593, 2596, 2599, 2602, 2605, 2608,
++  2611, 2614, 2617, 2620, 2623, 2626, 2629, 2632, 2635, 2638, 2641, 2644,
++  2647, 2650, 2653, 2656, 2659, 2662, 2665, 2668, 2671, 2674, 2677, 2680,
++  2683, 2686, 2689, 2692, 2695, 2698, 2701, 2704, 2707, 2710, 2713, 2716,
++  2719, 2722, 2725, 2728, 2731, 2734, 2737, 2740, 2743, 2746, 2749, 2752,
++  2755, 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2785, 2788,
++  2791, 2794, 2797, 2800, 2803, 2806, 2809, 2812, 2815, 2818, 2821, 2824,
++  2827, 2830, 2833, 2836, 2839, 2842, 2845, 2848, 2851, 2854, 2857, 2860,
++  2863, 2866, 2869, 2872, 2875, 2878, 2881, 2884, 2887, 2890, 2893, 2896,
++  2899, 2902, 2905, 2908, 2911, 2914, 2917, 2920, 2923, 2926, 2929, 2932,
++  2935, 2938, 2941, 2944, 2947, 2950, 2953, 2956, 2959, 2962, 2965, 2968,
++  2971, 2974, 2977, 2980, 2983, 2986, 2989, 2992, 2995, 2998, 3001, 3004,
++  3007, 3010, 3013, 3016, 3019, 3022, 3025, 3028, 3031, 3034, 3037, 3040,
++  3043, 3046, 3049, 3052, 3055, 3058, 3061, 3064, 3067, 3070, 3073, 3076,
++  3079, 3082, 3085, 3088, 3091, 3094, 3097, 3100, 3103, 3106, 3109, 3112,
++  3115, 3118, 3121, 3124, 3127, 3130, 3133, 3136, 3139, 3142, 3145, 3148,
++  3151, 3154, 3157, 3160, 3163, 3166, 3169, 3172, 3175, 3178, 3181, 3184,
++  3187, 3190, 3193, 3196, 3199, 3202, 3205, 3208, 3211, 3214, 3217, 3220,
++  3223, 3226, 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250, 3253, 3256,
++  3259, 3262, 3265, 3268, 3271, 3274, 3277, 3280, 3283, 3286, 3289, 3292,
++  3295, 3298, 3301, 3304, 3307, 3310, 3313, 3316, 3319, 3322, 3325, 3328,
++  3331, 3334, 3337, 3340, 3343, 3346, 3349, 3352, 3355, 3358, 3361, 3364,
++  3367, 3370, 3373, 3376, 3379, 3382, 3385, 3388, 3391, 3394, 3397, 3400,
++  3403, 3406, 3409, 3412, 3415, 3418, 3421, 3424, 3427, 3430, 3433, 3436,
++  3439, 3442, 3445, 3448, 3451, 3454, 3457, 3460, 3463, 3466, 3469, 3472,
++  3475, 3478, 3481, 3484, 3487, 3490, 3493, 3496, 3499, 3502, 3505, 3508,
++  3511, 3514, 3517, 3520, 3523, 3526, 3529, 3532, 3535, 3538, 3541, 3544,
++  3547, 3550, 3553, 3556, 3559, 3562, 3565, 3568, 3571, 3574, 3577, 3580,
++  3583, 3586, 3589, 3592, 3595, 3598, 3601, 3604, 3607, 3610, 3613, 3616,
++  3619, 3622, 3625, 3628, 3631, 3634, 3637, 3640, 3643, 3646, 3649, 3652,
++  3655, 3658, 3661, 3664, 3667, 3670, 3673, 3676, 3679, 3682, 3685, 3688,
++  3691, 3694, 3697, 3700, 3703, 3706, 3709, 3712, 3715, 3718, 3721, 3724,
++  3727, 3730, 3733, 3736, 3739, 3742, 3745, 3748, 3751, 3754, 3757, 3760,
++  3763, 3766, 3769, 3772, 3775, 3778, 3781, 3784, 3787, 3790, 3793, 3796,
++  3799, 3802, 3805, 3808, 3811, 3814, 3817, 3820, 3823, 3826, 3829, 3832,
++  3835, 3838, 3841, 3844, 3847, 3850, 3853, 3856, 3859, 3862, 3865, 3868,
++  3871, 3874, 3877, 3880, 3883, 3886, 3889, 3892, 3895, 3898, 3901, 3904,
++  3907, 3910, 3913, 3916, 3919, 3922, 3925, 3928, 3931, 3934, 3937, 3940,
++  3943, 3946, 3949, 3952, 3955, 3958, 3961, 3964, 3967, 3970, 3973, 3976,
++  3979, 3982, 3985, 3988, 3991, 3994, 3997, 4000, 4003, 4006, 4009, 4012,
++  4015, 4018, 4021, 4024, 4027, 4030, 4033, 4036, 4039, 4042, 4045, 4048,
++  4051, 4054, 4057, 4060, 4063, 4066, 4069, 4072, 4075, 4078, 4081, 4084,
++  4087, 4090, 4093, 4096, 4099, 4102, 4105, 4108, 4111, 4114, 4117, 4120,
++  4123, 4126, 4129, 4132, 4135, 4138, 4141, 4144, 4147, 4150, 4153, 4156,
++  4159, 4162, 4165, 4168, 4171, 4174, 4177, 4180, 4183, 4186, 4189, 4192,
++  4195, 4198, 4201, 4204, 4207, 4210, 4213, 4216, 4219, 4222, 4225, 4228,
++  4231, 4234, 4237, 4240, 4243, 4246, 4249, 4252, 4255, 4258, 4261, 4264,
++  4267, 4270, 4273, 4276, 4279, 4282, 4285, 4288, 4291, 4294, 4297, 4300,
++  4303, 4306, 4309, 4312, 4315, 4318, 4321, 4324, 4327, 4330, 4333, 4336,
++  4339, 4342, 4345, 4348, 4351, 4354, 4357, 4360, 4363, 4366, 4369, 4372,
++  4375, 4378, 4381, 4384, 4387, 4390, 4393, 4396, 4399, 4402, 4405, 4408,
++  4411, 4414, 4417, 4420, 4423, 4426, 4429, 4432, 4435, 4438, 4441, 4444,
++  4447, 4450, 4453, 4456, 4459, 4462, 4465, 4468, 4471, 4474, 4477, 4480,
++  4483, 4486, 4489, 4492, 4495, 4498, 4501, 4504, 4507, 4510, 4513, 4516,
++  4519, 4522, 4525, 4528, 4531, 4534, 4537, 4540, 4543, 4546, 4549, 4552,
++  4555, 4558, 4561, 4564, 4567, 4570, 4573, 4576, 4579, 4582, 4585, 4588,
++  4591, 4594, 4597, 4600, 4603, 4606, 4609, 4612, 4615, 4618, 4621, 4624,
++  4627, 4630, 4633, 4636, 4639, 4642, 4645, 4648, 4651, 4654, 4657, 4660,
++  4663, 4666, 4669, 4672, 4675, 4678, 4681, 4684, 4687, 4690, 4693, 4696,
++  4699, 4702, 4705, 4708, 4711, 4714, 4717, 4720, 4723, 4726, 4729, 4732,
++  4735, 4738, 4741, 4744, 4747, 4750, 4753, 4756, 4759, 4762, 4765, 4768,
++  4771, 4774, 4777, 4780, 4783, 4786, 4789, 4792, 4795, 4798
+ };
+ static const wchar_t translit_to_tbl[] =
+   L" \0" L"\0" L"(C)\0" L"\0" L"<<\0" L"\0" L"-\0" L"\0" L"(R)\0" L"\0" L"u\0"
+@@ -594,73 +594,73 @@ static const wchar_t translit_to_tbl[] =
+   L"\0" L"..\0" L"\0" L"...\0" L"\0" L" \0" L"\0" L"`\0" L"\0" L"``\0" L"\0"
+   L"```\0" L"\0" L"<\0" L"\0" L">\0" L"\0" L"!!\0" L"\0" L"/\0" L"\0" L"??\0"
+   L"\0" L"?!\0" L"\0" L"!?\0" L"\0" L" \0" L"\0" L"\0" L"\0" L"\0" L"\0" L"\0"
+-  L"\0" L"\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"a/c\0" L"\0" L"a/s\0" L"\0"
+-  L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0" L"H\0" L"\0" L"H\0"
+-  L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0" L"\0" L"L\0" L"\0"
+-  L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0" L"Q\0" L"\0" L"R\0"
+-  L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0" L"\0" L"Z\0" L"\0"
+-  L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" L"C\0" L"\0" L"e\0" L"\0" L"e\0"
+-  L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0" L"\0" L"i\0" L"\0"
+-  L"D\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"i\0" L"\0" L"j\0" L"\0" L" 1/3 \0"
+-  L"\0" L" 2/3 \0" L"\0" L" 1/5 \0" L"\0" L" 2/5 \0" L"\0" L" 3/5 \0" L"\0"
+-  L" 4/5 \0" L"\0" L" 1/6 \0" L"\0" L" 5/6 \0" L"\0" L" 1/8 \0" L"\0"
+-  L" 3/8 \0" L"\0" L" 5/8 \0" L"\0" L" 7/8 \0" L"\0" L" 1/\0" L"\0" L"I\0"
+-  L"\0" L"II\0" L"\0" L"III\0" L"\0" L"IV\0" L"\0" L"V\0" L"\0" L"VI\0" L"\0"
+-  L"VII\0" L"\0" L"VIII\0" L"\0" L"IX\0" L"\0" L"X\0" L"\0" L"XI\0" L"\0"
+-  L"XII\0" L"\0" L"L\0" L"\0" L"C\0" L"\0" L"D\0" L"\0" L"M\0" L"\0" L"i\0"
+-  L"\0" L"ii\0" L"\0" L"iii\0" L"\0" L"iv\0" L"\0" L"v\0" L"\0" L"vi\0" L"\0"
+-  L"vii\0" L"\0" L"viii\0" L"\0" L"ix\0" L"\0" L"x\0" L"\0" L"xi\0" L"\0"
+-  L"xii\0" L"\0" L"l\0" L"\0" L"c\0" L"\0" L"d\0" L"\0" L"m\0" L"\0" L"<-\0"
+-  L"\0" L"->\0" L"\0" L"<->\0" L"\0" L"<=\0" L"\0" L"=>\0" L"\0" L"<=>\0"
+-  L"\0" L"-\0" L"\0" L"/\0" L"\0" L"\\\0" L"\0" L"*\0" L"\0" L"|\0" L"\0"
+-  L":\0" L"\0" L"~\0" L"\0" L"<=\0" L"\0" L">=\0" L"\0" L"<<\0" L"\0" L">>\0"
+-  L"\0" L"<<<\0" L"\0" L">>>\0" L"\0" L"NUL\0" L"\0" L"SOH\0" L"\0" L"STX\0"
+-  L"\0" L"ETX\0" L"\0" L"EOT\0" L"\0" L"ENQ\0" L"\0" L"ACK\0" L"\0" L"BEL\0"
+-  L"\0" L"BS\0" L"\0" L"HT\0" L"\0" L"LF\0" L"\0" L"VT\0" L"\0" L"FF\0" L"\0"
+-  L"CR\0" L"\0" L"SO\0" L"\0" L"SI\0" L"\0" L"DLE\0" L"\0" L"DC1\0" L"\0"
+-  L"DC2\0" L"\0" L"DC3\0" L"\0" L"DC4\0" L"\0" L"NAK\0" L"\0" L"SYN\0" L"\0"
+-  L"ETB\0" L"\0" L"CAN\0" L"\0" L"EM\0" L"\0" L"SUB\0" L"\0" L"ESC\0" L"\0"
+-  L"FS\0" L"\0" L"GS\0" L"\0" L"RS\0" L"\0" L"US\0" L"\0" L"SP\0" L"\0"
+-  L"DEL\0" L"\0" L"_\0" L"\0" L"NL\0" L"\0" L"(1)\0" L"\0" L"(2)\0" L"\0"
+-  L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0" L"\0" L"(7)\0" L"\0"
+-  L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0" L"\0" L"(12)\0"
+-  L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0" L"(16)\0" L"\0"
+-  L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0" L"\0" L"(1)\0"
+-  L"\0" L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0"
+-  L"\0" L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0"
+-  L"\0" L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0"
+-  L"(16)\0" L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0"
+-  L"\0" L"1.\0" L"\0" L"2.\0" L"\0" L"3.\0" L"\0" L"4.\0" L"\0" L"5.\0" L"\0"
+-  L"6.\0" L"\0" L"7.\0" L"\0" L"8.\0" L"\0" L"9.\0" L"\0" L"10.\0" L"\0"
+-  L"11.\0" L"\0" L"12.\0" L"\0" L"13.\0" L"\0" L"14.\0" L"\0" L"15.\0" L"\0"
+-  L"16.\0" L"\0" L"17.\0" L"\0" L"18.\0" L"\0" L"19.\0" L"\0" L"20.\0" L"\0"
+-  L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0" L"(d)\0" L"\0" L"(e)\0" L"\0"
+-  L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0" L"(i)\0" L"\0" L"(j)\0" L"\0"
+-  L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0" L"(n)\0" L"\0" L"(o)\0" L"\0"
+-  L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0" L"(s)\0" L"\0" L"(t)\0" L"\0"
+-  L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0" L"(x)\0" L"\0" L"(y)\0" L"\0"
+-  L"(z)\0" L"\0" L"(A)\0" L"\0" L"(B)\0" L"\0" L"(C)\0" L"\0" L"(D)\0" L"\0"
+-  L"(E)\0" L"\0" L"(F)\0" L"\0" L"(G)\0" L"\0" L"(H)\0" L"\0" L"(I)\0" L"\0"
+-  L"(J)\0" L"\0" L"(K)\0" L"\0" L"(L)\0" L"\0" L"(M)\0" L"\0" L"(N)\0" L"\0"
+-  L"(O)\0" L"\0" L"(P)\0" L"\0" L"(Q)\0" L"\0" L"(R)\0" L"\0" L"(S)\0" L"\0"
+-  L"(T)\0" L"\0" L"(U)\0" L"\0" L"(V)\0" L"\0" L"(W)\0" L"\0" L"(X)\0" L"\0"
+-  L"(Y)\0" L"\0" L"(Z)\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0"
+-  L"(d)\0" L"\0" L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0"
+-  L"(i)\0" L"\0" L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0"
+-  L"(n)\0" L"\0" L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0"
+-  L"(s)\0" L"\0" L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0"
+-  L"(x)\0" L"\0" L"(y)\0" L"\0" L"(z)\0" L"\0" L"(0)\0" L"\0" L"-\0" L"\0"
+-  L"|\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0"
+-  L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"o\0" L"\0"
+-  L"::=\0" L"\0" L"==\0" L"\0" L"===\0" L"\0" L" \0" L"\0" L"=\0" L"\0"
+-  L"(21)\0" L"\0" L"(22)\0" L"\0" L"(23)\0" L"\0" L"(24)\0" L"\0" L"(25)\0"
+-  L"\0" L"(26)\0" L"\0" L"(27)\0" L"\0" L"(28)\0" L"\0" L"(29)\0" L"\0"
+-  L"(30)\0" L"\0" L"(31)\0" L"\0" L"(32)\0" L"\0" L"(33)\0" L"\0" L"(34)\0"
+-  L"\0" L"(35)\0" L"\0" L"(36)\0" L"\0" L"(37)\0" L"\0" L"(38)\0" L"\0"
+-  L"(39)\0" L"\0" L"(40)\0" L"\0" L"(41)\0" L"\0" L"(42)\0" L"\0" L"(43)\0"
+-  L"\0" L"(44)\0" L"\0" L"(45)\0" L"\0" L"(46)\0" L"\0" L"(47)\0" L"\0"
+-  L"(48)\0" L"\0" L"(49)\0" L"\0" L"(50)\0" L"\0" L"hPa\0" L"\0" L"da\0" L"\0"
+-  L"AU\0" L"\0" L"bar\0" L"\0" L"oV\0" L"\0" L"pc\0" L"\0" L"pA\0" L"\0"
++  L"\0" L"\0" L"\0" L"Rs\0" L"\0" L"EUR\0" L"\0" L"INR\0" L"\0" L"a/c\0" L"\0"
++  L"a/s\0" L"\0" L"C\0" L"\0" L"c/o\0" L"\0" L"c/u\0" L"\0" L"g\0" L"\0"
++  L"H\0" L"\0" L"H\0" L"\0" L"H\0" L"\0" L"h\0" L"\0" L"I\0" L"\0" L"I\0"
++  L"\0" L"L\0" L"\0" L"l\0" L"\0" L"N\0" L"\0" L"No\0" L"\0" L"P\0" L"\0"
++  L"Q\0" L"\0" L"R\0" L"\0" L"R\0" L"\0" L"R\0" L"\0" L"TEL\0" L"\0" L"(TM)\0"
++  L"\0" L"Z\0" L"\0" L"Ohm\0" L"\0" L"Z\0" L"\0" L"B\0" L"\0" L"C\0" L"\0"
++  L"e\0" L"\0" L"e\0" L"\0" L"E\0" L"\0" L"F\0" L"\0" L"M\0" L"\0" L"o\0"
++  L"\0" L"i\0" L"\0" L"D\0" L"\0" L"d\0" L"\0" L"e\0" L"\0" L"i\0" L"\0"
++  L"j\0" L"\0" L" 1/3 \0" L"\0" L" 2/3 \0" L"\0" L" 1/5 \0" L"\0" L" 2/5 \0"
++  L"\0" L" 3/5 \0" L"\0" L" 4/5 \0" L"\0" L" 1/6 \0" L"\0" L" 5/6 \0" L"\0"
++  L" 1/8 \0" L"\0" L" 3/8 \0" L"\0" L" 5/8 \0" L"\0" L" 7/8 \0" L"\0" L" 1/\0"
++  L"\0" L"I\0" L"\0" L"II\0" L"\0" L"III\0" L"\0" L"IV\0" L"\0" L"V\0" L"\0"
++  L"VI\0" L"\0" L"VII\0" L"\0" L"VIII\0" L"\0" L"IX\0" L"\0" L"X\0" L"\0"
++  L"XI\0" L"\0" L"XII\0" L"\0" L"L\0" L"\0" L"C\0" L"\0" L"D\0" L"\0" L"M\0"
++  L"\0" L"i\0" L"\0" L"ii\0" L"\0" L"iii\0" L"\0" L"iv\0" L"\0" L"v\0" L"\0"
++  L"vi\0" L"\0" L"vii\0" L"\0" L"viii\0" L"\0" L"ix\0" L"\0" L"x\0" L"\0"
++  L"xi\0" L"\0" L"xii\0" L"\0" L"l\0" L"\0" L"c\0" L"\0" L"d\0" L"\0" L"m\0"
++  L"\0" L"<-\0" L"\0" L"->\0" L"\0" L"<->\0" L"\0" L"<=\0" L"\0" L"=>\0" L"\0"
++  L"<=>\0" L"\0" L"-\0" L"\0" L"/\0" L"\0" L"\\\0" L"\0" L"*\0" L"\0" L"|\0"
++  L"\0" L":\0" L"\0" L"~\0" L"\0" L"<=\0" L"\0" L">=\0" L"\0" L"<<\0" L"\0"
++  L">>\0" L"\0" L"<<<\0" L"\0" L">>>\0" L"\0" L"NUL\0" L"\0" L"SOH\0" L"\0"
++  L"STX\0" L"\0" L"ETX\0" L"\0" L"EOT\0" L"\0" L"ENQ\0" L"\0" L"ACK\0" L"\0"
++  L"BEL\0" L"\0" L"BS\0" L"\0" L"HT\0" L"\0" L"LF\0" L"\0" L"VT\0" L"\0"
++  L"FF\0" L"\0" L"CR\0" L"\0" L"SO\0" L"\0" L"SI\0" L"\0" L"DLE\0" L"\0"
++  L"DC1\0" L"\0" L"DC2\0" L"\0" L"DC3\0" L"\0" L"DC4\0" L"\0" L"NAK\0" L"\0"
++  L"SYN\0" L"\0" L"ETB\0" L"\0" L"CAN\0" L"\0" L"EM\0" L"\0" L"SUB\0" L"\0"
++  L"ESC\0" L"\0" L"FS\0" L"\0" L"GS\0" L"\0" L"RS\0" L"\0" L"US\0" L"\0"
++  L"SP\0" L"\0" L"DEL\0" L"\0" L"_\0" L"\0" L"NL\0" L"\0" L"(1)\0" L"\0"
++  L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0" L"(6)\0" L"\0"
++  L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0" L"(11)\0" L"\0"
++  L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0" L"\0" L"(16)\0"
++  L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0" L"(20)\0" L"\0"
++  L"(1)\0" L"\0" L"(2)\0" L"\0" L"(3)\0" L"\0" L"(4)\0" L"\0" L"(5)\0" L"\0"
++  L"(6)\0" L"\0" L"(7)\0" L"\0" L"(8)\0" L"\0" L"(9)\0" L"\0" L"(10)\0" L"\0"
++  L"(11)\0" L"\0" L"(12)\0" L"\0" L"(13)\0" L"\0" L"(14)\0" L"\0" L"(15)\0"
++  L"\0" L"(16)\0" L"\0" L"(17)\0" L"\0" L"(18)\0" L"\0" L"(19)\0" L"\0"
++  L"(20)\0" L"\0" L"1.\0" L"\0" L"2.\0" L"\0" L"3.\0" L"\0" L"4.\0" L"\0"
++  L"5.\0" L"\0" L"6.\0" L"\0" L"7.\0" L"\0" L"8.\0" L"\0" L"9.\0" L"\0"
++  L"10.\0" L"\0" L"11.\0" L"\0" L"12.\0" L"\0" L"13.\0" L"\0" L"14.\0" L"\0"
++  L"15.\0" L"\0" L"16.\0" L"\0" L"17.\0" L"\0" L"18.\0" L"\0" L"19.\0" L"\0"
++  L"20.\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0" L"(c)\0" L"\0" L"(d)\0" L"\0"
++  L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0" L"(h)\0" L"\0" L"(i)\0" L"\0"
++  L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0" L"(m)\0" L"\0" L"(n)\0" L"\0"
++  L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0" L"(r)\0" L"\0" L"(s)\0" L"\0"
++  L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0" L"(w)\0" L"\0" L"(x)\0" L"\0"
++  L"(y)\0" L"\0" L"(z)\0" L"\0" L"(A)\0" L"\0" L"(B)\0" L"\0" L"(C)\0" L"\0"
++  L"(D)\0" L"\0" L"(E)\0" L"\0" L"(F)\0" L"\0" L"(G)\0" L"\0" L"(H)\0" L"\0"
++  L"(I)\0" L"\0" L"(J)\0" L"\0" L"(K)\0" L"\0" L"(L)\0" L"\0" L"(M)\0" L"\0"
++  L"(N)\0" L"\0" L"(O)\0" L"\0" L"(P)\0" L"\0" L"(Q)\0" L"\0" L"(R)\0" L"\0"
++  L"(S)\0" L"\0" L"(T)\0" L"\0" L"(U)\0" L"\0" L"(V)\0" L"\0" L"(W)\0" L"\0"
++  L"(X)\0" L"\0" L"(Y)\0" L"\0" L"(Z)\0" L"\0" L"(a)\0" L"\0" L"(b)\0" L"\0"
++  L"(c)\0" L"\0" L"(d)\0" L"\0" L"(e)\0" L"\0" L"(f)\0" L"\0" L"(g)\0" L"\0"
++  L"(h)\0" L"\0" L"(i)\0" L"\0" L"(j)\0" L"\0" L"(k)\0" L"\0" L"(l)\0" L"\0"
++  L"(m)\0" L"\0" L"(n)\0" L"\0" L"(o)\0" L"\0" L"(p)\0" L"\0" L"(q)\0" L"\0"
++  L"(r)\0" L"\0" L"(s)\0" L"\0" L"(t)\0" L"\0" L"(u)\0" L"\0" L"(v)\0" L"\0"
++  L"(w)\0" L"\0" L"(x)\0" L"\0" L"(y)\0" L"\0" L"(z)\0" L"\0" L"(0)\0" L"\0"
++  L"-\0" L"\0" L"|\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0"
++  L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0" L"+\0" L"\0"
++  L"o\0" L"\0" L"::=\0" L"\0" L"==\0" L"\0" L"===\0" L"\0" L" \0" L"\0" L"=\0"
++  L"\0" L"(21)\0" L"\0" L"(22)\0" L"\0" L"(23)\0" L"\0" L"(24)\0" L"\0"
++  L"(25)\0" L"\0" L"(26)\0" L"\0" L"(27)\0" L"\0" L"(28)\0" L"\0" L"(29)\0"
++  L"\0" L"(30)\0" L"\0" L"(31)\0" L"\0" L"(32)\0" L"\0" L"(33)\0" L"\0"
++  L"(34)\0" L"\0" L"(35)\0" L"\0" L"(36)\0" L"\0" L"(37)\0" L"\0" L"(38)\0"
++  L"\0" L"(39)\0" L"\0" L"(40)\0" L"\0" L"(41)\0" L"\0" L"(42)\0" L"\0"
++  L"(43)\0" L"\0" L"(44)\0" L"\0" L"(45)\0" L"\0" L"(46)\0" L"\0" L"(47)\0"
++  L"\0" L"(48)\0" L"\0" L"(49)\0" L"\0" L"(50)\0" L"\0" L"hPa\0" L"\0" L"da\0"
++  L"\0" L"AU\0" L"\0" L"bar\0" L"\0" L"oV\0" L"\0" L"pc\0" L"\0" L"pA\0" L"\0"
+   L"nA\0" L"\0" L"uA\0" L"\0" L"mA\0" L"\0" L"kA\0" L"\0" L"KB\0" L"\0"
+   L"MB\0" L"\0" L"GB\0" L"\0" L"cal\0" L"\0" L"kcal\0" L"\0" L"pF\0" L"\0"
+   L"nF\0" L"\0" L"uF\0" L"\0" L"ug\0" L"\0" L"mg\0" L"\0" L"kg\0" L"\0"
+Index: glibc-2.12-2-gc4ccff1/locale/C-translit.h.in
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/locale/C-translit.h.in
++++ glibc-2.12-2-gc4ccff1/locale/C-translit.h.in
+@@ -105,6 +105,7 @@
+ "\x2063"      ""      /* <U2063> INVISIBLE SEPARATOR */
+ "\x20a8"      "Rs"    /* <U20A8> RUPEE SIGN */
+ "\x20ac"      "EUR"   /* <U20AC> EURO SIGN */
++"\x20b9"      "INR"   /* <U20B9> INDIAN RUPEE SIGN */
+ "\x2100"      "a/c"   /* <U2100> ACCOUNT OF */
+ "\x2101"      "a/s"   /* <U2101> ADDRESSED TO THE SUBJECT */
+ "\x2102"      "C"     /* <U2102> DOUBLE-STRUCK CAPITAL C */
+Index: glibc-2.12-2-gc4ccff1/localedata/charmaps/UTF-8
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/charmaps/UTF-8
++++ glibc-2.12-2-gc4ccff1/localedata/charmaps/UTF-8
+@@ -1312,6 +1312,10 @@ CHARMAP
+ <U0521>     /xd4/xa1     CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+ <U0522>     /xd4/xa2     CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+ <U0523>     /xd4/xa3     CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
++<U0524>     /xd4/xa4     CYRILLIC CAPITAL LETTER PE WITH DESCENDER
++<U0525>     /xd4/xa5     CYRILLIC SMALL LETTER PE WITH DESCENDER
++<U0526>     /xd4/xa6     CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
++<U0527>     /xd4/xa7     CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+ <U0531>     /xd4/xb1     ARMENIAN CAPITAL LETTER AYB
+ <U0532>     /xd4/xb2     ARMENIAN CAPITAL LETTER BEN
+ <U0533>     /xd4/xb3     ARMENIAN CAPITAL LETTER GIM
+@@ -1513,6 +1517,7 @@ CHARMAP
+ <U061B>     /xd8/x9b     ARABIC SEMICOLON
+ <U061E>     /xd8/x9e     ARABIC TRIPLE DOT PUNCTUATION MARK
+ <U061F>     /xd8/x9f     ARABIC QUESTION MARK
++<U0620>     /xd8/xa0     ARABIC LETTER KASHMIRI YEH
+ <U0621>     /xd8/xa1     ARABIC LETTER HAMZA
+ <U0622>     /xd8/xa2     ARABIC LETTER ALEF WITH MADDA ABOVE
+ <U0623>     /xd8/xa3     ARABIC LETTER ALEF WITH HAMZA ABOVE
+@@ -1575,6 +1580,7 @@ CHARMAP
+ <U065C>     /xd9/x9c     ARABIC VOWEL SIGN DOT BELOW
+ <U065D>     /xd9/x9d     ARABIC REVERSED DAMMA
+ <U065E>     /xd9/x9e     ARABIC FATHA WITH TWO DOTS
++<U065F>     /xd9/x9f     ARABIC WAVY HAMZA BELOW
+ <U0660>     /xd9/xa0     ARABIC-INDIC DIGIT ZERO
+ <U0661>     /xd9/xa1     ARABIC-INDIC DIGIT ONE
+ <U0662>     /xd9/xa2     ARABIC-INDIC DIGIT TWO
+@@ -1969,6 +1975,97 @@ CHARMAP
+ <U07F8>     /xdf/xb8     NKO COMMA
+ <U07F9>     /xdf/xb9     NKO EXCLAMATION MARK
+ <U07FA>     /xdf/xba     NKO LAJANYALAN
++<U0800>     /xe0/xa0/x80 SAMARITAN LETTER ALAF
++<U0801>     /xe0/xa0/x81 SAMARITAN LETTER BIT
++<U0802>     /xe0/xa0/x82 SAMARITAN LETTER GAMAN
++<U0803>     /xe0/xa0/x83 SAMARITAN LETTER DALAT
++<U0804>     /xe0/xa0/x84 SAMARITAN LETTER IY
++<U0805>     /xe0/xa0/x85 SAMARITAN LETTER BAA
++<U0806>     /xe0/xa0/x86 SAMARITAN LETTER ZEN
++<U0807>     /xe0/xa0/x87 SAMARITAN LETTER IT
++<U0808>     /xe0/xa0/x88 SAMARITAN LETTER TIT
++<U0809>     /xe0/xa0/x89 SAMARITAN LETTER YUT
++<U080A>     /xe0/xa0/x8a SAMARITAN LETTER KAAF
++<U080B>     /xe0/xa0/x8b SAMARITAN LETTER LABAT
++<U080C>     /xe0/xa0/x8c SAMARITAN LETTER MIM
++<U080D>     /xe0/xa0/x8d SAMARITAN LETTER NUN
++<U080E>     /xe0/xa0/x8e SAMARITAN LETTER SINGAAT
++<U080F>     /xe0/xa0/x8f SAMARITAN LETTER IN
++<U0810>     /xe0/xa0/x90 SAMARITAN LETTER FI
++<U0811>     /xe0/xa0/x91 SAMARITAN LETTER TSAADIY
++<U0812>     /xe0/xa0/x92 SAMARITAN LETTER QUF
++<U0813>     /xe0/xa0/x93 SAMARITAN LETTER RISH
++<U0814>     /xe0/xa0/x94 SAMARITAN LETTER SHAN
++<U0815>     /xe0/xa0/x95 SAMARITAN LETTER TAAF
++<U0816>     /xe0/xa0/x96 SAMARITAN MARK IN
++<U0817>     /xe0/xa0/x97 SAMARITAN MARK IN-ALAF
++<U0818>     /xe0/xa0/x98 SAMARITAN MARK OCCLUSION
++<U0819>     /xe0/xa0/x99 SAMARITAN MARK DAGESH
++<U081A>     /xe0/xa0/x9a SAMARITAN MODIFIER LETTER EPENTHETIC YUT
++<U081B>     /xe0/xa0/x9b SAMARITAN MARK EPENTHETIC YUT
++<U081C>     /xe0/xa0/x9c SAMARITAN VOWEL SIGN LONG E
++<U081D>     /xe0/xa0/x9d SAMARITAN VOWEL SIGN E
++<U081E>     /xe0/xa0/x9e SAMARITAN VOWEL SIGN OVERLONG AA
++<U081F>     /xe0/xa0/x9f SAMARITAN VOWEL SIGN LONG AA
++<U0820>     /xe0/xa0/xa0 SAMARITAN VOWEL SIGN AA
++<U0821>     /xe0/xa0/xa1 SAMARITAN VOWEL SIGN OVERLONG A
++<U0822>     /xe0/xa0/xa2 SAMARITAN VOWEL SIGN LONG A
++<U0823>     /xe0/xa0/xa3 SAMARITAN VOWEL SIGN A
++<U0824>     /xe0/xa0/xa4 SAMARITAN MODIFIER LETTER SHORT A
++<U0825>     /xe0/xa0/xa5 SAMARITAN VOWEL SIGN SHORT A
++<U0826>     /xe0/xa0/xa6 SAMARITAN VOWEL SIGN LONG U
++<U0827>     /xe0/xa0/xa7 SAMARITAN VOWEL SIGN U
++<U0828>     /xe0/xa0/xa8 SAMARITAN MODIFIER LETTER I
++<U0829>     /xe0/xa0/xa9 SAMARITAN VOWEL SIGN LONG I
++<U082A>     /xe0/xa0/xaa SAMARITAN VOWEL SIGN I
++<U082B>     /xe0/xa0/xab SAMARITAN VOWEL SIGN O
++<U082C>     /xe0/xa0/xac SAMARITAN VOWEL SIGN SUKUN
++<U082D>     /xe0/xa0/xad SAMARITAN MARK NEQUDAA
++<U0830>     /xe0/xa0/xb0 SAMARITAN PUNCTUATION NEQUDAA
++<U0831>     /xe0/xa0/xb1 SAMARITAN PUNCTUATION AFSAAQ
++<U0832>     /xe0/xa0/xb2 SAMARITAN PUNCTUATION ANGED
++<U0833>     /xe0/xa0/xb3 SAMARITAN PUNCTUATION BAU
++<U0834>     /xe0/xa0/xb4 SAMARITAN PUNCTUATION ATMAAU
++<U0835>     /xe0/xa0/xb5 SAMARITAN PUNCTUATION SHIYYAALAA
++<U0836>     /xe0/xa0/xb6 SAMARITAN ABBREVIATION MARK
++<U0837>     /xe0/xa0/xb7 SAMARITAN PUNCTUATION MELODIC QITSA
++<U0838>     /xe0/xa0/xb8 SAMARITAN PUNCTUATION ZIQAA
++<U0839>     /xe0/xa0/xb9 SAMARITAN PUNCTUATION QITSA
++<U083A>     /xe0/xa0/xba SAMARITAN PUNCTUATION ZAEF
++<U083B>     /xe0/xa0/xbb SAMARITAN PUNCTUATION TURU
++<U083C>     /xe0/xa0/xbc SAMARITAN PUNCTUATION ARKAANU
++<U083D>     /xe0/xa0/xbd SAMARITAN PUNCTUATION SOF MASHFAAT
++<U083E>     /xe0/xa0/xbe SAMARITAN PUNCTUATION ANNAAU
++<U0840>     /xe0/xa1/x80 MANDAIC LETTER HALQA
++<U0841>     /xe0/xa1/x81 MANDAIC LETTER AB
++<U0842>     /xe0/xa1/x82 MANDAIC LETTER AG
++<U0843>     /xe0/xa1/x83 MANDAIC LETTER AD
++<U0844>     /xe0/xa1/x84 MANDAIC LETTER AH
++<U0845>     /xe0/xa1/x85 MANDAIC LETTER USHENNA
++<U0846>     /xe0/xa1/x86 MANDAIC LETTER AZ
++<U0847>     /xe0/xa1/x87 MANDAIC LETTER IT
++<U0848>     /xe0/xa1/x88 MANDAIC LETTER ATT
++<U0849>     /xe0/xa1/x89 MANDAIC LETTER AKSA
++<U084A>     /xe0/xa1/x8a MANDAIC LETTER AK
++<U084B>     /xe0/xa1/x8b MANDAIC LETTER AL
++<U084C>     /xe0/xa1/x8c MANDAIC LETTER AM
++<U084D>     /xe0/xa1/x8d MANDAIC LETTER AN
++<U084E>     /xe0/xa1/x8e MANDAIC LETTER AS
++<U084F>     /xe0/xa1/x8f MANDAIC LETTER IN
++<U0850>     /xe0/xa1/x90 MANDAIC LETTER AP
++<U0851>     /xe0/xa1/x91 MANDAIC LETTER ASZ
++<U0852>     /xe0/xa1/x92 MANDAIC LETTER AQ
++<U0853>     /xe0/xa1/x93 MANDAIC LETTER AR
++<U0854>     /xe0/xa1/x94 MANDAIC LETTER ASH
++<U0855>     /xe0/xa1/x95 MANDAIC LETTER AT
++<U0856>     /xe0/xa1/x96 MANDAIC LETTER DUSHENNA
++<U0857>     /xe0/xa1/x97 MANDAIC LETTER KAD
++<U0858>     /xe0/xa1/x98 MANDAIC LETTER AIN
++<U0859>     /xe0/xa1/x99 MANDAIC AFFRICATION MARK
++<U085A>     /xe0/xa1/x9a MANDAIC VOCALIZATION MARK
++<U085B>     /xe0/xa1/x9b MANDAIC GEMINATION MARK
++<U085E>     /xe0/xa1/x9e MANDAIC PUNCTUATION
++<U0900>     /xe0/xa4/x80 DEVANAGARI SIGN INVERTED CANDRABINDU
+ <U0901>     /xe0/xa4/x81 DEVANAGARI SIGN CANDRABINDU
+ <U0902>     /xe0/xa4/x82 DEVANAGARI SIGN ANUSVARA
+ <U0903>     /xe0/xa4/x83 DEVANAGARI SIGN VISARGA
+@@ -2026,6 +2123,8 @@ CHARMAP
+ <U0937>     /xe0/xa4/xb7 DEVANAGARI LETTER SSA
+ <U0938>     /xe0/xa4/xb8 DEVANAGARI LETTER SA
+ <U0939>     /xe0/xa4/xb9 DEVANAGARI LETTER HA
++<U093A>     /xe0/xa4/xba DEVANAGARI VOWEL SIGN OE
++<U093B>     /xe0/xa4/xbb DEVANAGARI VOWEL SIGN OOE
+ <U093C>     /xe0/xa4/xbc DEVANAGARI SIGN NUKTA
+ <U093D>     /xe0/xa4/xbd DEVANAGARI SIGN AVAGRAHA
+ <U093E>     /xe0/xa4/xbe DEVANAGARI VOWEL SIGN AA
+@@ -2044,11 +2143,16 @@ CHARMAP
+ <U094B>     /xe0/xa5/x8b DEVANAGARI VOWEL SIGN O
+ <U094C>     /xe0/xa5/x8c DEVANAGARI VOWEL SIGN AU
+ <U094D>     /xe0/xa5/x8d DEVANAGARI SIGN VIRAMA
++<U094E>     /xe0/xa5/x8e DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
++<U094F>     /xe0/xa5/x8f DEVANAGARI VOWEL SIGN AW
+ <U0950>     /xe0/xa5/x90 DEVANAGARI OM
+ <U0951>     /xe0/xa5/x91 DEVANAGARI STRESS SIGN UDATTA
+ <U0952>     /xe0/xa5/x92 DEVANAGARI STRESS SIGN ANUDATTA
+ <U0953>     /xe0/xa5/x93 DEVANAGARI GRAVE ACCENT
+ <U0954>     /xe0/xa5/x94 DEVANAGARI ACUTE ACCENT
++<U0955>     /xe0/xa5/x95 DEVANAGARI VOWEL SIGN CANDRA LONG E
++<U0956>     /xe0/xa5/x96 DEVANAGARI VOWEL SIGN UE
++<U0957>     /xe0/xa5/x97 DEVANAGARI VOWEL SIGN UUE
+ <U0958>     /xe0/xa5/x98 DEVANAGARI LETTER QA
+ <U0959>     /xe0/xa5/x99 DEVANAGARI LETTER KHHA
+ <U095A>     /xe0/xa5/x9a DEVANAGARI LETTER GHHA
+@@ -2076,6 +2180,13 @@ CHARMAP
+ <U0970>     /xe0/xa5/xb0 DEVANAGARI ABBREVIATION SIGN
+ <U0971>     /xe0/xa5/xb1 DEVANAGARI SIGN HIGH SPACING DOT
+ <U0972>     /xe0/xa5/xb2 DEVANAGARI LETTER CANDRA A
++<U0973>     /xe0/xa5/xb3 DEVANAGARI LETTER OE
++<U0974>     /xe0/xa5/xb4 DEVANAGARI LETTER OOE
++<U0975>     /xe0/xa5/xb5 DEVANAGARI LETTER AW
++<U0976>     /xe0/xa5/xb6 DEVANAGARI LETTER UE
++<U0977>     /xe0/xa5/xb7 DEVANAGARI LETTER UUE
++<U0979>     /xe0/xa5/xb9 DEVANAGARI LETTER ZHA
++<U097A>     /xe0/xa5/xba DEVANAGARI LETTER HEAVY YA
+ <U097B>     /xe0/xa5/xbb DEVANAGARI LETTER GGA
+ <U097C>     /xe0/xa5/xbc DEVANAGARI LETTER JJA
+ <U097D>     /xe0/xa5/xbd DEVANAGARI LETTER GLOTTAL STOP
+@@ -2172,6 +2283,7 @@ CHARMAP
+ <U09F8>     /xe0/xa7/xb8 BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+ <U09F9>     /xe0/xa7/xb9 BENGALI CURRENCY DENOMINATOR SIXTEEN
+ <U09FA>     /xe0/xa7/xba BENGALI ISSHAR
++<U09FB>     /xe0/xa7/xbb BENGALI GANDA MARK
+ <U0A01>     /xe0/xa8/x81 GURMUKHI SIGN ADAK BINDI
+ <U0A02>     /xe0/xa8/x82 GURMUKHI SIGN BINDI
+ <U0A03>     /xe0/xa8/x83 GURMUKHI SIGN VISARGA
+@@ -2418,6 +2530,12 @@ CHARMAP
+ <U0B6F>     /xe0/xad/xaf ORIYA DIGIT NINE
+ <U0B70>     /xe0/xad/xb0 ORIYA ISSHAR
+ <U0B71>     /xe0/xad/xb1 ORIYA LETTER WA
++<U0B72>     /xe0/xad/xb2 ORIYA FRACTION ONE QUARTER
++<U0B73>     /xe0/xad/xb3 ORIYA FRACTION ONE HALF
++<U0B74>     /xe0/xad/xb4 ORIYA FRACTION THREE QUARTERS
++<U0B75>     /xe0/xad/xb5 ORIYA FRACTION ONE SIXTEENTH
++<U0B76>     /xe0/xad/xb6 ORIYA FRACTION ONE EIGHTH
++<U0B77>     /xe0/xad/xb7 ORIYA FRACTION THREE SIXTEENTHS
+ <U0B82>     /xe0/xae/x82 TAMIL SIGN ANUSVARA
+ <U0B83>     /xe0/xae/x83 TAMIL SIGN VISARGA
+ <U0B85>     /xe0/xae/x85 TAMIL LETTER A
+@@ -2705,6 +2823,7 @@ CHARMAP
+ <U0D26>     /xe0/xb4/xa6 MALAYALAM LETTER DA
+ <U0D27>     /xe0/xb4/xa7 MALAYALAM LETTER DHA
+ <U0D28>     /xe0/xb4/xa8 MALAYALAM LETTER NA
++<U0D29>     /xe0/xb4/xa9 MALAYALAM LETTER NNNA
+ <U0D2A>     /xe0/xb4/xaa MALAYALAM LETTER PA
+ <U0D2B>     /xe0/xb4/xab MALAYALAM LETTER PHA
+ <U0D2C>     /xe0/xb4/xac MALAYALAM LETTER BA
+@@ -2721,6 +2840,7 @@ CHARMAP
+ <U0D37>     /xe0/xb4/xb7 MALAYALAM LETTER SSA
+ <U0D38>     /xe0/xb4/xb8 MALAYALAM LETTER SA
+ <U0D39>     /xe0/xb4/xb9 MALAYALAM LETTER HA
++<U0D3A>     /xe0/xb4/xba MALAYALAM LETTER TTTA
+ <U0D3D>     /xe0/xb4/xbd MALAYALAM SIGN AVAGRAHA
+ <U0D3E>     /xe0/xb4/xbe MALAYALAM VOWEL SIGN AA
+ <U0D3F>     /xe0/xb4/xbf MALAYALAM VOWEL SIGN I
+@@ -2736,6 +2856,7 @@ CHARMAP
+ <U0D4B>     /xe0/xb5/x8b MALAYALAM VOWEL SIGN OO
+ <U0D4C>     /xe0/xb5/x8c MALAYALAM VOWEL SIGN AU
+ <U0D4D>     /xe0/xb5/x8d MALAYALAM SIGN VIRAMA
++<U0D4E>     /xe0/xb5/x8e MALAYALAM LETTER DOT REPH
+ <U0D57>     /xe0/xb5/x97 MALAYALAM AU LENGTH MARK
+ <U0D60>     /xe0/xb5/xa0 MALAYALAM LETTER VOCALIC RR
+ <U0D61>     /xe0/xb5/xa1 MALAYALAM LETTER VOCALIC LL
+@@ -3131,6 +3252,10 @@ CHARMAP
+ <U0F89>     /xe0/xbe/x89 TIBETAN SIGN MCHU CAN
+ <U0F8A>     /xe0/xbe/x8a TIBETAN SIGN GRU CAN RGYINGS
+ <U0F8B>     /xe0/xbe/x8b TIBETAN SIGN GRU MED RGYINGS
++<U0F8C>     /xe0/xbe/x8c TIBETAN SIGN INVERTED MCHU CAN
++<U0F8D>     /xe0/xbe/x8d TIBETAN SUBJOINED SIGN LCE TSA CAN
++<U0F8E>     /xe0/xbe/x8e TIBETAN SUBJOINED SIGN MCHU CAN
++<U0F8F>     /xe0/xbe/x8f TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+ <U0F90>     /xe0/xbe/x90 TIBETAN SUBJOINED LETTER KA
+ <U0F91>     /xe0/xbe/x91 TIBETAN SUBJOINED LETTER KHA
+ <U0F92>     /xe0/xbe/x92 TIBETAN SUBJOINED LETTER GA
+@@ -3197,6 +3322,12 @@ CHARMAP
+ <U0FD2>     /xe0/xbf/x92 TIBETAN MARK NYIS TSHEG
+ <U0FD3>     /xe0/xbf/x93 TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+ <U0FD4>     /xe0/xbf/x94 TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
++<U0FD5>     /xe0/xbf/x95 RIGHT-FACING SVASTI SIGN
++<U0FD6>     /xe0/xbf/x96 LEFT-FACING SVASTI SIGN
++<U0FD7>     /xe0/xbf/x97 RIGHT-FACING SVASTI SIGN WITH DOTS
++<U0FD8>     /xe0/xbf/x98 LEFT-FACING SVASTI SIGN WITH DOTS
++<U0FD9>     /xe0/xbf/x99 TIBETAN MARK LEADING MCHAN RTAGS
++<U0FDA>     /xe0/xbf/x9a TIBETAN MARK TRAILING MCHAN RTAGS
+ <U1000>     /xe1/x80/x80 MYANMAR LETTER KA
+ <U1001>     /xe1/x80/x81 MYANMAR LETTER KHA
+ <U1002>     /xe1/x80/x82 MYANMAR LETTER GA
+@@ -3351,6 +3482,10 @@ CHARMAP
+ <U1097>     /xe1/x82/x97 MYANMAR SHAN DIGIT SEVEN
+ <U1098>     /xe1/x82/x98 MYANMAR SHAN DIGIT EIGHT
+ <U1099>     /xe1/x82/x99 MYANMAR SHAN DIGIT NINE
++<U109A>     /xe1/x82/x9a MYANMAR SIGN KHAMTI TONE-1
++<U109B>     /xe1/x82/x9b MYANMAR SIGN KHAMTI TONE-3
++<U109C>     /xe1/x82/x9c MYANMAR VOWEL SIGN AITON A
++<U109D>     /xe1/x82/x9d MYANMAR VOWEL SIGN AITON AI
+ <U109E>     /xe1/x82/x9e MYANMAR SYMBOL SHAN ONE
+ <U109F>     /xe1/x82/x9f MYANMAR SYMBOL SHAN EXCLAMATION
+ <U10A0>     /xe1/x82/xa0 GEORGIAN CAPITAL LETTER AN
+@@ -3526,6 +3661,11 @@ CHARMAP
+ <U1157>     /xe1/x85/x97 HANGUL CHOSEONG KAPYEOUNPHIEUPH
+ <U1158>     /xe1/x85/x98 HANGUL CHOSEONG SSANGHIEUH
+ <U1159>     /xe1/x85/x99 HANGUL CHOSEONG YEORINHIEUH
++<U115A>     /xe1/x85/x9a HANGUL CHOSEONG KIYEOK-TIKEUT
++<U115B>     /xe1/x85/x9b HANGUL CHOSEONG NIEUN-SIOS
++<U115C>     /xe1/x85/x9c HANGUL CHOSEONG NIEUN-CIEUC
++<U115D>     /xe1/x85/x9d HANGUL CHOSEONG NIEUN-HIEUH
++<U115E>     /xe1/x85/x9e HANGUL CHOSEONG TIKEUT-RIEUL
+ <U115F>     /xe1/x85/x9f HANGUL CHOSEONG FILLER
+ <U1160>     /xe1/x85/xa0 HANGUL JUNGSEONG FILLER
+ <U1161>     /xe1/x85/xa1 HANGUL JUNGSEONG A
+@@ -3594,6 +3734,11 @@ CHARMAP
+ <U11A0>     /xe1/x86/xa0 HANGUL JUNGSEONG ARAEA-U
+ <U11A1>     /xe1/x86/xa1 HANGUL JUNGSEONG ARAEA-I
+ <U11A2>     /xe1/x86/xa2 HANGUL JUNGSEONG SSANGARAEA
++<U11A3>     /xe1/x86/xa3 HANGUL JUNGSEONG A-EU
++<U11A4>     /xe1/x86/xa4 HANGUL JUNGSEONG YA-U
++<U11A5>     /xe1/x86/xa5 HANGUL JUNGSEONG YEO-YA
++<U11A6>     /xe1/x86/xa6 HANGUL JUNGSEONG O-YA
++<U11A7>     /xe1/x86/xa7 HANGUL JUNGSEONG O-YAE
+ <U11A8>     /xe1/x86/xa8 HANGUL JONGSEONG KIYEOK
+ <U11A9>     /xe1/x86/xa9 HANGUL JONGSEONG SSANGKIYEOK
+ <U11AA>     /xe1/x86/xaa HANGUL JONGSEONG KIYEOK-SIOS
+@@ -3676,6 +3821,12 @@ CHARMAP
+ <U11F7>     /xe1/x87/xb7 HANGUL JONGSEONG HIEUH-MIEUM
+ <U11F8>     /xe1/x87/xb8 HANGUL JONGSEONG HIEUH-PIEUP
+ <U11F9>     /xe1/x87/xb9 HANGUL JONGSEONG YEORINHIEUH
++<U11FA>     /xe1/x87/xba HANGUL JONGSEONG KIYEOK-NIEUN
++<U11FB>     /xe1/x87/xbb HANGUL JONGSEONG KIYEOK-PIEUP
++<U11FC>     /xe1/x87/xbc HANGUL JONGSEONG KIYEOK-CHIEUCH
++<U11FD>     /xe1/x87/xbd HANGUL JONGSEONG KIYEOK-KHIEUKH
++<U11FE>     /xe1/x87/xbe HANGUL JONGSEONG KIYEOK-HIEUH
++<U11FF>     /xe1/x87/xbf HANGUL JONGSEONG SSANGNIEUN
+ <U1200>     /xe1/x88/x80 ETHIOPIC SYLLABLE HA
+ <U1201>     /xe1/x88/x81 ETHIOPIC SYLLABLE HU
+ <U1202>     /xe1/x88/x82 ETHIOPIC SYLLABLE HI
+@@ -4002,6 +4153,8 @@ CHARMAP
+ <U1358>     /xe1/x8d/x98 ETHIOPIC SYLLABLE RYA
+ <U1359>     /xe1/x8d/x99 ETHIOPIC SYLLABLE MYA
+ <U135A>     /xe1/x8d/x9a ETHIOPIC SYLLABLE FYA
++<U135D>     /xe1/x8d/x9d ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
++<U135E>     /xe1/x8d/x9e ETHIOPIC COMBINING VOWEL LENGTH MARK
+ <U135F>     /xe1/x8d/x9f ETHIOPIC COMBINING GEMINATION MARK
+ <U1360>     /xe1/x8d/xa0 ETHIOPIC SECTION MARK
+ <U1361>     /xe1/x8d/xa1 ETHIOPIC WORDSPACE
+@@ -4143,6 +4296,7 @@ CHARMAP
+ <U13F2>     /xe1/x8f/xb2 CHEROKEE LETTER YO
+ <U13F3>     /xe1/x8f/xb3 CHEROKEE LETTER YU
+ <U13F4>     /xe1/x8f/xb4 CHEROKEE LETTER YV
++<U1400>     /xe1/x90/x80 CANADIAN SYLLABICS HYPHEN
+ <U1401>     /xe1/x90/x81 CANADIAN SYLLABICS E
+ <U1402>     /xe1/x90/x82 CANADIAN SYLLABICS AAI
+ <U1403>     /xe1/x90/x83 CANADIAN SYLLABICS I
+@@ -4773,6 +4927,15 @@ CHARMAP
+ <U1674>     /xe1/x99/xb4 CANADIAN SYLLABICS NNGOO
+ <U1675>     /xe1/x99/xb5 CANADIAN SYLLABICS NNGA
+ <U1676>     /xe1/x99/xb6 CANADIAN SYLLABICS NNGAA
++<U1677>     /xe1/x99/xb7 CANADIAN SYLLABICS WOODS-CREE THWEE
++<U1678>     /xe1/x99/xb8 CANADIAN SYLLABICS WOODS-CREE THWI
++<U1679>     /xe1/x99/xb9 CANADIAN SYLLABICS WOODS-CREE THWII
++<U167A>     /xe1/x99/xba CANADIAN SYLLABICS WOODS-CREE THWO
++<U167B>     /xe1/x99/xbb CANADIAN SYLLABICS WOODS-CREE THWOO
++<U167C>     /xe1/x99/xbc CANADIAN SYLLABICS WOODS-CREE THWA
++<U167D>     /xe1/x99/xbd CANADIAN SYLLABICS WOODS-CREE THWAA
++<U167E>     /xe1/x99/xbe CANADIAN SYLLABICS WOODS-CREE FINAL TH
++<U167F>     /xe1/x99/xbf CANADIAN SYLLABICS BLACKFOOT W
+ <U1680>     /xe1/x9a/x80 OGHAM SPACE MARK
+ <U1681>     /xe1/x9a/x81 OGHAM LETTER BEITH
+ <U1682>     /xe1/x9a/x82 OGHAM LETTER LUIS
+@@ -5234,6 +5397,76 @@ CHARMAP
+ <U18A8>     /xe1/xa2/xa8 MONGOLIAN LETTER MANCHU ALI GALI BHA
+ <U18A9>     /xe1/xa2/xa9 MONGOLIAN LETTER ALI GALI DAGALGA
+ <U18AA>     /xe1/xa2/xaa MONGOLIAN LETTER MANCHU ALI GALI LHA
++<U18B0>     /xe1/xa2/xb0 CANADIAN SYLLABICS OY
++<U18B1>     /xe1/xa2/xb1 CANADIAN SYLLABICS AY
++<U18B2>     /xe1/xa2/xb2 CANADIAN SYLLABICS AAY
++<U18B3>     /xe1/xa2/xb3 CANADIAN SYLLABICS WAY
++<U18B4>     /xe1/xa2/xb4 CANADIAN SYLLABICS POY
++<U18B5>     /xe1/xa2/xb5 CANADIAN SYLLABICS PAY
++<U18B6>     /xe1/xa2/xb6 CANADIAN SYLLABICS PWOY
++<U18B7>     /xe1/xa2/xb7 CANADIAN SYLLABICS TAY
++<U18B8>     /xe1/xa2/xb8 CANADIAN SYLLABICS KAY
++<U18B9>     /xe1/xa2/xb9 CANADIAN SYLLABICS KWAY
++<U18BA>     /xe1/xa2/xba CANADIAN SYLLABICS MAY
++<U18BB>     /xe1/xa2/xbb CANADIAN SYLLABICS NOY
++<U18BC>     /xe1/xa2/xbc CANADIAN SYLLABICS NAY
++<U18BD>     /xe1/xa2/xbd CANADIAN SYLLABICS LAY
++<U18BE>     /xe1/xa2/xbe CANADIAN SYLLABICS SOY
++<U18BF>     /xe1/xa2/xbf CANADIAN SYLLABICS SAY
++<U18C0>     /xe1/xa3/x80 CANADIAN SYLLABICS SHOY
++<U18C1>     /xe1/xa3/x81 CANADIAN SYLLABICS SHAY
++<U18C2>     /xe1/xa3/x82 CANADIAN SYLLABICS SHWOY
++<U18C3>     /xe1/xa3/x83 CANADIAN SYLLABICS YOY
++<U18C4>     /xe1/xa3/x84 CANADIAN SYLLABICS YAY
++<U18C5>     /xe1/xa3/x85 CANADIAN SYLLABICS RAY
++<U18C6>     /xe1/xa3/x86 CANADIAN SYLLABICS NWI
++<U18C7>     /xe1/xa3/x87 CANADIAN SYLLABICS OJIBWAY NWI
++<U18C8>     /xe1/xa3/x88 CANADIAN SYLLABICS NWII
++<U18C9>     /xe1/xa3/x89 CANADIAN SYLLABICS OJIBWAY NWII
++<U18CA>     /xe1/xa3/x8a CANADIAN SYLLABICS NWO
++<U18CB>     /xe1/xa3/x8b CANADIAN SYLLABICS OJIBWAY NWO
++<U18CC>     /xe1/xa3/x8c CANADIAN SYLLABICS NWOO
++<U18CD>     /xe1/xa3/x8d CANADIAN SYLLABICS OJIBWAY NWOO
++<U18CE>     /xe1/xa3/x8e CANADIAN SYLLABICS RWEE
++<U18CF>     /xe1/xa3/x8f CANADIAN SYLLABICS RWI
++<U18D0>     /xe1/xa3/x90 CANADIAN SYLLABICS RWII
++<U18D1>     /xe1/xa3/x91 CANADIAN SYLLABICS RWO
++<U18D2>     /xe1/xa3/x92 CANADIAN SYLLABICS RWOO
++<U18D3>     /xe1/xa3/x93 CANADIAN SYLLABICS RWA
++<U18D4>     /xe1/xa3/x94 CANADIAN SYLLABICS OJIBWAY P
++<U18D5>     /xe1/xa3/x95 CANADIAN SYLLABICS OJIBWAY T
++<U18D6>     /xe1/xa3/x96 CANADIAN SYLLABICS OJIBWAY K
++<U18D7>     /xe1/xa3/x97 CANADIAN SYLLABICS OJIBWAY C
++<U18D8>     /xe1/xa3/x98 CANADIAN SYLLABICS OJIBWAY M
++<U18D9>     /xe1/xa3/x99 CANADIAN SYLLABICS OJIBWAY N
++<U18DA>     /xe1/xa3/x9a CANADIAN SYLLABICS OJIBWAY S
++<U18DB>     /xe1/xa3/x9b CANADIAN SYLLABICS OJIBWAY SH
++<U18DC>     /xe1/xa3/x9c CANADIAN SYLLABICS EASTERN W
++<U18DD>     /xe1/xa3/x9d CANADIAN SYLLABICS WESTERN W
++<U18DE>     /xe1/xa3/x9e CANADIAN SYLLABICS FINAL SMALL RING
++<U18DF>     /xe1/xa3/x9f CANADIAN SYLLABICS FINAL RAISED DOT
++<U18E0>     /xe1/xa3/xa0 CANADIAN SYLLABICS R-CREE RWE
++<U18E1>     /xe1/xa3/xa1 CANADIAN SYLLABICS WEST-CREE LOO
++<U18E2>     /xe1/xa3/xa2 CANADIAN SYLLABICS WEST-CREE LAA
++<U18E3>     /xe1/xa3/xa3 CANADIAN SYLLABICS THWE
++<U18E4>     /xe1/xa3/xa4 CANADIAN SYLLABICS THWA
++<U18E5>     /xe1/xa3/xa5 CANADIAN SYLLABICS TTHWE
++<U18E6>     /xe1/xa3/xa6 CANADIAN SYLLABICS TTHOO
++<U18E7>     /xe1/xa3/xa7 CANADIAN SYLLABICS TTHAA
++<U18E8>     /xe1/xa3/xa8 CANADIAN SYLLABICS TLHWE
++<U18E9>     /xe1/xa3/xa9 CANADIAN SYLLABICS TLHOO
++<U18EA>     /xe1/xa3/xaa CANADIAN SYLLABICS SAYISI SHWE
++<U18EB>     /xe1/xa3/xab CANADIAN SYLLABICS SAYISI SHOO
++<U18EC>     /xe1/xa3/xac CANADIAN SYLLABICS SAYISI HOO
++<U18ED>     /xe1/xa3/xad CANADIAN SYLLABICS CARRIER GWU
++<U18EE>     /xe1/xa3/xae CANADIAN SYLLABICS CARRIER DENE GEE
++<U18EF>     /xe1/xa3/xaf CANADIAN SYLLABICS CARRIER GAA
++<U18F0>     /xe1/xa3/xb0 CANADIAN SYLLABICS CARRIER GWA
++<U18F1>     /xe1/xa3/xb1 CANADIAN SYLLABICS SAYISI JUU
++<U18F2>     /xe1/xa3/xb2 CANADIAN SYLLABICS CARRIER JWA
++<U18F3>     /xe1/xa3/xb3 CANADIAN SYLLABICS BEAVER DENE L
++<U18F4>     /xe1/xa3/xb4 CANADIAN SYLLABICS BEAVER DENE R
++<U18F5>     /xe1/xa3/xb5 CANADIAN SYLLABICS CARRIER DENTAL S
+ <U1900>     /xe1/xa4/x80 LIMBU VOWEL-CARRIER LETTER
+ <U1901>     /xe1/xa4/x81 LIMBU LETTER KA
+ <U1902>     /xe1/xa4/x82 LIMBU LETTER KHA
+@@ -5377,6 +5610,8 @@ CHARMAP
+ <U19A7>     /xe1/xa6/xa7 NEW TAI LUE LETTER HIGH XVA
+ <U19A8>     /xe1/xa6/xa8 NEW TAI LUE LETTER LOW KVA
+ <U19A9>     /xe1/xa6/xa9 NEW TAI LUE LETTER LOW XVA
++<U19AA>     /xe1/xa6/xaa NEW TAI LUE LETTER HIGH SUA
++<U19AB>     /xe1/xa6/xab NEW TAI LUE LETTER LOW SUA
+ <U19B0>     /xe1/xa6/xb0 NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+ <U19B1>     /xe1/xa6/xb1 NEW TAI LUE VOWEL SIGN AA
+ <U19B2>     /xe1/xa6/xb2 NEW TAI LUE VOWEL SIGN II
+@@ -5413,6 +5648,7 @@ CHARMAP
+ <U19D7>     /xe1/xa7/x97 NEW TAI LUE DIGIT SEVEN
+ <U19D8>     /xe1/xa7/x98 NEW TAI LUE DIGIT EIGHT
+ <U19D9>     /xe1/xa7/x99 NEW TAI LUE DIGIT NINE
++<U19DA>     /xe1/xa7/x9a NEW TAI LUE THAM DIGIT ONE
+ <U19DE>     /xe1/xa7/x9e NEW TAI LUE SIGN LAE
+ <U19DF>     /xe1/xa7/x9f NEW TAI LUE SIGN LAEV
+ <U19E0>     /xe1/xa7/xa0 KHMER SYMBOL PATHAMASAT
+@@ -5477,6 +5713,133 @@ CHARMAP
+ <U1A1B>     /xe1/xa8/x9b BUGINESE VOWEL SIGN AE
+ <U1A1E>     /xe1/xa8/x9e BUGINESE PALLAWA
+ <U1A1F>     /xe1/xa8/x9f BUGINESE END OF SECTION
++<U1A20>     /xe1/xa8/xa0 TAI THAM LETTER HIGH KA
++<U1A21>     /xe1/xa8/xa1 TAI THAM LETTER HIGH KHA
++<U1A22>     /xe1/xa8/xa2 TAI THAM LETTER HIGH KXA
++<U1A23>     /xe1/xa8/xa3 TAI THAM LETTER LOW KA
++<U1A24>     /xe1/xa8/xa4 TAI THAM LETTER LOW KXA
++<U1A25>     /xe1/xa8/xa5 TAI THAM LETTER LOW KHA
++<U1A26>     /xe1/xa8/xa6 TAI THAM LETTER NGA
++<U1A27>     /xe1/xa8/xa7 TAI THAM LETTER HIGH CA
++<U1A28>     /xe1/xa8/xa8 TAI THAM LETTER HIGH CHA
++<U1A29>     /xe1/xa8/xa9 TAI THAM LETTER LOW CA
++<U1A2A>     /xe1/xa8/xaa TAI THAM LETTER LOW SA
++<U1A2B>     /xe1/xa8/xab TAI THAM LETTER LOW CHA
++<U1A2C>     /xe1/xa8/xac TAI THAM LETTER NYA
++<U1A2D>     /xe1/xa8/xad TAI THAM LETTER RATA
++<U1A2E>     /xe1/xa8/xae TAI THAM LETTER HIGH RATHA
++<U1A2F>     /xe1/xa8/xaf TAI THAM LETTER DA
++<U1A30>     /xe1/xa8/xb0 TAI THAM LETTER LOW RATHA
++<U1A31>     /xe1/xa8/xb1 TAI THAM LETTER RANA
++<U1A32>     /xe1/xa8/xb2 TAI THAM LETTER HIGH TA
++<U1A33>     /xe1/xa8/xb3 TAI THAM LETTER HIGH THA
++<U1A34>     /xe1/xa8/xb4 TAI THAM LETTER LOW TA
++<U1A35>     /xe1/xa8/xb5 TAI THAM LETTER LOW THA
++<U1A36>     /xe1/xa8/xb6 TAI THAM LETTER NA
++<U1A37>     /xe1/xa8/xb7 TAI THAM LETTER BA
++<U1A38>     /xe1/xa8/xb8 TAI THAM LETTER HIGH PA
++<U1A39>     /xe1/xa8/xb9 TAI THAM LETTER HIGH PHA
++<U1A3A>     /xe1/xa8/xba TAI THAM LETTER HIGH FA
++<U1A3B>     /xe1/xa8/xbb TAI THAM LETTER LOW PA
++<U1A3C>     /xe1/xa8/xbc TAI THAM LETTER LOW FA
++<U1A3D>     /xe1/xa8/xbd TAI THAM LETTER LOW PHA
++<U1A3E>     /xe1/xa8/xbe TAI THAM LETTER MA
++<U1A3F>     /xe1/xa8/xbf TAI THAM LETTER LOW YA
++<U1A40>     /xe1/xa9/x80 TAI THAM LETTER HIGH YA
++<U1A41>     /xe1/xa9/x81 TAI THAM LETTER RA
++<U1A42>     /xe1/xa9/x82 TAI THAM LETTER RUE
++<U1A43>     /xe1/xa9/x83 TAI THAM LETTER LA
++<U1A44>     /xe1/xa9/x84 TAI THAM LETTER LUE
++<U1A45>     /xe1/xa9/x85 TAI THAM LETTER WA
++<U1A46>     /xe1/xa9/x86 TAI THAM LETTER HIGH SHA
++<U1A47>     /xe1/xa9/x87 TAI THAM LETTER HIGH SSA
++<U1A48>     /xe1/xa9/x88 TAI THAM LETTER HIGH SA
++<U1A49>     /xe1/xa9/x89 TAI THAM LETTER HIGH HA
++<U1A4A>     /xe1/xa9/x8a TAI THAM LETTER LLA
++<U1A4B>     /xe1/xa9/x8b TAI THAM LETTER A
++<U1A4C>     /xe1/xa9/x8c TAI THAM LETTER LOW HA
++<U1A4D>     /xe1/xa9/x8d TAI THAM LETTER I
++<U1A4E>     /xe1/xa9/x8e TAI THAM LETTER II
++<U1A4F>     /xe1/xa9/x8f TAI THAM LETTER U
++<U1A50>     /xe1/xa9/x90 TAI THAM LETTER UU
++<U1A51>     /xe1/xa9/x91 TAI THAM LETTER EE
++<U1A52>     /xe1/xa9/x92 TAI THAM LETTER OO
++<U1A53>     /xe1/xa9/x93 TAI THAM LETTER LAE
++<U1A54>     /xe1/xa9/x94 TAI THAM LETTER GREAT SA
++<U1A55>     /xe1/xa9/x95 TAI THAM CONSONANT SIGN MEDIAL RA
++<U1A56>     /xe1/xa9/x96 TAI THAM CONSONANT SIGN MEDIAL LA
++<U1A57>     /xe1/xa9/x97 TAI THAM CONSONANT SIGN LA TANG LAI
++<U1A58>     /xe1/xa9/x98 TAI THAM SIGN MAI KANG LAI
++<U1A59>     /xe1/xa9/x99 TAI THAM CONSONANT SIGN FINAL NGA
++<U1A5A>     /xe1/xa9/x9a TAI THAM CONSONANT SIGN LOW PA
++<U1A5B>     /xe1/xa9/x9b TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
++<U1A5C>     /xe1/xa9/x9c TAI THAM CONSONANT SIGN MA
++<U1A5D>     /xe1/xa9/x9d TAI THAM CONSONANT SIGN BA
++<U1A5E>     /xe1/xa9/x9e TAI THAM CONSONANT SIGN SA
++<U1A60>     /xe1/xa9/xa0 TAI THAM SIGN SAKOT
++<U1A61>     /xe1/xa9/xa1 TAI THAM VOWEL SIGN A
++<U1A62>     /xe1/xa9/xa2 TAI THAM VOWEL SIGN MAI SAT
++<U1A63>     /xe1/xa9/xa3 TAI THAM VOWEL SIGN AA
++<U1A64>     /xe1/xa9/xa4 TAI THAM VOWEL SIGN TALL AA
++<U1A65>     /xe1/xa9/xa5 TAI THAM VOWEL SIGN I
++<U1A66>     /xe1/xa9/xa6 TAI THAM VOWEL SIGN II
++<U1A67>     /xe1/xa9/xa7 TAI THAM VOWEL SIGN UE
++<U1A68>     /xe1/xa9/xa8 TAI THAM VOWEL SIGN UUE
++<U1A69>     /xe1/xa9/xa9 TAI THAM VOWEL SIGN U
++<U1A6A>     /xe1/xa9/xaa TAI THAM VOWEL SIGN UU
++<U1A6B>     /xe1/xa9/xab TAI THAM VOWEL SIGN O
++<U1A6C>     /xe1/xa9/xac TAI THAM VOWEL SIGN OA BELOW
++<U1A6D>     /xe1/xa9/xad TAI THAM VOWEL SIGN OY
++<U1A6E>     /xe1/xa9/xae TAI THAM VOWEL SIGN E
++<U1A6F>     /xe1/xa9/xaf TAI THAM VOWEL SIGN AE
++<U1A70>     /xe1/xa9/xb0 TAI THAM VOWEL SIGN OO
++<U1A71>     /xe1/xa9/xb1 TAI THAM VOWEL SIGN AI
++<U1A72>     /xe1/xa9/xb2 TAI THAM VOWEL SIGN THAM AI
++<U1A73>     /xe1/xa9/xb3 TAI THAM VOWEL SIGN OA ABOVE
++<U1A74>     /xe1/xa9/xb4 TAI THAM SIGN MAI KANG
++<U1A75>     /xe1/xa9/xb5 TAI THAM SIGN TONE-1
++<U1A76>     /xe1/xa9/xb6 TAI THAM SIGN TONE-2
++<U1A77>     /xe1/xa9/xb7 TAI THAM SIGN KHUEN TONE-3
++<U1A78>     /xe1/xa9/xb8 TAI THAM SIGN KHUEN TONE-4
++<U1A79>     /xe1/xa9/xb9 TAI THAM SIGN KHUEN TONE-5
++<U1A7A>     /xe1/xa9/xba TAI THAM SIGN RA HAAM
++<U1A7B>     /xe1/xa9/xbb TAI THAM SIGN MAI SAM
++<U1A7C>     /xe1/xa9/xbc TAI THAM SIGN KHUEN-LUE KARAN
++<U1A7F>     /xe1/xa9/xbf TAI THAM COMBINING CRYPTOGRAMMIC DOT
++<U1A80>     /xe1/xaa/x80 TAI THAM HORA DIGIT ZERO
++<U1A81>     /xe1/xaa/x81 TAI THAM HORA DIGIT ONE
++<U1A82>     /xe1/xaa/x82 TAI THAM HORA DIGIT TWO
++<U1A83>     /xe1/xaa/x83 TAI THAM HORA DIGIT THREE
++<U1A84>     /xe1/xaa/x84 TAI THAM HORA DIGIT FOUR
++<U1A85>     /xe1/xaa/x85 TAI THAM HORA DIGIT FIVE
++<U1A86>     /xe1/xaa/x86 TAI THAM HORA DIGIT SIX
++<U1A87>     /xe1/xaa/x87 TAI THAM HORA DIGIT SEVEN
++<U1A88>     /xe1/xaa/x88 TAI THAM HORA DIGIT EIGHT
++<U1A89>     /xe1/xaa/x89 TAI THAM HORA DIGIT NINE
++<U1A90>     /xe1/xaa/x90 TAI THAM THAM DIGIT ZERO
++<U1A91>     /xe1/xaa/x91 TAI THAM THAM DIGIT ONE
++<U1A92>     /xe1/xaa/x92 TAI THAM THAM DIGIT TWO
++<U1A93>     /xe1/xaa/x93 TAI THAM THAM DIGIT THREE
++<U1A94>     /xe1/xaa/x94 TAI THAM THAM DIGIT FOUR
++<U1A95>     /xe1/xaa/x95 TAI THAM THAM DIGIT FIVE
++<U1A96>     /xe1/xaa/x96 TAI THAM THAM DIGIT SIX
++<U1A97>     /xe1/xaa/x97 TAI THAM THAM DIGIT SEVEN
++<U1A98>     /xe1/xaa/x98 TAI THAM THAM DIGIT EIGHT
++<U1A99>     /xe1/xaa/x99 TAI THAM THAM DIGIT NINE
++<U1AA0>     /xe1/xaa/xa0 TAI THAM SIGN WIANG
++<U1AA1>     /xe1/xaa/xa1 TAI THAM SIGN WIANGWAAK
++<U1AA2>     /xe1/xaa/xa2 TAI THAM SIGN SAWAN
++<U1AA3>     /xe1/xaa/xa3 TAI THAM SIGN KEOW
++<U1AA4>     /xe1/xaa/xa4 TAI THAM SIGN HOY
++<U1AA5>     /xe1/xaa/xa5 TAI THAM SIGN DOKMAI
++<U1AA6>     /xe1/xaa/xa6 TAI THAM SIGN REVERSED ROTATED RANA
++<U1AA7>     /xe1/xaa/xa7 TAI THAM SIGN MAI YAMOK
++<U1AA8>     /xe1/xaa/xa8 TAI THAM SIGN KAAN
++<U1AA9>     /xe1/xaa/xa9 TAI THAM SIGN KAANKUU
++<U1AAA>     /xe1/xaa/xaa TAI THAM SIGN SATKAAN
++<U1AAB>     /xe1/xaa/xab TAI THAM SIGN SATKAANKUU
++<U1AAC>     /xe1/xaa/xac TAI THAM SIGN HANG
++<U1AAD>     /xe1/xaa/xad TAI THAM SIGN CAANG
+ <U1B00>     /xe1/xac/x80 BALINESE SIGN ULU RICEM
+ <U1B01>     /xe1/xac/x81 BALINESE SIGN ULU CANDRA
+ <U1B02>     /xe1/xac/x82 BALINESE SIGN CECEK
+@@ -5653,6 +6016,62 @@ CHARMAP
+ <U1BB7>     /xe1/xae/xb7 SUNDANESE DIGIT SEVEN
+ <U1BB8>     /xe1/xae/xb8 SUNDANESE DIGIT EIGHT
+ <U1BB9>     /xe1/xae/xb9 SUNDANESE DIGIT NINE
++<U1BC0>     /xe1/xaf/x80 BATAK LETTER A
++<U1BC1>     /xe1/xaf/x81 BATAK LETTER SIMALUNGUN A
++<U1BC2>     /xe1/xaf/x82 BATAK LETTER HA
++<U1BC3>     /xe1/xaf/x83 BATAK LETTER SIMALUNGUN HA
++<U1BC4>     /xe1/xaf/x84 BATAK LETTER MANDAILING HA
++<U1BC5>     /xe1/xaf/x85 BATAK LETTER BA
++<U1BC6>     /xe1/xaf/x86 BATAK LETTER KARO BA
++<U1BC7>     /xe1/xaf/x87 BATAK LETTER PA
++<U1BC8>     /xe1/xaf/x88 BATAK LETTER SIMALUNGUN PA
++<U1BC9>     /xe1/xaf/x89 BATAK LETTER NA
++<U1BCA>     /xe1/xaf/x8a BATAK LETTER MANDAILING NA
++<U1BCB>     /xe1/xaf/x8b BATAK LETTER WA
++<U1BCC>     /xe1/xaf/x8c BATAK LETTER SIMALUNGUN WA
++<U1BCD>     /xe1/xaf/x8d BATAK LETTER PAKPAK WA
++<U1BCE>     /xe1/xaf/x8e BATAK LETTER GA
++<U1BCF>     /xe1/xaf/x8f BATAK LETTER SIMALUNGUN GA
++<U1BD0>     /xe1/xaf/x90 BATAK LETTER JA
++<U1BD1>     /xe1/xaf/x91 BATAK LETTER DA
++<U1BD2>     /xe1/xaf/x92 BATAK LETTER RA
++<U1BD3>     /xe1/xaf/x93 BATAK LETTER SIMALUNGUN RA
++<U1BD4>     /xe1/xaf/x94 BATAK LETTER MA
++<U1BD5>     /xe1/xaf/x95 BATAK LETTER SIMALUNGUN MA
++<U1BD6>     /xe1/xaf/x96 BATAK LETTER SOUTHERN TA
++<U1BD7>     /xe1/xaf/x97 BATAK LETTER NORTHERN TA
++<U1BD8>     /xe1/xaf/x98 BATAK LETTER SA
++<U1BD9>     /xe1/xaf/x99 BATAK LETTER SIMALUNGUN SA
++<U1BDA>     /xe1/xaf/x9a BATAK LETTER MANDAILING SA
++<U1BDB>     /xe1/xaf/x9b BATAK LETTER YA
++<U1BDC>     /xe1/xaf/x9c BATAK LETTER SIMALUNGUN YA
++<U1BDD>     /xe1/xaf/x9d BATAK LETTER NGA
++<U1BDE>     /xe1/xaf/x9e BATAK LETTER LA
++<U1BDF>     /xe1/xaf/x9f BATAK LETTER SIMALUNGUN LA
++<U1BE0>     /xe1/xaf/xa0 BATAK LETTER NYA
++<U1BE1>     /xe1/xaf/xa1 BATAK LETTER CA
++<U1BE2>     /xe1/xaf/xa2 BATAK LETTER NDA
++<U1BE3>     /xe1/xaf/xa3 BATAK LETTER MBA
++<U1BE4>     /xe1/xaf/xa4 BATAK LETTER I
++<U1BE5>     /xe1/xaf/xa5 BATAK LETTER U
++<U1BE6>     /xe1/xaf/xa6 BATAK SIGN TOMPI
++<U1BE7>     /xe1/xaf/xa7 BATAK VOWEL SIGN E
++<U1BE8>     /xe1/xaf/xa8 BATAK VOWEL SIGN PAKPAK E
++<U1BE9>     /xe1/xaf/xa9 BATAK VOWEL SIGN EE
++<U1BEA>     /xe1/xaf/xaa BATAK VOWEL SIGN I
++<U1BEB>     /xe1/xaf/xab BATAK VOWEL SIGN KARO I
++<U1BEC>     /xe1/xaf/xac BATAK VOWEL SIGN O
++<U1BED>     /xe1/xaf/xad BATAK VOWEL SIGN KARO O
++<U1BEE>     /xe1/xaf/xae BATAK VOWEL SIGN U
++<U1BEF>     /xe1/xaf/xaf BATAK VOWEL SIGN U FOR SIMALUNGUN SA
++<U1BF0>     /xe1/xaf/xb0 BATAK CONSONANT SIGN NG
++<U1BF1>     /xe1/xaf/xb1 BATAK CONSONANT SIGN H
++<U1BF2>     /xe1/xaf/xb2 BATAK PANGOLAT
++<U1BF3>     /xe1/xaf/xb3 BATAK PANONGONAN
++<U1BFC>     /xe1/xaf/xbc BATAK SYMBOL BINDU NA METEK
++<U1BFD>     /xe1/xaf/xbd BATAK SYMBOL BINDU PINARBORAS
++<U1BFE>     /xe1/xaf/xbe BATAK SYMBOL BINDU JUDUL
++<U1BFF>     /xe1/xaf/xbf BATAK SYMBOL BINDU PANGOLAT
+ <U1C00>     /xe1/xb0/x80 LEPCHA LETTER KA
+ <U1C01>     /xe1/xb0/x81 LEPCHA LETTER KLA
+ <U1C02>     /xe1/xb0/x82 LEPCHA LETTER KHA
+@@ -5775,6 +6194,41 @@ CHARMAP
+ <U1C7D>     /xe1/xb1/xbd OL CHIKI AHAD
+ <U1C7E>     /xe1/xb1/xbe OL CHIKI PUNCTUATION MUCAAD
+ <U1C7F>     /xe1/xb1/xbf OL CHIKI PUNCTUATION DOUBLE MUCAAD
++<U1CD0>     /xe1/xb3/x90 VEDIC TONE KARSHANA
++<U1CD1>     /xe1/xb3/x91 VEDIC TONE SHARA
++<U1CD2>     /xe1/xb3/x92 VEDIC TONE PRENKHA
++<U1CD3>     /xe1/xb3/x93 VEDIC SIGN NIHSHVASA
++<U1CD4>     /xe1/xb3/x94 VEDIC SIGN YAJURVEDIC MIDLINE SVARITA
++<U1CD5>     /xe1/xb3/x95 VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA
++<U1CD6>     /xe1/xb3/x96 VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA
++<U1CD7>     /xe1/xb3/x97 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA
++<U1CD8>     /xe1/xb3/x98 VEDIC TONE CANDRA BELOW
++<U1CD9>     /xe1/xb3/x99 VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER
++<U1CDA>     /xe1/xb3/x9a VEDIC TONE DOUBLE SVARITA
++<U1CDB>     /xe1/xb3/x9b VEDIC TONE TRIPLE SVARITA
++<U1CDC>     /xe1/xb3/x9c VEDIC TONE KATHAKA ANUDATTA
++<U1CDD>     /xe1/xb3/x9d VEDIC TONE DOT BELOW
++<U1CDE>     /xe1/xb3/x9e VEDIC TONE TWO DOTS BELOW
++<U1CDF>     /xe1/xb3/x9f VEDIC TONE THREE DOTS BELOW
++<U1CE0>     /xe1/xb3/xa0 VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
++<U1CE1>     /xe1/xb3/xa1 VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
++<U1CE2>     /xe1/xb3/xa2 VEDIC SIGN VISARGA SVARITA
++<U1CE3>     /xe1/xb3/xa3 VEDIC SIGN VISARGA UDATTA
++<U1CE4>     /xe1/xb3/xa4 VEDIC SIGN REVERSED VISARGA UDATTA
++<U1CE5>     /xe1/xb3/xa5 VEDIC SIGN VISARGA ANUDATTA
++<U1CE6>     /xe1/xb3/xa6 VEDIC SIGN REVERSED VISARGA ANUDATTA
++<U1CE7>     /xe1/xb3/xa7 VEDIC SIGN VISARGA UDATTA WITH TAIL
++<U1CE8>     /xe1/xb3/xa8 VEDIC SIGN VISARGA ANUDATTA WITH TAIL
++<U1CE9>     /xe1/xb3/xa9 VEDIC SIGN ANUSVARA ANTARGOMUKHA
++<U1CEA>     /xe1/xb3/xaa VEDIC SIGN ANUSVARA BAHIRGOMUKHA
++<U1CEB>     /xe1/xb3/xab VEDIC SIGN ANUSVARA VAMAGOMUKHA
++<U1CEC>     /xe1/xb3/xac VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
++<U1CED>     /xe1/xb3/xad VEDIC SIGN TIRYAK
++<U1CEE>     /xe1/xb3/xae VEDIC SIGN HEXIFORM LONG ANUSVARA
++<U1CEF>     /xe1/xb3/xaf VEDIC SIGN LONG ANUSVARA
++<U1CF0>     /xe1/xb3/xb0 VEDIC SIGN RTHANG LONG ANUSVARA
++<U1CF1>     /xe1/xb3/xb1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA
++<U1CF2>     /xe1/xb3/xb2 VEDIC SIGN ARDHAVISARGA
+ <U1D00>     /xe1/xb4/x80 LATIN LETTER SMALL CAPITAL A
+ <U1D01>     /xe1/xb4/x81 LATIN LETTER SMALL CAPITAL AE
+ <U1D02>     /xe1/xb4/x82 LATIN SMALL LETTER TURNED AE
+@@ -6006,6 +6460,8 @@ CHARMAP
+ <U1DE4>     /xe1/xb7/xa4 COMBINING LATIN SMALL LETTER S
+ <U1DE5>     /xe1/xb7/xa5 COMBINING LATIN SMALL LETTER LONG S
+ <U1DE6>     /xe1/xb7/xa6 COMBINING LATIN SMALL LETTER Z
++<U1DFC>     /xe1/xb7/xbc COMBINING DOUBLE INVERTED BREVE BELOW
++<U1DFD>     /xe1/xb7/xbd COMBINING ALMOST EQUAL TO BELOW
+ <U1DFE>     /xe1/xb7/xbe COMBINING LEFT ARROWHEAD ABOVE
+ <U1DFF>     /xe1/xb7/xbf COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+ <U1E00>     /xe1/xb8/x80 LATIN CAPITAL LETTER A WITH RING BELOW
+@@ -6638,6 +7094,14 @@ CHARMAP
+ <U2092>     /xe2/x82/x92 LATIN SUBSCRIPT SMALL LETTER O
+ <U2093>     /xe2/x82/x93 LATIN SUBSCRIPT SMALL LETTER X
+ <U2094>     /xe2/x82/x94 LATIN SUBSCRIPT SMALL LETTER SCHWA
++<U2095>     /xe2/x82/x95 LATIN SUBSCRIPT SMALL LETTER H
++<U2096>     /xe2/x82/x96 LATIN SUBSCRIPT SMALL LETTER K
++<U2097>     /xe2/x82/x97 LATIN SUBSCRIPT SMALL LETTER L
++<U2098>     /xe2/x82/x98 LATIN SUBSCRIPT SMALL LETTER M
++<U2099>     /xe2/x82/x99 LATIN SUBSCRIPT SMALL LETTER N
++<U209A>     /xe2/x82/x9a LATIN SUBSCRIPT SMALL LETTER P
++<U209B>     /xe2/x82/x9b LATIN SUBSCRIPT SMALL LETTER S
++<U209C>     /xe2/x82/x9c LATIN SUBSCRIPT SMALL LETTER T
+ <U20A0>     /xe2/x82/xa0 EURO-CURRENCY SIGN
+ <U20A1>     /xe2/x82/xa1 COLON SIGN
+ <U20A2>     /xe2/x82/xa2 CRUZEIRO SIGN
+@@ -6660,6 +7124,10 @@ CHARMAP
+ <U20B3>     /xe2/x82/xb3 AUSTRAL SIGN
+ <U20B4>     /xe2/x82/xb4 HRYVNIA SIGN
+ <U20B5>     /xe2/x82/xb5 CEDI SIGN
++<U20B6>     /xe2/x82/xb6 LIVRE TOURNOIS SIGN
++<U20B7>     /xe2/x82/xb7 SPESMILO SIGN
++<U20B8>     /xe2/x82/xb8 TENGE SIGN
++<U20B9>     /xe2/x82/xb9 INDIAN RUPEE SIGN
+ <U20D0>     /xe2/x83/x90 COMBINING LEFT HARPOON ABOVE
+ <U20D1>     /xe2/x83/x91 COMBINING RIGHT HARPOON ABOVE
+ <U20D2>     /xe2/x83/x92 COMBINING LONG VERTICAL LINE OVERLAY
+@@ -6773,6 +7241,9 @@ CHARMAP
+ <U214D>     /xe2/x85/x8d AKTIESELSKAB
+ <U214E>     /xe2/x85/x8e TURNED SMALL F
+ <U214F>     /xe2/x85/x8f SYMBOL FOR SAMARITAN SOURCE
++<U2150>     /xe2/x85/x90 VULGAR FRACTION ONE SEVENTH
++<U2151>     /xe2/x85/x91 VULGAR FRACTION ONE NINTH
++<U2152>     /xe2/x85/x92 VULGAR FRACTION ONE TENTH
+ <U2153>     /xe2/x85/x93 VULGAR FRACTION ONE THIRD
+ <U2154>     /xe2/x85/x94 VULGAR FRACTION TWO THIRDS
+ <U2155>     /xe2/x85/x95 VULGAR FRACTION ONE FIFTH
+@@ -6827,6 +7298,7 @@ CHARMAP
+ <U2186>     /xe2/x86/x86 ROMAN NUMERAL FIFTY EARLY FORM
+ <U2187>     /xe2/x86/x87 ROMAN NUMERAL FIFTY THOUSAND
+ <U2188>     /xe2/x86/x88 ROMAN NUMERAL ONE HUNDRED THOUSAND
++<U2189>     /xe2/x86/x89 VULGAR FRACTION ZERO THIRDS
+ <U2190>     /xe2/x86/x90 LEFTWARDS ARROW
+ <U2191>     /xe2/x86/x91 UPWARDS ARROW
+ <U2192>     /xe2/x86/x92 RIGHTWARDS ARROW
+@@ -7427,6 +7899,18 @@ CHARMAP
+ <U23E5>     /xe2/x8f/xa5 FLATNESS
+ <U23E6>     /xe2/x8f/xa6 AC CURRENT
+ <U23E7>     /xe2/x8f/xa7 ELECTRICAL INTERSECTION
++<U23E8>     /xe2/x8f/xa8 DECIMAL EXPONENT SYMBOL
++<U23E9>     /xe2/x8f/xa9 BLACK RIGHT-POINTING DOUBLE TRIANGLE
++<U23EA>     /xe2/x8f/xaa BLACK LEFT-POINTING DOUBLE TRIANGLE
++<U23EB>     /xe2/x8f/xab BLACK UP-POINTING DOUBLE TRIANGLE
++<U23EC>     /xe2/x8f/xac BLACK DOWN-POINTING DOUBLE TRIANGLE
++<U23ED>     /xe2/x8f/xad BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
++<U23EE>     /xe2/x8f/xae BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
++<U23EF>     /xe2/x8f/xaf BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
++<U23F0>     /xe2/x8f/xb0 ALARM CLOCK
++<U23F1>     /xe2/x8f/xb1 STOPWATCH
++<U23F2>     /xe2/x8f/xb2 TIMER CLOCK
++<U23F3>     /xe2/x8f/xb3 HOURGLASS WITH FLOWING SAND
+ <U2400>     /xe2/x90/x80 SYMBOL FOR NULL
+ <U2401>     /xe2/x90/x81 SYMBOL FOR START OF HEADING
+ <U2402>     /xe2/x90/x82 SYMBOL FOR START OF TEXT
+@@ -8051,6 +8535,8 @@ CHARMAP
+ <U269B>     /xe2/x9a/x9b ATOM SYMBOL
+ <U269C>     /xe2/x9a/x9c FLEUR-DE-LIS
+ <U269D>     /xe2/x9a/x9d OUTLINED WHITE STAR
++<U269E>     /xe2/x9a/x9e THREE LINES CONVERGING RIGHT
++<U269F>     /xe2/x9a/x9f THREE LINES CONVERGING LEFT
+ <U26A0>     /xe2/x9a/xa0 WARNING SIGN
+ <U26A1>     /xe2/x9a/xa1 HIGH VOLTAGE SIGN
+ <U26A2>     /xe2/x9a/xa2 DOUBLED FEMALE SIGN
+@@ -8080,18 +8566,84 @@ CHARMAP
+ <U26BA>     /xe2/x9a/xba SEMISEXTILE
+ <U26BB>     /xe2/x9a/xbb QUINCUNX
+ <U26BC>     /xe2/x9a/xbc SESQUIQUADRATE
++<U26BD>     /xe2/x9a/xbd SOCCER BALL
++<U26BE>     /xe2/x9a/xbe BASEBALL
++<U26BF>     /xe2/x9a/xbf SQUARED KEY
+ <U26C0>     /xe2/x9b/x80 WHITE DRAUGHTS MAN
+ <U26C1>     /xe2/x9b/x81 WHITE DRAUGHTS KING
+ <U26C2>     /xe2/x9b/x82 BLACK DRAUGHTS MAN
+ <U26C3>     /xe2/x9b/x83 BLACK DRAUGHTS KING
++<U26C4>     /xe2/x9b/x84 SNOWMAN WITHOUT SNOW
++<U26C5>     /xe2/x9b/x85 SUN BEHIND CLOUD
++<U26C6>     /xe2/x9b/x86 RAIN
++<U26C7>     /xe2/x9b/x87 BLACK SNOWMAN
++<U26C8>     /xe2/x9b/x88 THUNDER CLOUD AND RAIN
++<U26C9>     /xe2/x9b/x89 TURNED WHITE SHOGI PIECE
++<U26CA>     /xe2/x9b/x8a TURNED BLACK SHOGI PIECE
++<U26CB>     /xe2/x9b/x8b WHITE DIAMOND IN SQUARE
++<U26CC>     /xe2/x9b/x8c CROSSING LANES
++<U26CD>     /xe2/x9b/x8d DISABLED CAR
++<U26CE>     /xe2/x9b/x8e OPHIUCHUS
++<U26CF>     /xe2/x9b/x8f PICK
++<U26D0>     /xe2/x9b/x90 CAR SLIDING
++<U26D1>     /xe2/x9b/x91 HELMET WITH WHITE CROSS
++<U26D2>     /xe2/x9b/x92 CIRCLED CROSSING LANES
++<U26D3>     /xe2/x9b/x93 CHAINS
++<U26D4>     /xe2/x9b/x94 NO ENTRY
++<U26D5>     /xe2/x9b/x95 ALTERNATE ONE-WAY LEFT WAY TRAFFIC
++<U26D6>     /xe2/x9b/x96 BLACK TWO-WAY LEFT WAY TRAFFIC
++<U26D7>     /xe2/x9b/x97 WHITE TWO-WAY LEFT WAY TRAFFIC
++<U26D8>     /xe2/x9b/x98 BLACK LEFT LANE MERGE
++<U26D9>     /xe2/x9b/x99 WHITE LEFT LANE MERGE
++<U26DA>     /xe2/x9b/x9a DRIVE SLOW SIGN
++<U26DB>     /xe2/x9b/x9b HEAVY WHITE DOWN-POINTING TRIANGLE
++<U26DC>     /xe2/x9b/x9c LEFT CLOSED ENTRY
++<U26DD>     /xe2/x9b/x9d SQUARED SALTIRE
++<U26DE>     /xe2/x9b/x9e FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
++<U26DF>     /xe2/x9b/x9f BLACK TRUCK
++<U26E0>     /xe2/x9b/xa0 RESTRICTED LEFT ENTRY-1
++<U26E1>     /xe2/x9b/xa1 RESTRICTED LEFT ENTRY-2
++<U26E2>     /xe2/x9b/xa2 ASTRONOMICAL SYMBOL FOR URANUS
++<U26E3>     /xe2/x9b/xa3 HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
++<U26E4>     /xe2/x9b/xa4 PENTAGRAM
++<U26E5>     /xe2/x9b/xa5 RIGHT-HANDED INTERLACED PENTAGRAM
++<U26E6>     /xe2/x9b/xa6 LEFT-HANDED INTERLACED PENTAGRAM
++<U26E7>     /xe2/x9b/xa7 INVERTED PENTAGRAM
++<U26E8>     /xe2/x9b/xa8 BLACK CROSS ON SHIELD
++<U26E9>     /xe2/x9b/xa9 SHINTO SHRINE
++<U26EA>     /xe2/x9b/xaa CHURCH
++<U26EB>     /xe2/x9b/xab CASTLE
++<U26EC>     /xe2/x9b/xac HISTORIC SITE
++<U26ED>     /xe2/x9b/xad GEAR WITHOUT HUB
++<U26EE>     /xe2/x9b/xae GEAR WITH HANDLES
++<U26EF>     /xe2/x9b/xaf MAP SYMBOL FOR LIGHTHOUSE
++<U26F0>     /xe2/x9b/xb0 MOUNTAIN
++<U26F1>     /xe2/x9b/xb1 UMBRELLA ON GROUND
++<U26F2>     /xe2/x9b/xb2 FOUNTAIN
++<U26F3>     /xe2/x9b/xb3 FLAG IN HOLE
++<U26F4>     /xe2/x9b/xb4 FERRY
++<U26F5>     /xe2/x9b/xb5 SAILBOAT
++<U26F6>     /xe2/x9b/xb6 SQUARE FOUR CORNERS
++<U26F7>     /xe2/x9b/xb7 SKIER
++<U26F8>     /xe2/x9b/xb8 ICE SKATE
++<U26F9>     /xe2/x9b/xb9 PERSON WITH BALL
++<U26FA>     /xe2/x9b/xba TENT
++<U26FB>     /xe2/x9b/xbb JAPANESE BANK SYMBOL
++<U26FC>     /xe2/x9b/xbc HEADSTONE GRAVEYARD SYMBOL
++<U26FD>     /xe2/x9b/xbd FUEL PUMP
++<U26FE>     /xe2/x9b/xbe CUP ON BLACK SQUARE
++<U26FF>     /xe2/x9b/xbf WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+ <U2701>     /xe2/x9c/x81 UPPER BLADE SCISSORS
+ <U2702>     /xe2/x9c/x82 BLACK SCISSORS
+ <U2703>     /xe2/x9c/x83 LOWER BLADE SCISSORS
+ <U2704>     /xe2/x9c/x84 WHITE SCISSORS
++<U2705>     /xe2/x9c/x85 WHITE HEAVY CHECK MARK
+ <U2706>     /xe2/x9c/x86 TELEPHONE LOCATION SIGN
+ <U2707>     /xe2/x9c/x87 TAPE DRIVE
+ <U2708>     /xe2/x9c/x88 AIRPLANE
+ <U2709>     /xe2/x9c/x89 ENVELOPE
++<U270A>     /xe2/x9c/x8a RAISED FIST
++<U270B>     /xe2/x9c/x8b RAISED HAND
+ <U270C>     /xe2/x9c/x8c VICTORY HAND
+ <U270D>     /xe2/x9c/x8d WRITING HAND
+ <U270E>     /xe2/x9c/x8e LOWER RIGHT PENCIL
+@@ -8120,6 +8672,7 @@ CHARMAP
+ <U2725>     /xe2/x9c/xa5 FOUR CLUB-SPOKED ASTERISK
+ <U2726>     /xe2/x9c/xa6 BLACK FOUR POINTED STAR
+ <U2727>     /xe2/x9c/xa7 WHITE FOUR POINTED STAR
++<U2728>     /xe2/x9c/xa8 SPARKLES
+ <U2729>     /xe2/x9c/xa9 STRESS OUTLINED WHITE STAR
+ <U272A>     /xe2/x9c/xaa CIRCLED WHITE STAR
+ <U272B>     /xe2/x9c/xab OPEN CENTRE BLACK STAR
+@@ -8155,12 +8708,18 @@ CHARMAP
+ <U2749>     /xe2/x9d/x89 BALLOON-SPOKED ASTERISK
+ <U274A>     /xe2/x9d/x8a EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+ <U274B>     /xe2/x9d/x8b HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
++<U274C>     /xe2/x9d/x8c CROSS MARK
+ <U274D>     /xe2/x9d/x8d SHADOWED WHITE CIRCLE
++<U274E>     /xe2/x9d/x8e NEGATIVE SQUARED CROSS MARK
+ <U274F>     /xe2/x9d/x8f LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+ <U2750>     /xe2/x9d/x90 UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+ <U2751>     /xe2/x9d/x91 LOWER RIGHT SHADOWED WHITE SQUARE
+ <U2752>     /xe2/x9d/x92 UPPER RIGHT SHADOWED WHITE SQUARE
++<U2753>     /xe2/x9d/x93 BLACK QUESTION MARK ORNAMENT
++<U2754>     /xe2/x9d/x94 WHITE QUESTION MARK ORNAMENT
++<U2755>     /xe2/x9d/x95 WHITE EXCLAMATION MARK ORNAMENT
+ <U2756>     /xe2/x9d/x96 BLACK DIAMOND MINUS WHITE X
++<U2757>     /xe2/x9d/x97 HEAVY EXCLAMATION MARK SYMBOL
+ <U2758>     /xe2/x9d/x98 LIGHT VERTICAL BAR
+ <U2759>     /xe2/x9d/x99 MEDIUM VERTICAL BAR
+ <U275A>     /xe2/x9d/x9a HEAVY VERTICAL BAR
+@@ -8168,6 +8727,8 @@ CHARMAP
+ <U275C>     /xe2/x9d/x9c HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+ <U275D>     /xe2/x9d/x9d HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+ <U275E>     /xe2/x9d/x9e HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
++<U275F>     /xe2/x9d/x9f HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
++<U2760>     /xe2/x9d/xa0 HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+ <U2761>     /xe2/x9d/xa1 CURVED STEM PARAGRAPH SIGN ORNAMENT
+ <U2762>     /xe2/x9d/xa2 HEAVY EXCLAMATION MARK ORNAMENT
+ <U2763>     /xe2/x9d/xa3 HEAVY HEART EXCLAMATION MARK ORNAMENT
+@@ -8220,6 +8781,9 @@ CHARMAP
+ <U2792>     /xe2/x9e/x92 DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+ <U2793>     /xe2/x9e/x93 DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+ <U2794>     /xe2/x9e/x94 HEAVY WIDE-HEADED RIGHTWARDS ARROW
++<U2795>     /xe2/x9e/x95 HEAVY PLUS SIGN
++<U2796>     /xe2/x9e/x96 HEAVY MINUS SIGN
++<U2797>     /xe2/x9e/x97 HEAVY DIVISION SIGN
+ <U2798>     /xe2/x9e/x98 HEAVY SOUTH EAST ARROW
+ <U2799>     /xe2/x9e/x99 HEAVY RIGHTWARDS ARROW
+ <U279A>     /xe2/x9e/x9a HEAVY NORTH EAST ARROW
+@@ -8244,6 +8808,7 @@ CHARMAP
+ <U27AD>     /xe2/x9e/xad HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+ <U27AE>     /xe2/x9e/xae HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+ <U27AF>     /xe2/x9e/xaf NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
++<U27B0>     /xe2/x9e/xb0 CURLY LOOP
+ <U27B1>     /xe2/x9e/xb1 NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+ <U27B2>     /xe2/x9e/xb2 CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+ <U27B3>     /xe2/x9e/xb3 WHITE-FEATHERED RIGHTWARDS ARROW
+@@ -8258,6 +8823,7 @@ CHARMAP
+ <U27BC>     /xe2/x9e/xbc WEDGE-TAILED RIGHTWARDS ARROW
+ <U27BD>     /xe2/x9e/xbd HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+ <U27BE>     /xe2/x9e/xbe OPEN-OUTLINED RIGHTWARDS ARROW
++<U27BF>     /xe2/x9e/xbf DOUBLE CURLY LOOP
+ <U27C0>     /xe2/x9f/x80 THREE DIMENSIONAL ANGLE
+ <U27C1>     /xe2/x9f/x81 WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+ <U27C2>     /xe2/x9f/x82 PERPENDICULAR
+@@ -8270,6 +8836,8 @@ CHARMAP
+ <U27C9>     /xe2/x9f/x89 SUPERSET PRECEDING SOLIDUS
+ <U27CA>     /xe2/x9f/x8a VERTICAL BAR WITH HORIZONTAL STROKE
+ <U27CC>     /xe2/x9f/x8c LONG DIVISION
++<U27CE>     /xe2/x9f/x8e SQUARED LOGICAL AND
++<U27CF>     /xe2/x9f/x8f SQUARED LOGICAL OR
+ <U27D0>     /xe2/x9f/x90 WHITE DIAMOND WITH CENTRED DOT
+ <U27D1>     /xe2/x9f/x91 AND WITH DOT
+ <U27D2>     /xe2/x9f/x92 ELEMENT OF OPENING UPWARDS
+@@ -9168,6 +9736,11 @@ CHARMAP
+ <U2B52>     /xe2/xad/x92 WHITE SMALL STAR
+ <U2B53>     /xe2/xad/x93 BLACK RIGHT-POINTING PENTAGON
+ <U2B54>     /xe2/xad/x94 WHITE RIGHT-POINTING PENTAGON
++<U2B55>     /xe2/xad/x95 HEAVY LARGE CIRCLE
++<U2B56>     /xe2/xad/x96 HEAVY OVAL WITH OVAL INSIDE
++<U2B57>     /xe2/xad/x97 HEAVY CIRCLE WITH CIRCLE INSIDE
++<U2B58>     /xe2/xad/x98 HEAVY CIRCLE
++<U2B59>     /xe2/xad/x99 HEAVY CIRCLED SALTIRE
+ <U2C00>     /xe2/xb0/x80 GLAGOLITIC CAPITAL LETTER AZU
+ <U2C01>     /xe2/xb0/x81 GLAGOLITIC CAPITAL LETTER BUKY
+ <U2C02>     /xe2/xb0/x82 GLAGOLITIC CAPITAL LETTER VEDE
+@@ -9278,6 +9851,7 @@ CHARMAP
+ <U2C6D>     /xe2/xb1/xad LATIN CAPITAL LETTER ALPHA
+ <U2C6E>     /xe2/xb1/xae LATIN CAPITAL LETTER M WITH HOOK
+ <U2C6F>     /xe2/xb1/xaf LATIN CAPITAL LETTER TURNED A
++<U2C70>     /xe2/xb1/xb0 LATIN CAPITAL LETTER TURNED ALPHA
+ <U2C71>     /xe2/xb1/xb1 LATIN SMALL LETTER V WITH RIGHT HOOK
+ <U2C72>     /xe2/xb1/xb2 LATIN CAPITAL LETTER W WITH HOOK
+ <U2C73>     /xe2/xb1/xb3 LATIN SMALL LETTER W WITH HOOK
+@@ -9291,6 +9865,8 @@ CHARMAP
+ <U2C7B>     /xe2/xb1/xbb LATIN LETTER SMALL CAPITAL TURNED E
+ <U2C7C>     /xe2/xb1/xbc LATIN SUBSCRIPT SMALL LETTER J
+ <U2C7D>     /xe2/xb1/xbd MODIFIER LETTER CAPITAL V
++<U2C7E>     /xe2/xb1/xbe LATIN CAPITAL LETTER S WITH SWASH TAIL
++<U2C7F>     /xe2/xb1/xbf LATIN CAPITAL LETTER Z WITH SWASH TAIL
+ <U2C80>     /xe2/xb2/x80 COPTIC CAPITAL LETTER ALFA
+ <U2C81>     /xe2/xb2/x81 COPTIC SMALL LETTER ALFA
+ <U2C82>     /xe2/xb2/x82 COPTIC CAPITAL LETTER VIDA
+@@ -9398,6 +9974,13 @@ CHARMAP
+ <U2CE8>     /xe2/xb3/xa8 COPTIC SYMBOL TAU RO
+ <U2CE9>     /xe2/xb3/xa9 COPTIC SYMBOL KHI RO
+ <U2CEA>     /xe2/xb3/xaa COPTIC SYMBOL SHIMA SIMA
++<U2CEB>     /xe2/xb3/xab COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
++<U2CEC>     /xe2/xb3/xac COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
++<U2CED>     /xe2/xb3/xad COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
++<U2CEE>     /xe2/xb3/xae COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
++<U2CEF>     /xe2/xb3/xaf COPTIC COMBINING NI ABOVE
++<U2CF0>     /xe2/xb3/xb0 COPTIC COMBINING SPIRITUS ASPER
++<U2CF1>     /xe2/xb3/xb1 COPTIC COMBINING SPIRITUS LENIS
+ <U2CF9>     /xe2/xb3/xb9 COPTIC OLD NUBIAN FULL STOP
+ <U2CFA>     /xe2/xb3/xba COPTIC OLD NUBIAN DIRECT QUESTION MARK
+ <U2CFB>     /xe2/xb3/xbb COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+@@ -9498,6 +10081,8 @@ CHARMAP
+ <U2D64>     /xe2/xb5/xa4 TIFINAGH LETTER TAWELLEMET YAZ
+ <U2D65>     /xe2/xb5/xa5 TIFINAGH LETTER YAZZ
+ <U2D6F>     /xe2/xb5/xaf TIFINAGH MODIFIER LETTER LABIALIZATION MARK
++<U2D70>     /xe2/xb5/xb0 TIFINAGH SEPARATOR MARK
++<U2D7F>     /xe2/xb5/xbf TIFINAGH CONSONANT JOINER
+ <U2D80>     /xe2/xb6/x80 ETHIOPIC SYLLABLE LOA
+ <U2D81>     /xe2/xb6/x81 ETHIOPIC SYLLABLE MOA
+ <U2D82>     /xe2/xb6/x82 ETHIOPIC SYLLABLE ROA
+@@ -9658,6 +10243,7 @@ CHARMAP
+ <U2E2E>     /xe2/xb8/xae REVERSED QUESTION MARK
+ <U2E2F>     /xe2/xb8/xaf VERTICAL TILDE
+ <U2E30>     /xe2/xb8/xb0 RING POINT
++<U2E31>     /xe2/xb8/xb1 WORD SEPARATOR MIDDLE DOT
+ <U2E80>     /xe2/xba/x80 CJK RADICAL REPEAT
+ <U2E81>     /xe2/xba/x81 CJK RADICAL CLIFF
+ <U2E82>     /xe2/xba/x82 CJK RADICAL SECOND ONE
+@@ -10427,6 +11013,9 @@ CHARMAP
+ <U31B5>     /xe3/x86/xb5 BOPOMOFO FINAL LETTER T
+ <U31B6>     /xe3/x86/xb6 BOPOMOFO FINAL LETTER K
+ <U31B7>     /xe3/x86/xb7 BOPOMOFO FINAL LETTER H
++<U31B8>     /xe3/x86/xb8 BOPOMOFO LETTER GH
++<U31B9>     /xe3/x86/xb9 BOPOMOFO LETTER LH
++<U31BA>     /xe3/x86/xba BOPOMOFO LETTER ZY
+ <U31C0>     /xe3/x87/x80 CJK STROKE T
+ <U31C1>     /xe3/x87/x81 CJK STROKE WG
+ <U31C2>     /xe3/x87/x82 CJK STROKE XG
+@@ -10546,6 +11135,18 @@ CHARMAP
+ <U3241>     /xe3/x89/x81 PARENTHESIZED IDEOGRAPH REST
+ <U3242>     /xe3/x89/x82 PARENTHESIZED IDEOGRAPH SELF
+ <U3243>     /xe3/x89/x83 PARENTHESIZED IDEOGRAPH REACH
++<U3244>     /xe3/x89/x84 CIRCLED IDEOGRAPH QUESTION
++<U3245>     /xe3/x89/x85 CIRCLED IDEOGRAPH KINDERGARTEN
++<U3246>     /xe3/x89/x86 CIRCLED IDEOGRAPH SCHOOL
++<U3247>     /xe3/x89/x87 CIRCLED IDEOGRAPH KOTO
++<U3248>     /xe3/x89/x88 CIRCLED NUMBER TEN ON BLACK SQUARE
++<U3249>     /xe3/x89/x89 CIRCLED NUMBER TWENTY ON BLACK SQUARE
++<U324A>     /xe3/x89/x8a CIRCLED NUMBER THIRTY ON BLACK SQUARE
++<U324B>     /xe3/x89/x8b CIRCLED NUMBER FORTY ON BLACK SQUARE
++<U324C>     /xe3/x89/x8c CIRCLED NUMBER FIFTY ON BLACK SQUARE
++<U324D>     /xe3/x89/x8d CIRCLED NUMBER SIXTY ON BLACK SQUARE
++<U324E>     /xe3/x89/x8e CIRCLED NUMBER SEVENTY ON BLACK SQUARE
++<U324F>     /xe3/x89/x8f CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+ <U3250>     /xe3/x89/x90 PARTNERSHIP SIGN
+ <U3251>     /xe3/x89/x91 CIRCLED NUMBER TWENTY ONE
+ <U3252>     /xe3/x89/x92 CIRCLED NUMBER TWENTY TWO
+@@ -12691,6 +13292,54 @@ CHARMAP
+ <UA4C4>     /xea/x93/x84 YI RADICAL ZZIET
+ <UA4C5>     /xea/x93/x85 YI RADICAL NBIE
+ <UA4C6>     /xea/x93/x86 YI RADICAL KE
++<UA4D0>     /xea/x93/x90 LISU LETTER BA
++<UA4D1>     /xea/x93/x91 LISU LETTER PA
++<UA4D2>     /xea/x93/x92 LISU LETTER PHA
++<UA4D3>     /xea/x93/x93 LISU LETTER DA
++<UA4D4>     /xea/x93/x94 LISU LETTER TA
++<UA4D5>     /xea/x93/x95 LISU LETTER THA
++<UA4D6>     /xea/x93/x96 LISU LETTER GA
++<UA4D7>     /xea/x93/x97 LISU LETTER KA
++<UA4D8>     /xea/x93/x98 LISU LETTER KHA
++<UA4D9>     /xea/x93/x99 LISU LETTER JA
++<UA4DA>     /xea/x93/x9a LISU LETTER CA
++<UA4DB>     /xea/x93/x9b LISU LETTER CHA
++<UA4DC>     /xea/x93/x9c LISU LETTER DZA
++<UA4DD>     /xea/x93/x9d LISU LETTER TSA
++<UA4DE>     /xea/x93/x9e LISU LETTER TSHA
++<UA4DF>     /xea/x93/x9f LISU LETTER MA
++<UA4E0>     /xea/x93/xa0 LISU LETTER NA
++<UA4E1>     /xea/x93/xa1 LISU LETTER LA
++<UA4E2>     /xea/x93/xa2 LISU LETTER SA
++<UA4E3>     /xea/x93/xa3 LISU LETTER ZHA
++<UA4E4>     /xea/x93/xa4 LISU LETTER ZA
++<UA4E5>     /xea/x93/xa5 LISU LETTER NGA
++<UA4E6>     /xea/x93/xa6 LISU LETTER HA
++<UA4E7>     /xea/x93/xa7 LISU LETTER XA
++<UA4E8>     /xea/x93/xa8 LISU LETTER HHA
++<UA4E9>     /xea/x93/xa9 LISU LETTER FA
++<UA4EA>     /xea/x93/xaa LISU LETTER WA
++<UA4EB>     /xea/x93/xab LISU LETTER SHA
++<UA4EC>     /xea/x93/xac LISU LETTER YA
++<UA4ED>     /xea/x93/xad LISU LETTER GHA
++<UA4EE>     /xea/x93/xae LISU LETTER A
++<UA4EF>     /xea/x93/xaf LISU LETTER AE
++<UA4F0>     /xea/x93/xb0 LISU LETTER E
++<UA4F1>     /xea/x93/xb1 LISU LETTER EU
++<UA4F2>     /xea/x93/xb2 LISU LETTER I
++<UA4F3>     /xea/x93/xb3 LISU LETTER O
++<UA4F4>     /xea/x93/xb4 LISU LETTER U
++<UA4F5>     /xea/x93/xb5 LISU LETTER UE
++<UA4F6>     /xea/x93/xb6 LISU LETTER UH
++<UA4F7>     /xea/x93/xb7 LISU LETTER OE
++<UA4F8>     /xea/x93/xb8 LISU LETTER TONE MYA TI
++<UA4F9>     /xea/x93/xb9 LISU LETTER TONE NA PO
++<UA4FA>     /xea/x93/xba LISU LETTER TONE MYA CYA
++<UA4FB>     /xea/x93/xbb LISU LETTER TONE MYA BO
++<UA4FC>     /xea/x93/xbc LISU LETTER TONE MYA NA
++<UA4FD>     /xea/x93/xbd LISU LETTER TONE MYA JEU
++<UA4FE>     /xea/x93/xbe LISU PUNCTUATION COMMA
++<UA4FF>     /xea/x93/xbf LISU PUNCTUATION FULL STOP
+ <UA500>     /xea/x94/x80 VAI SYLLABLE EE
+ <UA501>     /xea/x94/x81 VAI SYLLABLE EEN
+ <UA502>     /xea/x94/x82 VAI SYLLABLE HEE
+@@ -13023,6 +13672,8 @@ CHARMAP
+ <UA65D>     /xea/x99/x9d CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+ <UA65E>     /xea/x99/x9e CYRILLIC CAPITAL LETTER YN
+ <UA65F>     /xea/x99/x9f CYRILLIC SMALL LETTER YN
++<UA660>     /xea/x99/xa0 CYRILLIC CAPITAL LETTER REVERSED TSE
++<UA661>     /xea/x99/xa1 CYRILLIC SMALL LETTER REVERSED TSE
+ <UA662>     /xea/x99/xa2 CYRILLIC CAPITAL LETTER SOFT DE
+ <UA663>     /xea/x99/xa3 CYRILLIC SMALL LETTER SOFT DE
+ <UA664>     /xea/x99/xa4 CYRILLIC CAPITAL LETTER SOFT EL
+@@ -13069,6 +13720,94 @@ CHARMAP
+ <UA695>     /xea/x9a/x95 CYRILLIC SMALL LETTER HWE
+ <UA696>     /xea/x9a/x96 CYRILLIC CAPITAL LETTER SHWE
+ <UA697>     /xea/x9a/x97 CYRILLIC SMALL LETTER SHWE
++<UA6A0>     /xea/x9a/xa0 BAMUM LETTER A
++<UA6A1>     /xea/x9a/xa1 BAMUM LETTER KA
++<UA6A2>     /xea/x9a/xa2 BAMUM LETTER U
++<UA6A3>     /xea/x9a/xa3 BAMUM LETTER KU
++<UA6A4>     /xea/x9a/xa4 BAMUM LETTER EE
++<UA6A5>     /xea/x9a/xa5 BAMUM LETTER REE
++<UA6A6>     /xea/x9a/xa6 BAMUM LETTER TAE
++<UA6A7>     /xea/x9a/xa7 BAMUM LETTER O
++<UA6A8>     /xea/x9a/xa8 BAMUM LETTER NYI
++<UA6A9>     /xea/x9a/xa9 BAMUM LETTER I
++<UA6AA>     /xea/x9a/xaa BAMUM LETTER LA
++<UA6AB>     /xea/x9a/xab BAMUM LETTER PA
++<UA6AC>     /xea/x9a/xac BAMUM LETTER RII
++<UA6AD>     /xea/x9a/xad BAMUM LETTER RIEE
++<UA6AE>     /xea/x9a/xae BAMUM LETTER LEEEE
++<UA6AF>     /xea/x9a/xaf BAMUM LETTER MEEEE
++<UA6B0>     /xea/x9a/xb0 BAMUM LETTER TAA
++<UA6B1>     /xea/x9a/xb1 BAMUM LETTER NDAA
++<UA6B2>     /xea/x9a/xb2 BAMUM LETTER NJAEM
++<UA6B3>     /xea/x9a/xb3 BAMUM LETTER M
++<UA6B4>     /xea/x9a/xb4 BAMUM LETTER SUU
++<UA6B5>     /xea/x9a/xb5 BAMUM LETTER MU
++<UA6B6>     /xea/x9a/xb6 BAMUM LETTER SHII
++<UA6B7>     /xea/x9a/xb7 BAMUM LETTER SI
++<UA6B8>     /xea/x9a/xb8 BAMUM LETTER SHEUX
++<UA6B9>     /xea/x9a/xb9 BAMUM LETTER SEUX
++<UA6BA>     /xea/x9a/xba BAMUM LETTER KYEE
++<UA6BB>     /xea/x9a/xbb BAMUM LETTER KET
++<UA6BC>     /xea/x9a/xbc BAMUM LETTER NUAE
++<UA6BD>     /xea/x9a/xbd BAMUM LETTER NU
++<UA6BE>     /xea/x9a/xbe BAMUM LETTER NJUAE
++<UA6BF>     /xea/x9a/xbf BAMUM LETTER YOQ
++<UA6C0>     /xea/x9b/x80 BAMUM LETTER SHU
++<UA6C1>     /xea/x9b/x81 BAMUM LETTER YUQ
++<UA6C2>     /xea/x9b/x82 BAMUM LETTER YA
++<UA6C3>     /xea/x9b/x83 BAMUM LETTER NSHA
++<UA6C4>     /xea/x9b/x84 BAMUM LETTER KEUX
++<UA6C5>     /xea/x9b/x85 BAMUM LETTER PEUX
++<UA6C6>     /xea/x9b/x86 BAMUM LETTER NJEE
++<UA6C7>     /xea/x9b/x87 BAMUM LETTER NTEE
++<UA6C8>     /xea/x9b/x88 BAMUM LETTER PUE
++<UA6C9>     /xea/x9b/x89 BAMUM LETTER WUE
++<UA6CA>     /xea/x9b/x8a BAMUM LETTER PEE
++<UA6CB>     /xea/x9b/x8b BAMUM LETTER FEE
++<UA6CC>     /xea/x9b/x8c BAMUM LETTER RU
++<UA6CD>     /xea/x9b/x8d BAMUM LETTER LU
++<UA6CE>     /xea/x9b/x8e BAMUM LETTER MI
++<UA6CF>     /xea/x9b/x8f BAMUM LETTER NI
++<UA6D0>     /xea/x9b/x90 BAMUM LETTER REUX
++<UA6D1>     /xea/x9b/x91 BAMUM LETTER RAE
++<UA6D2>     /xea/x9b/x92 BAMUM LETTER KEN
++<UA6D3>     /xea/x9b/x93 BAMUM LETTER NGKWAEN
++<UA6D4>     /xea/x9b/x94 BAMUM LETTER NGGA
++<UA6D5>     /xea/x9b/x95 BAMUM LETTER NGA
++<UA6D6>     /xea/x9b/x96 BAMUM LETTER SHO
++<UA6D7>     /xea/x9b/x97 BAMUM LETTER PUAE
++<UA6D8>     /xea/x9b/x98 BAMUM LETTER FU
++<UA6D9>     /xea/x9b/x99 BAMUM LETTER FOM
++<UA6DA>     /xea/x9b/x9a BAMUM LETTER WA
++<UA6DB>     /xea/x9b/x9b BAMUM LETTER NA
++<UA6DC>     /xea/x9b/x9c BAMUM LETTER LI
++<UA6DD>     /xea/x9b/x9d BAMUM LETTER PI
++<UA6DE>     /xea/x9b/x9e BAMUM LETTER LOQ
++<UA6DF>     /xea/x9b/x9f BAMUM LETTER KO
++<UA6E0>     /xea/x9b/xa0 BAMUM LETTER MBEN
++<UA6E1>     /xea/x9b/xa1 BAMUM LETTER REN
++<UA6E2>     /xea/x9b/xa2 BAMUM LETTER MEN
++<UA6E3>     /xea/x9b/xa3 BAMUM LETTER MA
++<UA6E4>     /xea/x9b/xa4 BAMUM LETTER TI
++<UA6E5>     /xea/x9b/xa5 BAMUM LETTER KI
++<UA6E6>     /xea/x9b/xa6 BAMUM LETTER MO
++<UA6E7>     /xea/x9b/xa7 BAMUM LETTER MBAA
++<UA6E8>     /xea/x9b/xa8 BAMUM LETTER TET
++<UA6E9>     /xea/x9b/xa9 BAMUM LETTER KPA
++<UA6EA>     /xea/x9b/xaa BAMUM LETTER TEN
++<UA6EB>     /xea/x9b/xab BAMUM LETTER NTUU
++<UA6EC>     /xea/x9b/xac BAMUM LETTER SAMBA
++<UA6ED>     /xea/x9b/xad BAMUM LETTER FAAMAE
++<UA6EE>     /xea/x9b/xae BAMUM LETTER KOVUU
++<UA6EF>     /xea/x9b/xaf BAMUM LETTER KOGHOM
++<UA6F0>     /xea/x9b/xb0 BAMUM COMBINING MARK KOQNDON
++<UA6F1>     /xea/x9b/xb1 BAMUM COMBINING MARK TUKWENTIS
++<UA6F2>     /xea/x9b/xb2 BAMUM NJAEMLI
++<UA6F3>     /xea/x9b/xb3 BAMUM FULL STOP
++<UA6F4>     /xea/x9b/xb4 BAMUM COLON
++<UA6F5>     /xea/x9b/xb5 BAMUM COMMA
++<UA6F6>     /xea/x9b/xb6 BAMUM SEMICOLON
++<UA6F7>     /xea/x9b/xb7 BAMUM QUESTION MARK
+ <UA700>     /xea/x9c/x80 MODIFIER LETTER CHINESE TONE YIN PING
+ <UA701>     /xea/x9c/x81 MODIFIER LETTER CHINESE TONE YANG PING
+ <UA702>     /xea/x9c/x82 MODIFIER LETTER CHINESE TONE YIN SHANG
+@@ -13210,6 +13949,21 @@ CHARMAP
+ <UA78A>     /xea/x9e/x8a MODIFIER LETTER SHORT EQUALS SIGN
+ <UA78B>     /xea/x9e/x8b LATIN CAPITAL LETTER SALTILLO
+ <UA78C>     /xea/x9e/x8c LATIN SMALL LETTER SALTILLO
++<UA78D>     /xea/x9e/x8d LATIN CAPITAL LETTER TURNED H
++<UA78E>     /xea/x9e/x8e LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
++<UA790>     /xea/x9e/x90 LATIN CAPITAL LETTER N WITH DESCENDER
++<UA791>     /xea/x9e/x91 LATIN SMALL LETTER N WITH DESCENDER
++<UA7A0>     /xea/x9e/xa0 LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
++<UA7A1>     /xea/x9e/xa1 LATIN SMALL LETTER G WITH OBLIQUE STROKE
++<UA7A2>     /xea/x9e/xa2 LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
++<UA7A3>     /xea/x9e/xa3 LATIN SMALL LETTER K WITH OBLIQUE STROKE
++<UA7A4>     /xea/x9e/xa4 LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
++<UA7A5>     /xea/x9e/xa5 LATIN SMALL LETTER N WITH OBLIQUE STROKE
++<UA7A6>     /xea/x9e/xa6 LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
++<UA7A7>     /xea/x9e/xa7 LATIN SMALL LETTER R WITH OBLIQUE STROKE
++<UA7A8>     /xea/x9e/xa8 LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
++<UA7A9>     /xea/x9e/xa9 LATIN SMALL LETTER S WITH OBLIQUE STROKE
++<UA7FA>     /xea/x9f/xba LATIN LETTER SMALL CAPITAL TURNED M
+ <UA7FB>     /xea/x9f/xbb LATIN EPIGRAPHIC LETTER REVERSED F
+ <UA7FC>     /xea/x9f/xbc LATIN EPIGRAPHIC LETTER REVERSED P
+ <UA7FD>     /xea/x9f/xbd LATIN EPIGRAPHIC LETTER INVERTED M
+@@ -13259,6 +14013,16 @@ CHARMAP
+ <UA829>     /xea/xa0/xa9 SYLOTI NAGRI POETRY MARK-2
+ <UA82A>     /xea/xa0/xaa SYLOTI NAGRI POETRY MARK-3
+ <UA82B>     /xea/xa0/xab SYLOTI NAGRI POETRY MARK-4
++<UA830>     /xea/xa0/xb0 NORTH INDIC FRACTION ONE QUARTER
++<UA831>     /xea/xa0/xb1 NORTH INDIC FRACTION ONE HALF
++<UA832>     /xea/xa0/xb2 NORTH INDIC FRACTION THREE QUARTERS
++<UA833>     /xea/xa0/xb3 NORTH INDIC FRACTION ONE SIXTEENTH
++<UA834>     /xea/xa0/xb4 NORTH INDIC FRACTION ONE EIGHTH
++<UA835>     /xea/xa0/xb5 NORTH INDIC FRACTION THREE SIXTEENTHS
++<UA836>     /xea/xa0/xb6 NORTH INDIC QUARTER MARK
++<UA837>     /xea/xa0/xb7 NORTH INDIC PLACEHOLDER MARK
++<UA838>     /xea/xa0/xb8 NORTH INDIC RUPEE MARK
++<UA839>     /xea/xa0/xb9 NORTH INDIC QUANTITY MARK
+ <UA840>     /xea/xa1/x80 PHAGS-PA LETTER KA
+ <UA841>     /xea/xa1/x81 PHAGS-PA LETTER KHA
+ <UA842>     /xea/xa1/x82 PHAGS-PA LETTER GA
+@@ -13396,6 +14160,34 @@ CHARMAP
+ <UA8D7>     /xea/xa3/x97 SAURASHTRA DIGIT SEVEN
+ <UA8D8>     /xea/xa3/x98 SAURASHTRA DIGIT EIGHT
+ <UA8D9>     /xea/xa3/x99 SAURASHTRA DIGIT NINE
++<UA8E0>     /xea/xa3/xa0 COMBINING DEVANAGARI DIGIT ZERO
++<UA8E1>     /xea/xa3/xa1 COMBINING DEVANAGARI DIGIT ONE
++<UA8E2>     /xea/xa3/xa2 COMBINING DEVANAGARI DIGIT TWO
++<UA8E3>     /xea/xa3/xa3 COMBINING DEVANAGARI DIGIT THREE
++<UA8E4>     /xea/xa3/xa4 COMBINING DEVANAGARI DIGIT FOUR
++<UA8E5>     /xea/xa3/xa5 COMBINING DEVANAGARI DIGIT FIVE
++<UA8E6>     /xea/xa3/xa6 COMBINING DEVANAGARI DIGIT SIX
++<UA8E7>     /xea/xa3/xa7 COMBINING DEVANAGARI DIGIT SEVEN
++<UA8E8>     /xea/xa3/xa8 COMBINING DEVANAGARI DIGIT EIGHT
++<UA8E9>     /xea/xa3/xa9 COMBINING DEVANAGARI DIGIT NINE
++<UA8EA>     /xea/xa3/xaa COMBINING DEVANAGARI LETTER A
++<UA8EB>     /xea/xa3/xab COMBINING DEVANAGARI LETTER U
++<UA8EC>     /xea/xa3/xac COMBINING DEVANAGARI LETTER KA
++<UA8ED>     /xea/xa3/xad COMBINING DEVANAGARI LETTER NA
++<UA8EE>     /xea/xa3/xae COMBINING DEVANAGARI LETTER PA
++<UA8EF>     /xea/xa3/xaf COMBINING DEVANAGARI LETTER RA
++<UA8F0>     /xea/xa3/xb0 COMBINING DEVANAGARI LETTER VI
++<UA8F1>     /xea/xa3/xb1 COMBINING DEVANAGARI SIGN AVAGRAHA
++<UA8F2>     /xea/xa3/xb2 DEVANAGARI SIGN SPACING CANDRABINDU
++<UA8F3>     /xea/xa3/xb3 DEVANAGARI SIGN CANDRABINDU VIRAMA
++<UA8F4>     /xea/xa3/xb4 DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
++<UA8F5>     /xea/xa3/xb5 DEVANAGARI SIGN CANDRABINDU TWO
++<UA8F6>     /xea/xa3/xb6 DEVANAGARI SIGN CANDRABINDU THREE
++<UA8F7>     /xea/xa3/xb7 DEVANAGARI SIGN CANDRABINDU AVAGRAHA
++<UA8F8>     /xea/xa3/xb8 DEVANAGARI SIGN PUSHPIKA
++<UA8F9>     /xea/xa3/xb9 DEVANAGARI GAP FILLER
++<UA8FA>     /xea/xa3/xba DEVANAGARI CARET
++<UA8FB>     /xea/xa3/xbb DEVANAGARI HEADSTROKE
+ <UA900>     /xea/xa4/x80 KAYAH LI DIGIT ZERO
+ <UA901>     /xea/xa4/x81 KAYAH LI DIGIT ONE
+ <UA902>     /xea/xa4/x82 KAYAH LI DIGIT TWO
+@@ -13481,6 +14273,126 @@ CHARMAP
+ <UA952>     /xea/xa5/x92 REJANG CONSONANT SIGN H
+ <UA953>     /xea/xa5/x93 REJANG VIRAMA
+ <UA95F>     /xea/xa5/x9f REJANG SECTION MARK
++<UA960>     /xea/xa5/xa0 HANGUL CHOSEONG TIKEUT-MIEUM
++<UA961>     /xea/xa5/xa1 HANGUL CHOSEONG TIKEUT-PIEUP
++<UA962>     /xea/xa5/xa2 HANGUL CHOSEONG TIKEUT-SIOS
++<UA963>     /xea/xa5/xa3 HANGUL CHOSEONG TIKEUT-CIEUC
++<UA964>     /xea/xa5/xa4 HANGUL CHOSEONG RIEUL-KIYEOK
++<UA965>     /xea/xa5/xa5 HANGUL CHOSEONG RIEUL-SSANGKIYEOK
++<UA966>     /xea/xa5/xa6 HANGUL CHOSEONG RIEUL-TIKEUT
++<UA967>     /xea/xa5/xa7 HANGUL CHOSEONG RIEUL-SSANGTIKEUT
++<UA968>     /xea/xa5/xa8 HANGUL CHOSEONG RIEUL-MIEUM
++<UA969>     /xea/xa5/xa9 HANGUL CHOSEONG RIEUL-PIEUP
++<UA96A>     /xea/xa5/xaa HANGUL CHOSEONG RIEUL-SSANGPIEUP
++<UA96B>     /xea/xa5/xab HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
++<UA96C>     /xea/xa5/xac HANGUL CHOSEONG RIEUL-SIOS
++<UA96D>     /xea/xa5/xad HANGUL CHOSEONG RIEUL-CIEUC
++<UA96E>     /xea/xa5/xae HANGUL CHOSEONG RIEUL-KHIEUKH
++<UA96F>     /xea/xa5/xaf HANGUL CHOSEONG MIEUM-KIYEOK
++<UA970>     /xea/xa5/xb0 HANGUL CHOSEONG MIEUM-TIKEUT
++<UA971>     /xea/xa5/xb1 HANGUL CHOSEONG MIEUM-SIOS
++<UA972>     /xea/xa5/xb2 HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
++<UA973>     /xea/xa5/xb3 HANGUL CHOSEONG PIEUP-KHIEUKH
++<UA974>     /xea/xa5/xb4 HANGUL CHOSEONG PIEUP-HIEUH
++<UA975>     /xea/xa5/xb5 HANGUL CHOSEONG SSANGSIOS-PIEUP
++<UA976>     /xea/xa5/xb6 HANGUL CHOSEONG IEUNG-RIEUL
++<UA977>     /xea/xa5/xb7 HANGUL CHOSEONG IEUNG-HIEUH
++<UA978>     /xea/xa5/xb8 HANGUL CHOSEONG SSANGCIEUC-HIEUH
++<UA979>     /xea/xa5/xb9 HANGUL CHOSEONG SSANGTHIEUTH
++<UA97A>     /xea/xa5/xba HANGUL CHOSEONG PHIEUPH-HIEUH
++<UA97B>     /xea/xa5/xbb HANGUL CHOSEONG HIEUH-SIOS
++<UA97C>     /xea/xa5/xbc HANGUL CHOSEONG SSANGYEORINHIEUH
++<UA980>     /xea/xa6/x80 JAVANESE SIGN PANYANGGA
++<UA981>     /xea/xa6/x81 JAVANESE SIGN CECAK
++<UA982>     /xea/xa6/x82 JAVANESE SIGN LAYAR
++<UA983>     /xea/xa6/x83 JAVANESE SIGN WIGNYAN
++<UA984>     /xea/xa6/x84 JAVANESE LETTER A
++<UA985>     /xea/xa6/x85 JAVANESE LETTER I KAWI
++<UA986>     /xea/xa6/x86 JAVANESE LETTER I
++<UA987>     /xea/xa6/x87 JAVANESE LETTER II
++<UA988>     /xea/xa6/x88 JAVANESE LETTER U
++<UA989>     /xea/xa6/x89 JAVANESE LETTER PA CEREK
++<UA98A>     /xea/xa6/x8a JAVANESE LETTER NGA LELET
++<UA98B>     /xea/xa6/x8b JAVANESE LETTER NGA LELET RASWADI
++<UA98C>     /xea/xa6/x8c JAVANESE LETTER E
++<UA98D>     /xea/xa6/x8d JAVANESE LETTER AI
++<UA98E>     /xea/xa6/x8e JAVANESE LETTER O
++<UA98F>     /xea/xa6/x8f JAVANESE LETTER KA
++<UA990>     /xea/xa6/x90 JAVANESE LETTER KA SASAK
++<UA991>     /xea/xa6/x91 JAVANESE LETTER KA MURDA
++<UA992>     /xea/xa6/x92 JAVANESE LETTER GA
++<UA993>     /xea/xa6/x93 JAVANESE LETTER GA MURDA
++<UA994>     /xea/xa6/x94 JAVANESE LETTER NGA
++<UA995>     /xea/xa6/x95 JAVANESE LETTER CA
++<UA996>     /xea/xa6/x96 JAVANESE LETTER CA MURDA
++<UA997>     /xea/xa6/x97 JAVANESE LETTER JA
++<UA998>     /xea/xa6/x98 JAVANESE LETTER NYA MURDA
++<UA999>     /xea/xa6/x99 JAVANESE LETTER JA MAHAPRANA
++<UA99A>     /xea/xa6/x9a JAVANESE LETTER NYA
++<UA99B>     /xea/xa6/x9b JAVANESE LETTER TTA
++<UA99C>     /xea/xa6/x9c JAVANESE LETTER TTA MAHAPRANA
++<UA99D>     /xea/xa6/x9d JAVANESE LETTER DDA
++<UA99E>     /xea/xa6/x9e JAVANESE LETTER DDA MAHAPRANA
++<UA99F>     /xea/xa6/x9f JAVANESE LETTER NA MURDA
++<UA9A0>     /xea/xa6/xa0 JAVANESE LETTER TA
++<UA9A1>     /xea/xa6/xa1 JAVANESE LETTER TA MURDA
++<UA9A2>     /xea/xa6/xa2 JAVANESE LETTER DA
++<UA9A3>     /xea/xa6/xa3 JAVANESE LETTER DA MAHAPRANA
++<UA9A4>     /xea/xa6/xa4 JAVANESE LETTER NA
++<UA9A5>     /xea/xa6/xa5 JAVANESE LETTER PA
++<UA9A6>     /xea/xa6/xa6 JAVANESE LETTER PA MURDA
++<UA9A7>     /xea/xa6/xa7 JAVANESE LETTER BA
++<UA9A8>     /xea/xa6/xa8 JAVANESE LETTER BA MURDA
++<UA9A9>     /xea/xa6/xa9 JAVANESE LETTER MA
++<UA9AA>     /xea/xa6/xaa JAVANESE LETTER YA
++<UA9AB>     /xea/xa6/xab JAVANESE LETTER RA
++<UA9AC>     /xea/xa6/xac JAVANESE LETTER RA AGUNG
++<UA9AD>     /xea/xa6/xad JAVANESE LETTER LA
++<UA9AE>     /xea/xa6/xae JAVANESE LETTER WA
++<UA9AF>     /xea/xa6/xaf JAVANESE LETTER SA MURDA
++<UA9B0>     /xea/xa6/xb0 JAVANESE LETTER SA MAHAPRANA
++<UA9B1>     /xea/xa6/xb1 JAVANESE LETTER SA
++<UA9B2>     /xea/xa6/xb2 JAVANESE LETTER HA
++<UA9B3>     /xea/xa6/xb3 JAVANESE SIGN CECAK TELU
++<UA9B4>     /xea/xa6/xb4 JAVANESE VOWEL SIGN TARUNG
++<UA9B5>     /xea/xa6/xb5 JAVANESE VOWEL SIGN TOLONG
++<UA9B6>     /xea/xa6/xb6 JAVANESE VOWEL SIGN WULU
++<UA9B7>     /xea/xa6/xb7 JAVANESE VOWEL SIGN WULU MELIK
++<UA9B8>     /xea/xa6/xb8 JAVANESE VOWEL SIGN SUKU
++<UA9B9>     /xea/xa6/xb9 JAVANESE VOWEL SIGN SUKU MENDUT
++<UA9BA>     /xea/xa6/xba JAVANESE VOWEL SIGN TALING
++<UA9BB>     /xea/xa6/xbb JAVANESE VOWEL SIGN DIRGA MURE
++<UA9BC>     /xea/xa6/xbc JAVANESE VOWEL SIGN PEPET
++<UA9BD>     /xea/xa6/xbd JAVANESE CONSONANT SIGN KERET
++<UA9BE>     /xea/xa6/xbe JAVANESE CONSONANT SIGN PENGKAL
++<UA9BF>     /xea/xa6/xbf JAVANESE CONSONANT SIGN CAKRA
++<UA9C0>     /xea/xa7/x80 JAVANESE PANGKON
++<UA9C1>     /xea/xa7/x81 JAVANESE LEFT RERENGGAN
++<UA9C2>     /xea/xa7/x82 JAVANESE RIGHT RERENGGAN
++<UA9C3>     /xea/xa7/x83 JAVANESE PADA ANDAP
++<UA9C4>     /xea/xa7/x84 JAVANESE PADA MADYA
++<UA9C5>     /xea/xa7/x85 JAVANESE PADA LUHUR
++<UA9C6>     /xea/xa7/x86 JAVANESE PADA WINDU
++<UA9C7>     /xea/xa7/x87 JAVANESE PADA PANGKAT
++<UA9C8>     /xea/xa7/x88 JAVANESE PADA LINGSA
++<UA9C9>     /xea/xa7/x89 JAVANESE PADA LUNGSI
++<UA9CA>     /xea/xa7/x8a JAVANESE PADA ADEG
++<UA9CB>     /xea/xa7/x8b JAVANESE PADA ADEG ADEG
++<UA9CC>     /xea/xa7/x8c JAVANESE PADA PISELEH
++<UA9CD>     /xea/xa7/x8d JAVANESE TURNED PADA PISELEH
++<UA9CF>     /xea/xa7/x8f JAVANESE PANGRANGKEP
++<UA9D0>     /xea/xa7/x90 JAVANESE DIGIT ZERO
++<UA9D1>     /xea/xa7/x91 JAVANESE DIGIT ONE
++<UA9D2>     /xea/xa7/x92 JAVANESE DIGIT TWO
++<UA9D3>     /xea/xa7/x93 JAVANESE DIGIT THREE
++<UA9D4>     /xea/xa7/x94 JAVANESE DIGIT FOUR
++<UA9D5>     /xea/xa7/x95 JAVANESE DIGIT FIVE
++<UA9D6>     /xea/xa7/x96 JAVANESE DIGIT SIX
++<UA9D7>     /xea/xa7/x97 JAVANESE DIGIT SEVEN
++<UA9D8>     /xea/xa7/x98 JAVANESE DIGIT EIGHT
++<UA9D9>     /xea/xa7/x99 JAVANESE DIGIT NINE
++<UA9DE>     /xea/xa7/x9e JAVANESE PADA TIRTA TUMETES
++<UA9DF>     /xea/xa7/x9f JAVANESE PADA ISEN-ISEN
+ <UAA00>     /xea/xa8/x80 CHAM LETTER A
+ <UAA01>     /xea/xa8/x81 CHAM LETTER I
+ <UAA02>     /xea/xa8/x82 CHAM LETTER U
+@@ -13564,6 +14476,194 @@ CHARMAP
+ <UAA5D>     /xea/xa9/x9d CHAM PUNCTUATION DANDA
+ <UAA5E>     /xea/xa9/x9e CHAM PUNCTUATION DOUBLE DANDA
+ <UAA5F>     /xea/xa9/x9f CHAM PUNCTUATION TRIPLE DANDA
++<UAA60>     /xea/xa9/xa0 MYANMAR LETTER KHAMTI GA
++<UAA61>     /xea/xa9/xa1 MYANMAR LETTER KHAMTI CA
++<UAA62>     /xea/xa9/xa2 MYANMAR LETTER KHAMTI CHA
++<UAA63>     /xea/xa9/xa3 MYANMAR LETTER KHAMTI JA
++<UAA64>     /xea/xa9/xa4 MYANMAR LETTER KHAMTI JHA
++<UAA65>     /xea/xa9/xa5 MYANMAR LETTER KHAMTI NYA
++<UAA66>     /xea/xa9/xa6 MYANMAR LETTER KHAMTI TTA
++<UAA67>     /xea/xa9/xa7 MYANMAR LETTER KHAMTI TTHA
++<UAA68>     /xea/xa9/xa8 MYANMAR LETTER KHAMTI DDA
++<UAA69>     /xea/xa9/xa9 MYANMAR LETTER KHAMTI DDHA
++<UAA6A>     /xea/xa9/xaa MYANMAR LETTER KHAMTI DHA
++<UAA6B>     /xea/xa9/xab MYANMAR LETTER KHAMTI NA
++<UAA6C>     /xea/xa9/xac MYANMAR LETTER KHAMTI SA
++<UAA6D>     /xea/xa9/xad MYANMAR LETTER KHAMTI HA
++<UAA6E>     /xea/xa9/xae MYANMAR LETTER KHAMTI HHA
++<UAA6F>     /xea/xa9/xaf MYANMAR LETTER KHAMTI FA
++<UAA70>     /xea/xa9/xb0 MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
++<UAA71>     /xea/xa9/xb1 MYANMAR LETTER KHAMTI XA
++<UAA72>     /xea/xa9/xb2 MYANMAR LETTER KHAMTI ZA
++<UAA73>     /xea/xa9/xb3 MYANMAR LETTER KHAMTI RA
++<UAA74>     /xea/xa9/xb4 MYANMAR LOGOGRAM KHAMTI OAY
++<UAA75>     /xea/xa9/xb5 MYANMAR LOGOGRAM KHAMTI QN
++<UAA76>     /xea/xa9/xb6 MYANMAR LOGOGRAM KHAMTI HM
++<UAA77>     /xea/xa9/xb7 MYANMAR SYMBOL AITON EXCLAMATION
++<UAA78>     /xea/xa9/xb8 MYANMAR SYMBOL AITON ONE
++<UAA79>     /xea/xa9/xb9 MYANMAR SYMBOL AITON TWO
++<UAA7A>     /xea/xa9/xba MYANMAR LETTER AITON RA
++<UAA7B>     /xea/xa9/xbb MYANMAR SIGN PAO KAREN TONE
++<UAA80>     /xea/xaa/x80 TAI VIET LETTER LOW KO
++<UAA81>     /xea/xaa/x81 TAI VIET LETTER HIGH KO
++<UAA82>     /xea/xaa/x82 TAI VIET LETTER LOW KHO
++<UAA83>     /xea/xaa/x83 TAI VIET LETTER HIGH KHO
++<UAA84>     /xea/xaa/x84 TAI VIET LETTER LOW KHHO
++<UAA85>     /xea/xaa/x85 TAI VIET LETTER HIGH KHHO
++<UAA86>     /xea/xaa/x86 TAI VIET LETTER LOW GO
++<UAA87>     /xea/xaa/x87 TAI VIET LETTER HIGH GO
++<UAA88>     /xea/xaa/x88 TAI VIET LETTER LOW NGO
++<UAA89>     /xea/xaa/x89 TAI VIET LETTER HIGH NGO
++<UAA8A>     /xea/xaa/x8a TAI VIET LETTER LOW CO
++<UAA8B>     /xea/xaa/x8b TAI VIET LETTER HIGH CO
++<UAA8C>     /xea/xaa/x8c TAI VIET LETTER LOW CHO
++<UAA8D>     /xea/xaa/x8d TAI VIET LETTER HIGH CHO
++<UAA8E>     /xea/xaa/x8e TAI VIET LETTER LOW SO
++<UAA8F>     /xea/xaa/x8f TAI VIET LETTER HIGH SO
++<UAA90>     /xea/xaa/x90 TAI VIET LETTER LOW NYO
++<UAA91>     /xea/xaa/x91 TAI VIET LETTER HIGH NYO
++<UAA92>     /xea/xaa/x92 TAI VIET LETTER LOW DO
++<UAA93>     /xea/xaa/x93 TAI VIET LETTER HIGH DO
++<UAA94>     /xea/xaa/x94 TAI VIET LETTER LOW TO
++<UAA95>     /xea/xaa/x95 TAI VIET LETTER HIGH TO
++<UAA96>     /xea/xaa/x96 TAI VIET LETTER LOW THO
++<UAA97>     /xea/xaa/x97 TAI VIET LETTER HIGH THO
++<UAA98>     /xea/xaa/x98 TAI VIET LETTER LOW NO
++<UAA99>     /xea/xaa/x99 TAI VIET LETTER HIGH NO
++<UAA9A>     /xea/xaa/x9a TAI VIET LETTER LOW BO
++<UAA9B>     /xea/xaa/x9b TAI VIET LETTER HIGH BO
++<UAA9C>     /xea/xaa/x9c TAI VIET LETTER LOW PO
++<UAA9D>     /xea/xaa/x9d TAI VIET LETTER HIGH PO
++<UAA9E>     /xea/xaa/x9e TAI VIET LETTER LOW PHO
++<UAA9F>     /xea/xaa/x9f TAI VIET LETTER HIGH PHO
++<UAAA0>     /xea/xaa/xa0 TAI VIET LETTER LOW FO
++<UAAA1>     /xea/xaa/xa1 TAI VIET LETTER HIGH FO
++<UAAA2>     /xea/xaa/xa2 TAI VIET LETTER LOW MO
++<UAAA3>     /xea/xaa/xa3 TAI VIET LETTER HIGH MO
++<UAAA4>     /xea/xaa/xa4 TAI VIET LETTER LOW YO
++<UAAA5>     /xea/xaa/xa5 TAI VIET LETTER HIGH YO
++<UAAA6>     /xea/xaa/xa6 TAI VIET LETTER LOW RO
++<UAAA7>     /xea/xaa/xa7 TAI VIET LETTER HIGH RO
++<UAAA8>     /xea/xaa/xa8 TAI VIET LETTER LOW LO
++<UAAA9>     /xea/xaa/xa9 TAI VIET LETTER HIGH LO
++<UAAAA>     /xea/xaa/xaa TAI VIET LETTER LOW VO
++<UAAAB>     /xea/xaa/xab TAI VIET LETTER HIGH VO
++<UAAAC>     /xea/xaa/xac TAI VIET LETTER LOW HO
++<UAAAD>     /xea/xaa/xad TAI VIET LETTER HIGH HO
++<UAAAE>     /xea/xaa/xae TAI VIET LETTER LOW O
++<UAAAF>     /xea/xaa/xaf TAI VIET LETTER HIGH O
++<UAAB0>     /xea/xaa/xb0 TAI VIET MAI KANG
++<UAAB1>     /xea/xaa/xb1 TAI VIET VOWEL AA
++<UAAB2>     /xea/xaa/xb2 TAI VIET VOWEL I
++<UAAB3>     /xea/xaa/xb3 TAI VIET VOWEL UE
++<UAAB4>     /xea/xaa/xb4 TAI VIET VOWEL U
++<UAAB5>     /xea/xaa/xb5 TAI VIET VOWEL E
++<UAAB6>     /xea/xaa/xb6 TAI VIET VOWEL O
++<UAAB7>     /xea/xaa/xb7 TAI VIET MAI KHIT
++<UAAB8>     /xea/xaa/xb8 TAI VIET VOWEL IA
++<UAAB9>     /xea/xaa/xb9 TAI VIET VOWEL UEA
++<UAABA>     /xea/xaa/xba TAI VIET VOWEL UA
++<UAABB>     /xea/xaa/xbb TAI VIET VOWEL AUE
++<UAABC>     /xea/xaa/xbc TAI VIET VOWEL AY
++<UAABD>     /xea/xaa/xbd TAI VIET VOWEL AN
++<UAABE>     /xea/xaa/xbe TAI VIET VOWEL AM
++<UAABF>     /xea/xaa/xbf TAI VIET TONE MAI EK
++<UAAC0>     /xea/xab/x80 TAI VIET TONE MAI NUENG
++<UAAC1>     /xea/xab/x81 TAI VIET TONE MAI THO
++<UAAC2>     /xea/xab/x82 TAI VIET TONE MAI SONG
++<UAADB>     /xea/xab/x9b TAI VIET SYMBOL KON
++<UAADC>     /xea/xab/x9c TAI VIET SYMBOL NUENG
++<UAADD>     /xea/xab/x9d TAI VIET SYMBOL SAM
++<UAADE>     /xea/xab/x9e TAI VIET SYMBOL HO HOI
++<UAADF>     /xea/xab/x9f TAI VIET SYMBOL KOI KOI
++<UAB01>     /xea/xac/x81 ETHIOPIC SYLLABLE TTHU
++<UAB02>     /xea/xac/x82 ETHIOPIC SYLLABLE TTHI
++<UAB03>     /xea/xac/x83 ETHIOPIC SYLLABLE TTHAA
++<UAB04>     /xea/xac/x84 ETHIOPIC SYLLABLE TTHEE
++<UAB05>     /xea/xac/x85 ETHIOPIC SYLLABLE TTHE
++<UAB06>     /xea/xac/x86 ETHIOPIC SYLLABLE TTHO
++<UAB09>     /xea/xac/x89 ETHIOPIC SYLLABLE DDHU
++<UAB0A>     /xea/xac/x8a ETHIOPIC SYLLABLE DDHI
++<UAB0B>     /xea/xac/x8b ETHIOPIC SYLLABLE DDHAA
++<UAB0C>     /xea/xac/x8c ETHIOPIC SYLLABLE DDHEE
++<UAB0D>     /xea/xac/x8d ETHIOPIC SYLLABLE DDHE
++<UAB0E>     /xea/xac/x8e ETHIOPIC SYLLABLE DDHO
++<UAB11>     /xea/xac/x91 ETHIOPIC SYLLABLE DZU
++<UAB12>     /xea/xac/x92 ETHIOPIC SYLLABLE DZI
++<UAB13>     /xea/xac/x93 ETHIOPIC SYLLABLE DZAA
++<UAB14>     /xea/xac/x94 ETHIOPIC SYLLABLE DZEE
++<UAB15>     /xea/xac/x95 ETHIOPIC SYLLABLE DZE
++<UAB16>     /xea/xac/x96 ETHIOPIC SYLLABLE DZO
++<UAB20>     /xea/xac/xa0 ETHIOPIC SYLLABLE CCHHA
++<UAB21>     /xea/xac/xa1 ETHIOPIC SYLLABLE CCHHU
++<UAB22>     /xea/xac/xa2 ETHIOPIC SYLLABLE CCHHI
++<UAB23>     /xea/xac/xa3 ETHIOPIC SYLLABLE CCHHAA
++<UAB24>     /xea/xac/xa4 ETHIOPIC SYLLABLE CCHHEE
++<UAB25>     /xea/xac/xa5 ETHIOPIC SYLLABLE CCHHE
++<UAB26>     /xea/xac/xa6 ETHIOPIC SYLLABLE CCHHO
++<UAB28>     /xea/xac/xa8 ETHIOPIC SYLLABLE BBA
++<UAB29>     /xea/xac/xa9 ETHIOPIC SYLLABLE BBU
++<UAB2A>     /xea/xac/xaa ETHIOPIC SYLLABLE BBI
++<UAB2B>     /xea/xac/xab ETHIOPIC SYLLABLE BBAA
++<UAB2C>     /xea/xac/xac ETHIOPIC SYLLABLE BBEE
++<UAB2D>     /xea/xac/xad ETHIOPIC SYLLABLE BBE
++<UAB2E>     /xea/xac/xae ETHIOPIC SYLLABLE BBO
++<UABC0>     /xea/xaf/x80 MEETEI MAYEK LETTER KOK
++<UABC1>     /xea/xaf/x81 MEETEI MAYEK LETTER SAM
++<UABC2>     /xea/xaf/x82 MEETEI MAYEK LETTER LAI
++<UABC3>     /xea/xaf/x83 MEETEI MAYEK LETTER MIT
++<UABC4>     /xea/xaf/x84 MEETEI MAYEK LETTER PA
++<UABC5>     /xea/xaf/x85 MEETEI MAYEK LETTER NA
++<UABC6>     /xea/xaf/x86 MEETEI MAYEK LETTER CHIL
++<UABC7>     /xea/xaf/x87 MEETEI MAYEK LETTER TIL
++<UABC8>     /xea/xaf/x88 MEETEI MAYEK LETTER KHOU
++<UABC9>     /xea/xaf/x89 MEETEI MAYEK LETTER NGOU
++<UABCA>     /xea/xaf/x8a MEETEI MAYEK LETTER THOU
++<UABCB>     /xea/xaf/x8b MEETEI MAYEK LETTER WAI
++<UABCC>     /xea/xaf/x8c MEETEI MAYEK LETTER YANG
++<UABCD>     /xea/xaf/x8d MEETEI MAYEK LETTER HUK
++<UABCE>     /xea/xaf/x8e MEETEI MAYEK LETTER UN
++<UABCF>     /xea/xaf/x8f MEETEI MAYEK LETTER I
++<UABD0>     /xea/xaf/x90 MEETEI MAYEK LETTER PHAM
++<UABD1>     /xea/xaf/x91 MEETEI MAYEK LETTER ATIYA
++<UABD2>     /xea/xaf/x92 MEETEI MAYEK LETTER GOK
++<UABD3>     /xea/xaf/x93 MEETEI MAYEK LETTER JHAM
++<UABD4>     /xea/xaf/x94 MEETEI MAYEK LETTER RAI
++<UABD5>     /xea/xaf/x95 MEETEI MAYEK LETTER BA
++<UABD6>     /xea/xaf/x96 MEETEI MAYEK LETTER JIL
++<UABD7>     /xea/xaf/x97 MEETEI MAYEK LETTER DIL
++<UABD8>     /xea/xaf/x98 MEETEI MAYEK LETTER GHOU
++<UABD9>     /xea/xaf/x99 MEETEI MAYEK LETTER DHOU
++<UABDA>     /xea/xaf/x9a MEETEI MAYEK LETTER BHAM
++<UABDB>     /xea/xaf/x9b MEETEI MAYEK LETTER KOK LONSUM
++<UABDC>     /xea/xaf/x9c MEETEI MAYEK LETTER LAI LONSUM
++<UABDD>     /xea/xaf/x9d MEETEI MAYEK LETTER MIT LONSUM
++<UABDE>     /xea/xaf/x9e MEETEI MAYEK LETTER PA LONSUM
++<UABDF>     /xea/xaf/x9f MEETEI MAYEK LETTER NA LONSUM
++<UABE0>     /xea/xaf/xa0 MEETEI MAYEK LETTER TIL LONSUM
++<UABE1>     /xea/xaf/xa1 MEETEI MAYEK LETTER NGOU LONSUM
++<UABE2>     /xea/xaf/xa2 MEETEI MAYEK LETTER I LONSUM
++<UABE3>     /xea/xaf/xa3 MEETEI MAYEK VOWEL SIGN ONAP
++<UABE4>     /xea/xaf/xa4 MEETEI MAYEK VOWEL SIGN INAP
++<UABE5>     /xea/xaf/xa5 MEETEI MAYEK VOWEL SIGN ANAP
++<UABE6>     /xea/xaf/xa6 MEETEI MAYEK VOWEL SIGN YENAP
++<UABE7>     /xea/xaf/xa7 MEETEI MAYEK VOWEL SIGN SOUNAP
++<UABE8>     /xea/xaf/xa8 MEETEI MAYEK VOWEL SIGN UNAP
++<UABE9>     /xea/xaf/xa9 MEETEI MAYEK VOWEL SIGN CHEINAP
++<UABEA>     /xea/xaf/xaa MEETEI MAYEK VOWEL SIGN NUNG
++<UABEB>     /xea/xaf/xab MEETEI MAYEK CHEIKHEI
++<UABEC>     /xea/xaf/xac MEETEI MAYEK LUM IYEK
++<UABED>     /xea/xaf/xad MEETEI MAYEK APUN IYEK
++<UABF0>     /xea/xaf/xb0 MEETEI MAYEK DIGIT ZERO
++<UABF1>     /xea/xaf/xb1 MEETEI MAYEK DIGIT ONE
++<UABF2>     /xea/xaf/xb2 MEETEI MAYEK DIGIT TWO
++<UABF3>     /xea/xaf/xb3 MEETEI MAYEK DIGIT THREE
++<UABF4>     /xea/xaf/xb4 MEETEI MAYEK DIGIT FOUR
++<UABF5>     /xea/xaf/xb5 MEETEI MAYEK DIGIT FIVE
++<UABF6>     /xea/xaf/xb6 MEETEI MAYEK DIGIT SIX
++<UABF7>     /xea/xaf/xb7 MEETEI MAYEK DIGIT SEVEN
++<UABF8>     /xea/xaf/xb8 MEETEI MAYEK DIGIT EIGHT
++<UABF9>     /xea/xaf/xb9 MEETEI MAYEK DIGIT NINE
+ <UAC00>     /xea/xb0/x80 HANGUL SYLLABLE GA
+ <UAC01>     /xea/xb0/x81 HANGUL SYLLABLE GAG
+ <UAC02>     /xea/xb0/x82 HANGUL SYLLABLE GAGG
+@@ -24736,6 +25836,78 @@ CHARMAP
+ <UD7A1>     /xed/x9e/xa1 HANGUL SYLLABLE HIT
+ <UD7A2>     /xed/x9e/xa2 HANGUL SYLLABLE HIP
+ <UD7A3>     /xed/x9e/xa3 HANGUL SYLLABLE HIH
++<UD7B0>     /xed/x9e/xb0 HANGUL JUNGSEONG O-YEO
++<UD7B1>     /xed/x9e/xb1 HANGUL JUNGSEONG O-O-I
++<UD7B2>     /xed/x9e/xb2 HANGUL JUNGSEONG YO-A
++<UD7B3>     /xed/x9e/xb3 HANGUL JUNGSEONG YO-AE
++<UD7B4>     /xed/x9e/xb4 HANGUL JUNGSEONG YO-EO
++<UD7B5>     /xed/x9e/xb5 HANGUL JUNGSEONG U-YEO
++<UD7B6>     /xed/x9e/xb6 HANGUL JUNGSEONG U-I-I
++<UD7B7>     /xed/x9e/xb7 HANGUL JUNGSEONG YU-AE
++<UD7B8>     /xed/x9e/xb8 HANGUL JUNGSEONG YU-O
++<UD7B9>     /xed/x9e/xb9 HANGUL JUNGSEONG EU-A
++<UD7BA>     /xed/x9e/xba HANGUL JUNGSEONG EU-EO
++<UD7BB>     /xed/x9e/xbb HANGUL JUNGSEONG EU-E
++<UD7BC>     /xed/x9e/xbc HANGUL JUNGSEONG EU-O
++<UD7BD>     /xed/x9e/xbd HANGUL JUNGSEONG I-YA-O
++<UD7BE>     /xed/x9e/xbe HANGUL JUNGSEONG I-YAE
++<UD7BF>     /xed/x9e/xbf HANGUL JUNGSEONG I-YEO
++<UD7C0>     /xed/x9f/x80 HANGUL JUNGSEONG I-YE
++<UD7C1>     /xed/x9f/x81 HANGUL JUNGSEONG I-O-I
++<UD7C2>     /xed/x9f/x82 HANGUL JUNGSEONG I-YO
++<UD7C3>     /xed/x9f/x83 HANGUL JUNGSEONG I-YU
++<UD7C4>     /xed/x9f/x84 HANGUL JUNGSEONG I-I
++<UD7C5>     /xed/x9f/x85 HANGUL JUNGSEONG ARAEA-A
++<UD7C6>     /xed/x9f/x86 HANGUL JUNGSEONG ARAEA-E
++<UD7CB>     /xed/x9f/x8b HANGUL JONGSEONG NIEUN-RIEUL
++<UD7CC>     /xed/x9f/x8c HANGUL JONGSEONG NIEUN-CHIEUCH
++<UD7CD>     /xed/x9f/x8d HANGUL JONGSEONG SSANGTIKEUT
++<UD7CE>     /xed/x9f/x8e HANGUL JONGSEONG SSANGTIKEUT-PIEUP
++<UD7CF>     /xed/x9f/x8f HANGUL JONGSEONG TIKEUT-PIEUP
++<UD7D0>     /xed/x9f/x90 HANGUL JONGSEONG TIKEUT-SIOS
++<UD7D1>     /xed/x9f/x91 HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
++<UD7D2>     /xed/x9f/x92 HANGUL JONGSEONG TIKEUT-CIEUC
++<UD7D3>     /xed/x9f/x93 HANGUL JONGSEONG TIKEUT-CHIEUCH
++<UD7D4>     /xed/x9f/x94 HANGUL JONGSEONG TIKEUT-THIEUTH
++<UD7D5>     /xed/x9f/x95 HANGUL JONGSEONG RIEUL-SSANGKIYEOK
++<UD7D6>     /xed/x9f/x96 HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
++<UD7D7>     /xed/x9f/x97 HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
++<UD7D8>     /xed/x9f/x98 HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
++<UD7D9>     /xed/x9f/x99 HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
++<UD7DA>     /xed/x9f/x9a HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
++<UD7DB>     /xed/x9f/x9b HANGUL JONGSEONG RIEUL-YESIEUNG
++<UD7DC>     /xed/x9f/x9c HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
++<UD7DD>     /xed/x9f/x9d HANGUL JONGSEONG KAPYEOUNRIEUL
++<UD7DE>     /xed/x9f/x9e HANGUL JONGSEONG MIEUM-NIEUN
++<UD7DF>     /xed/x9f/x9f HANGUL JONGSEONG MIEUM-SSANGNIEUN
++<UD7E0>     /xed/x9f/xa0 HANGUL JONGSEONG SSANGMIEUM
++<UD7E1>     /xed/x9f/xa1 HANGUL JONGSEONG MIEUM-PIEUP-SIOS
++<UD7E2>     /xed/x9f/xa2 HANGUL JONGSEONG MIEUM-CIEUC
++<UD7E3>     /xed/x9f/xa3 HANGUL JONGSEONG PIEUP-TIKEUT
++<UD7E4>     /xed/x9f/xa4 HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
++<UD7E5>     /xed/x9f/xa5 HANGUL JONGSEONG PIEUP-MIEUM
++<UD7E6>     /xed/x9f/xa6 HANGUL JONGSEONG SSANGPIEUP
++<UD7E7>     /xed/x9f/xa7 HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
++<UD7E8>     /xed/x9f/xa8 HANGUL JONGSEONG PIEUP-CIEUC
++<UD7E9>     /xed/x9f/xa9 HANGUL JONGSEONG PIEUP-CHIEUCH
++<UD7EA>     /xed/x9f/xaa HANGUL JONGSEONG SIOS-MIEUM
++<UD7EB>     /xed/x9f/xab HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
++<UD7EC>     /xed/x9f/xac HANGUL JONGSEONG SSANGSIOS-KIYEOK
++<UD7ED>     /xed/x9f/xad HANGUL JONGSEONG SSANGSIOS-TIKEUT
++<UD7EE>     /xed/x9f/xae HANGUL JONGSEONG SIOS-PANSIOS
++<UD7EF>     /xed/x9f/xaf HANGUL JONGSEONG SIOS-CIEUC
++<UD7F0>     /xed/x9f/xb0 HANGUL JONGSEONG SIOS-CHIEUCH
++<UD7F1>     /xed/x9f/xb1 HANGUL JONGSEONG SIOS-THIEUTH
++<UD7F2>     /xed/x9f/xb2 HANGUL JONGSEONG SIOS-HIEUH
++<UD7F3>     /xed/x9f/xb3 HANGUL JONGSEONG PANSIOS-PIEUP
++<UD7F4>     /xed/x9f/xb4 HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
++<UD7F5>     /xed/x9f/xb5 HANGUL JONGSEONG YESIEUNG-MIEUM
++<UD7F6>     /xed/x9f/xb6 HANGUL JONGSEONG YESIEUNG-HIEUH
++<UD7F7>     /xed/x9f/xb7 HANGUL JONGSEONG CIEUC-PIEUP
++<UD7F8>     /xed/x9f/xb8 HANGUL JONGSEONG CIEUC-SSANGPIEUP
++<UD7F9>     /xed/x9f/xb9 HANGUL JONGSEONG SSANGCIEUC
++<UD7FA>     /xed/x9f/xba HANGUL JONGSEONG PHIEUPH-SIOS
++<UD7FB>     /xed/x9f/xbb HANGUL JONGSEONG PHIEUPH-THIEUTH
+ % <UD800>     /xed/xa0/x80 <Non Private Use High Surrogate, First>
+ % <UDB7F>     /xed/xad/xbf <Non Private Use High Surrogate, Last>
+ % <UDB80>     /xed/xae/x80 <Private Use High Surrogate, First>
+@@ -25203,6 +26375,9 @@ CHARMAP
+ <UFA68>     /xef/xa9/xa8 CJK COMPATIBILITY IDEOGRAPH-FA68
+ <UFA69>     /xef/xa9/xa9 CJK COMPATIBILITY IDEOGRAPH-FA69
+ <UFA6A>     /xef/xa9/xaa CJK COMPATIBILITY IDEOGRAPH-FA6A
++<UFA6B>     /xef/xa9/xab CJK COMPATIBILITY IDEOGRAPH-FA6B
++<UFA6C>     /xef/xa9/xac CJK COMPATIBILITY IDEOGRAPH-FA6C
++<UFA6D>     /xef/xa9/xad CJK COMPATIBILITY IDEOGRAPH-FA6D
+ <UFA70>     /xef/xa9/xb0 CJK COMPATIBILITY IDEOGRAPH-FA70
+ <UFA71>     /xef/xa9/xb1 CJK COMPATIBILITY IDEOGRAPH-FA71
+ <UFA72>     /xef/xa9/xb2 CJK COMPATIBILITY IDEOGRAPH-FA72
+@@ -25465,6 +26640,22 @@ CHARMAP
+ <UFBAF>     /xef/xae/xaf ARABIC LETTER YEH BARREE FINAL FORM
+ <UFBB0>     /xef/xae/xb0 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+ <UFBB1>     /xef/xae/xb1 ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
++<UFBB2>     /xef/xae/xb2 ARABIC SYMBOL DOT ABOVE
++<UFBB3>     /xef/xae/xb3 ARABIC SYMBOL DOT BELOW
++<UFBB4>     /xef/xae/xb4 ARABIC SYMBOL TWO DOTS ABOVE
++<UFBB5>     /xef/xae/xb5 ARABIC SYMBOL TWO DOTS BELOW
++<UFBB6>     /xef/xae/xb6 ARABIC SYMBOL THREE DOTS ABOVE
++<UFBB7>     /xef/xae/xb7 ARABIC SYMBOL THREE DOTS BELOW
++<UFBB8>     /xef/xae/xb8 ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
++<UFBB9>     /xef/xae/xb9 ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
++<UFBBA>     /xef/xae/xba ARABIC SYMBOL FOUR DOTS ABOVE
++<UFBBB>     /xef/xae/xbb ARABIC SYMBOL FOUR DOTS BELOW
++<UFBBC>     /xef/xae/xbc ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
++<UFBBD>     /xef/xae/xbd ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
++<UFBBE>     /xef/xae/xbe ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
++<UFBBF>     /xef/xae/xbf ARABIC SYMBOL RING
++<UFBC0>     /xef/xaf/x80 ARABIC SYMBOL SMALL TAH ABOVE
++<UFBC1>     /xef/xaf/x81 ARABIC SYMBOL SMALL TAH BELOW
+ <UFBD3>     /xef/xaf/x93 ARABIC LETTER NG ISOLATED FORM
+ <UFBD4>     /xef/xaf/x94 ARABIC LETTER NG FINAL FORM
+ <UFBD5>     /xef/xaf/x95 ARABIC LETTER NG INITIAL FORM
+@@ -27269,6 +28460,37 @@ CHARMAP
+ <U00010838> /xf0/x90/xa0/xb8 CYPRIOT SYLLABLE XE
+ <U0001083C> /xf0/x90/xa0/xbc CYPRIOT SYLLABLE ZA
+ <U0001083F> /xf0/x90/xa0/xbf CYPRIOT SYLLABLE ZO
++<U00010840> /xf0/x90/xa1/x80 IMPERIAL ARAMAIC LETTER ALEPH
++<U00010841> /xf0/x90/xa1/x81 IMPERIAL ARAMAIC LETTER BETH
++<U00010842> /xf0/x90/xa1/x82 IMPERIAL ARAMAIC LETTER GIMEL
++<U00010843> /xf0/x90/xa1/x83 IMPERIAL ARAMAIC LETTER DALETH
++<U00010844> /xf0/x90/xa1/x84 IMPERIAL ARAMAIC LETTER HE
++<U00010845> /xf0/x90/xa1/x85 IMPERIAL ARAMAIC LETTER WAW
++<U00010846> /xf0/x90/xa1/x86 IMPERIAL ARAMAIC LETTER ZAYIN
++<U00010847> /xf0/x90/xa1/x87 IMPERIAL ARAMAIC LETTER HETH
++<U00010848> /xf0/x90/xa1/x88 IMPERIAL ARAMAIC LETTER TETH
++<U00010849> /xf0/x90/xa1/x89 IMPERIAL ARAMAIC LETTER YODH
++<U0001084A> /xf0/x90/xa1/x8a IMPERIAL ARAMAIC LETTER KAPH
++<U0001084B> /xf0/x90/xa1/x8b IMPERIAL ARAMAIC LETTER LAMEDH
++<U0001084C> /xf0/x90/xa1/x8c IMPERIAL ARAMAIC LETTER MEM
++<U0001084D> /xf0/x90/xa1/x8d IMPERIAL ARAMAIC LETTER NUN
++<U0001084E> /xf0/x90/xa1/x8e IMPERIAL ARAMAIC LETTER SAMEKH
++<U0001084F> /xf0/x90/xa1/x8f IMPERIAL ARAMAIC LETTER AYIN
++<U00010850> /xf0/x90/xa1/x90 IMPERIAL ARAMAIC LETTER PE
++<U00010851> /xf0/x90/xa1/x91 IMPERIAL ARAMAIC LETTER SADHE
++<U00010852> /xf0/x90/xa1/x92 IMPERIAL ARAMAIC LETTER QOPH
++<U00010853> /xf0/x90/xa1/x93 IMPERIAL ARAMAIC LETTER RESH
++<U00010854> /xf0/x90/xa1/x94 IMPERIAL ARAMAIC LETTER SHIN
++<U00010855> /xf0/x90/xa1/x95 IMPERIAL ARAMAIC LETTER TAW
++<U00010857> /xf0/x90/xa1/x97 IMPERIAL ARAMAIC SECTION SIGN
++<U00010858> /xf0/x90/xa1/x98 IMPERIAL ARAMAIC NUMBER ONE
++<U00010859> /xf0/x90/xa1/x99 IMPERIAL ARAMAIC NUMBER TWO
++<U0001085A> /xf0/x90/xa1/x9a IMPERIAL ARAMAIC NUMBER THREE
++<U0001085B> /xf0/x90/xa1/x9b IMPERIAL ARAMAIC NUMBER TEN
++<U0001085C> /xf0/x90/xa1/x9c IMPERIAL ARAMAIC NUMBER TWENTY
++<U0001085D> /xf0/x90/xa1/x9d IMPERIAL ARAMAIC NUMBER ONE HUNDRED
++<U0001085E> /xf0/x90/xa1/x9e IMPERIAL ARAMAIC NUMBER ONE THOUSAND
++<U0001085F> /xf0/x90/xa1/x9f IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+ <U00010900> /xf0/x90/xa4/x80 PHOENICIAN LETTER ALF
+ <U00010901> /xf0/x90/xa4/x81 PHOENICIAN LETTER BET
+ <U00010902> /xf0/x90/xa4/x82 PHOENICIAN LETTER GAML
+@@ -27295,6 +28517,8 @@ CHARMAP
+ <U00010917> /xf0/x90/xa4/x97 PHOENICIAN NUMBER TEN
+ <U00010918> /xf0/x90/xa4/x98 PHOENICIAN NUMBER TWENTY
+ <U00010919> /xf0/x90/xa4/x99 PHOENICIAN NUMBER ONE HUNDRED
++<U0001091A> /xf0/x90/xa4/x9a PHOENICIAN NUMBER TWO
++<U0001091B> /xf0/x90/xa4/x9b PHOENICIAN NUMBER THREE
+ <U0001091F> /xf0/x90/xa4/x9f PHOENICIAN WORD SEPARATOR
+ <U00010920> /xf0/x90/xa4/xa0 LYDIAN LETTER A
+ <U00010921> /xf0/x90/xa4/xa1 LYDIAN LETTER B
+@@ -27388,6 +28612,434 @@ CHARMAP
+ <U00010A56> /xf0/x90/xa9/x96 KHAROSHTHI PUNCTUATION DANDA
+ <U00010A57> /xf0/x90/xa9/x97 KHAROSHTHI PUNCTUATION DOUBLE DANDA
+ <U00010A58> /xf0/x90/xa9/x98 KHAROSHTHI PUNCTUATION LINES
++<U00010A60> /xf0/x90/xa9/xa0 OLD SOUTH ARABIAN LETTER HE
++<U00010A61> /xf0/x90/xa9/xa1 OLD SOUTH ARABIAN LETTER LAMEDH
++<U00010A62> /xf0/x90/xa9/xa2 OLD SOUTH ARABIAN LETTER HETH
++<U00010A63> /xf0/x90/xa9/xa3 OLD SOUTH ARABIAN LETTER MEM
++<U00010A64> /xf0/x90/xa9/xa4 OLD SOUTH ARABIAN LETTER QOPH
++<U00010A65> /xf0/x90/xa9/xa5 OLD SOUTH ARABIAN LETTER WAW
++<U00010A66> /xf0/x90/xa9/xa6 OLD SOUTH ARABIAN LETTER SHIN
++<U00010A67> /xf0/x90/xa9/xa7 OLD SOUTH ARABIAN LETTER RESH
++<U00010A68> /xf0/x90/xa9/xa8 OLD SOUTH ARABIAN LETTER BETH
++<U00010A69> /xf0/x90/xa9/xa9 OLD SOUTH ARABIAN LETTER TAW
++<U00010A6A> /xf0/x90/xa9/xaa OLD SOUTH ARABIAN LETTER SAT
++<U00010A6B> /xf0/x90/xa9/xab OLD SOUTH ARABIAN LETTER KAPH
++<U00010A6C> /xf0/x90/xa9/xac OLD SOUTH ARABIAN LETTER NUN
++<U00010A6D> /xf0/x90/xa9/xad OLD SOUTH ARABIAN LETTER KHETH
++<U00010A6E> /xf0/x90/xa9/xae OLD SOUTH ARABIAN LETTER SADHE
++<U00010A6F> /xf0/x90/xa9/xaf OLD SOUTH ARABIAN LETTER SAMEKH
++<U00010A70> /xf0/x90/xa9/xb0 OLD SOUTH ARABIAN LETTER FE
++<U00010A71> /xf0/x90/xa9/xb1 OLD SOUTH ARABIAN LETTER ALEF
++<U00010A72> /xf0/x90/xa9/xb2 OLD SOUTH ARABIAN LETTER AYN
++<U00010A73> /xf0/x90/xa9/xb3 OLD SOUTH ARABIAN LETTER DHADHE
++<U00010A74> /xf0/x90/xa9/xb4 OLD SOUTH ARABIAN LETTER GIMEL
++<U00010A75> /xf0/x90/xa9/xb5 OLD SOUTH ARABIAN LETTER DALETH
++<U00010A76> /xf0/x90/xa9/xb6 OLD SOUTH ARABIAN LETTER GHAYN
++<U00010A77> /xf0/x90/xa9/xb7 OLD SOUTH ARABIAN LETTER TETH
++<U00010A78> /xf0/x90/xa9/xb8 OLD SOUTH ARABIAN LETTER ZAYN
++<U00010A79> /xf0/x90/xa9/xb9 OLD SOUTH ARABIAN LETTER DHALETH
++<U00010A7A> /xf0/x90/xa9/xba OLD SOUTH ARABIAN LETTER YODH
++<U00010A7B> /xf0/x90/xa9/xbb OLD SOUTH ARABIAN LETTER THAW
++<U00010A7C> /xf0/x90/xa9/xbc OLD SOUTH ARABIAN LETTER THETH
++<U00010A7D> /xf0/x90/xa9/xbd OLD SOUTH ARABIAN NUMBER ONE
++<U00010A7E> /xf0/x90/xa9/xbe OLD SOUTH ARABIAN NUMBER FIFTY
++<U00010A7F> /xf0/x90/xa9/xbf OLD SOUTH ARABIAN NUMERIC INDICATOR
++<U00010B00> /xf0/x90/xac/x80 AVESTAN LETTER A
++<U00010B01> /xf0/x90/xac/x81 AVESTAN LETTER AA
++<U00010B02> /xf0/x90/xac/x82 AVESTAN LETTER AO
++<U00010B03> /xf0/x90/xac/x83 AVESTAN LETTER AAO
++<U00010B04> /xf0/x90/xac/x84 AVESTAN LETTER AN
++<U00010B05> /xf0/x90/xac/x85 AVESTAN LETTER AAN
++<U00010B06> /xf0/x90/xac/x86 AVESTAN LETTER AE
++<U00010B07> /xf0/x90/xac/x87 AVESTAN LETTER AEE
++<U00010B08> /xf0/x90/xac/x88 AVESTAN LETTER E
++<U00010B09> /xf0/x90/xac/x89 AVESTAN LETTER EE
++<U00010B0A> /xf0/x90/xac/x8a AVESTAN LETTER O
++<U00010B0B> /xf0/x90/xac/x8b AVESTAN LETTER OO
++<U00010B0C> /xf0/x90/xac/x8c AVESTAN LETTER I
++<U00010B0D> /xf0/x90/xac/x8d AVESTAN LETTER II
++<U00010B0E> /xf0/x90/xac/x8e AVESTAN LETTER U
++<U00010B0F> /xf0/x90/xac/x8f AVESTAN LETTER UU
++<U00010B10> /xf0/x90/xac/x90 AVESTAN LETTER KE
++<U00010B11> /xf0/x90/xac/x91 AVESTAN LETTER XE
++<U00010B12> /xf0/x90/xac/x92 AVESTAN LETTER XYE
++<U00010B13> /xf0/x90/xac/x93 AVESTAN LETTER XVE
++<U00010B14> /xf0/x90/xac/x94 AVESTAN LETTER GE
++<U00010B15> /xf0/x90/xac/x95 AVESTAN LETTER GGE
++<U00010B16> /xf0/x90/xac/x96 AVESTAN LETTER GHE
++<U00010B17> /xf0/x90/xac/x97 AVESTAN LETTER CE
++<U00010B18> /xf0/x90/xac/x98 AVESTAN LETTER JE
++<U00010B19> /xf0/x90/xac/x99 AVESTAN LETTER TE
++<U00010B1A> /xf0/x90/xac/x9a AVESTAN LETTER THE
++<U00010B1B> /xf0/x90/xac/x9b AVESTAN LETTER DE
++<U00010B1C> /xf0/x90/xac/x9c AVESTAN LETTER DHE
++<U00010B1D> /xf0/x90/xac/x9d AVESTAN LETTER TTE
++<U00010B1E> /xf0/x90/xac/x9e AVESTAN LETTER PE
++<U00010B1F> /xf0/x90/xac/x9f AVESTAN LETTER FE
++<U00010B20> /xf0/x90/xac/xa0 AVESTAN LETTER BE
++<U00010B21> /xf0/x90/xac/xa1 AVESTAN LETTER BHE
++<U00010B22> /xf0/x90/xac/xa2 AVESTAN LETTER NGE
++<U00010B23> /xf0/x90/xac/xa3 AVESTAN LETTER NGYE
++<U00010B24> /xf0/x90/xac/xa4 AVESTAN LETTER NGVE
++<U00010B25> /xf0/x90/xac/xa5 AVESTAN LETTER NE
++<U00010B26> /xf0/x90/xac/xa6 AVESTAN LETTER NYE
++<U00010B27> /xf0/x90/xac/xa7 AVESTAN LETTER NNE
++<U00010B28> /xf0/x90/xac/xa8 AVESTAN LETTER ME
++<U00010B29> /xf0/x90/xac/xa9 AVESTAN LETTER HME
++<U00010B2A> /xf0/x90/xac/xaa AVESTAN LETTER YYE
++<U00010B2B> /xf0/x90/xac/xab AVESTAN LETTER YE
++<U00010B2C> /xf0/x90/xac/xac AVESTAN LETTER VE
++<U00010B2D> /xf0/x90/xac/xad AVESTAN LETTER RE
++<U00010B2E> /xf0/x90/xac/xae AVESTAN LETTER LE
++<U00010B2F> /xf0/x90/xac/xaf AVESTAN LETTER SE
++<U00010B30> /xf0/x90/xac/xb0 AVESTAN LETTER ZE
++<U00010B31> /xf0/x90/xac/xb1 AVESTAN LETTER SHE
++<U00010B32> /xf0/x90/xac/xb2 AVESTAN LETTER ZHE
++<U00010B33> /xf0/x90/xac/xb3 AVESTAN LETTER SHYE
++<U00010B34> /xf0/x90/xac/xb4 AVESTAN LETTER SSHE
++<U00010B35> /xf0/x90/xac/xb5 AVESTAN LETTER HE
++<U00010B39> /xf0/x90/xac/xb9 AVESTAN ABBREVIATION MARK
++<U00010B3A> /xf0/x90/xac/xba TINY TWO DOTS OVER ONE DOT PUNCTUATION
++<U00010B3B> /xf0/x90/xac/xbb SMALL TWO DOTS OVER ONE DOT PUNCTUATION
++<U00010B3C> /xf0/x90/xac/xbc LARGE TWO DOTS OVER ONE DOT PUNCTUATION
++<U00010B3D> /xf0/x90/xac/xbd LARGE ONE DOT OVER TWO DOTS PUNCTUATION
++<U00010B3E> /xf0/x90/xac/xbe LARGE TWO RINGS OVER ONE RING PUNCTUATION
++<U00010B3F> /xf0/x90/xac/xbf LARGE ONE RING OVER TWO RINGS PUNCTUATION
++<U00010B40> /xf0/x90/xad/x80 INSCRIPTIONAL PARTHIAN LETTER ALEPH
++<U00010B41> /xf0/x90/xad/x81 INSCRIPTIONAL PARTHIAN LETTER BETH
++<U00010B42> /xf0/x90/xad/x82 INSCRIPTIONAL PARTHIAN LETTER GIMEL
++<U00010B43> /xf0/x90/xad/x83 INSCRIPTIONAL PARTHIAN LETTER DALETH
++<U00010B44> /xf0/x90/xad/x84 INSCRIPTIONAL PARTHIAN LETTER HE
++<U00010B45> /xf0/x90/xad/x85 INSCRIPTIONAL PARTHIAN LETTER WAW
++<U00010B46> /xf0/x90/xad/x86 INSCRIPTIONAL PARTHIAN LETTER ZAYIN
++<U00010B47> /xf0/x90/xad/x87 INSCRIPTIONAL PARTHIAN LETTER HETH
++<U00010B48> /xf0/x90/xad/x88 INSCRIPTIONAL PARTHIAN LETTER TETH
++<U00010B49> /xf0/x90/xad/x89 INSCRIPTIONAL PARTHIAN LETTER YODH
++<U00010B4A> /xf0/x90/xad/x8a INSCRIPTIONAL PARTHIAN LETTER KAPH
++<U00010B4B> /xf0/x90/xad/x8b INSCRIPTIONAL PARTHIAN LETTER LAMEDH
++<U00010B4C> /xf0/x90/xad/x8c INSCRIPTIONAL PARTHIAN LETTER MEM
++<U00010B4D> /xf0/x90/xad/x8d INSCRIPTIONAL PARTHIAN LETTER NUN
++<U00010B4E> /xf0/x90/xad/x8e INSCRIPTIONAL PARTHIAN LETTER SAMEKH
++<U00010B4F> /xf0/x90/xad/x8f INSCRIPTIONAL PARTHIAN LETTER AYIN
++<U00010B50> /xf0/x90/xad/x90 INSCRIPTIONAL PARTHIAN LETTER PE
++<U00010B51> /xf0/x90/xad/x91 INSCRIPTIONAL PARTHIAN LETTER SADHE
++<U00010B52> /xf0/x90/xad/x92 INSCRIPTIONAL PARTHIAN LETTER QOPH
++<U00010B53> /xf0/x90/xad/x93 INSCRIPTIONAL PARTHIAN LETTER RESH
++<U00010B54> /xf0/x90/xad/x94 INSCRIPTIONAL PARTHIAN LETTER SHIN
++<U00010B55> /xf0/x90/xad/x95 INSCRIPTIONAL PARTHIAN LETTER TAW
++<U00010B58> /xf0/x90/xad/x98 INSCRIPTIONAL PARTHIAN NUMBER ONE
++<U00010B59> /xf0/x90/xad/x99 INSCRIPTIONAL PARTHIAN NUMBER TWO
++<U00010B5A> /xf0/x90/xad/x9a INSCRIPTIONAL PARTHIAN NUMBER THREE
++<U00010B5B> /xf0/x90/xad/x9b INSCRIPTIONAL PARTHIAN NUMBER FOUR
++<U00010B5C> /xf0/x90/xad/x9c INSCRIPTIONAL PARTHIAN NUMBER TEN
++<U00010B5D> /xf0/x90/xad/x9d INSCRIPTIONAL PARTHIAN NUMBER TWENTY
++<U00010B5E> /xf0/x90/xad/x9e INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
++<U00010B5F> /xf0/x90/xad/x9f INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
++<U00010B60> /xf0/x90/xad/xa0 INSCRIPTIONAL PAHLAVI LETTER ALEPH
++<U00010B61> /xf0/x90/xad/xa1 INSCRIPTIONAL PAHLAVI LETTER BETH
++<U00010B62> /xf0/x90/xad/xa2 INSCRIPTIONAL PAHLAVI LETTER GIMEL
++<U00010B63> /xf0/x90/xad/xa3 INSCRIPTIONAL PAHLAVI LETTER DALETH
++<U00010B64> /xf0/x90/xad/xa4 INSCRIPTIONAL PAHLAVI LETTER HE
++<U00010B65> /xf0/x90/xad/xa5 INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
++<U00010B66> /xf0/x90/xad/xa6 INSCRIPTIONAL PAHLAVI LETTER ZAYIN
++<U00010B67> /xf0/x90/xad/xa7 INSCRIPTIONAL PAHLAVI LETTER HETH
++<U00010B68> /xf0/x90/xad/xa8 INSCRIPTIONAL PAHLAVI LETTER TETH
++<U00010B69> /xf0/x90/xad/xa9 INSCRIPTIONAL PAHLAVI LETTER YODH
++<U00010B6A> /xf0/x90/xad/xaa INSCRIPTIONAL PAHLAVI LETTER KAPH
++<U00010B6B> /xf0/x90/xad/xab INSCRIPTIONAL PAHLAVI LETTER LAMEDH
++<U00010B6C> /xf0/x90/xad/xac INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
++<U00010B6D> /xf0/x90/xad/xad INSCRIPTIONAL PAHLAVI LETTER NUN
++<U00010B6E> /xf0/x90/xad/xae INSCRIPTIONAL PAHLAVI LETTER SAMEKH
++<U00010B6F> /xf0/x90/xad/xaf INSCRIPTIONAL PAHLAVI LETTER PE
++<U00010B70> /xf0/x90/xad/xb0 INSCRIPTIONAL PAHLAVI LETTER SADHE
++<U00010B71> /xf0/x90/xad/xb1 INSCRIPTIONAL PAHLAVI LETTER SHIN
++<U00010B72> /xf0/x90/xad/xb2 INSCRIPTIONAL PAHLAVI LETTER TAW
++<U00010B78> /xf0/x90/xad/xb8 INSCRIPTIONAL PAHLAVI NUMBER ONE
++<U00010B79> /xf0/x90/xad/xb9 INSCRIPTIONAL PAHLAVI NUMBER TWO
++<U00010B7A> /xf0/x90/xad/xba INSCRIPTIONAL PAHLAVI NUMBER THREE
++<U00010B7B> /xf0/x90/xad/xbb INSCRIPTIONAL PAHLAVI NUMBER FOUR
++<U00010B7C> /xf0/x90/xad/xbc INSCRIPTIONAL PAHLAVI NUMBER TEN
++<U00010B7D> /xf0/x90/xad/xbd INSCRIPTIONAL PAHLAVI NUMBER TWENTY
++<U00010B7E> /xf0/x90/xad/xbe INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
++<U00010B7F> /xf0/x90/xad/xbf INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
++<U00010C00> /xf0/x90/xb0/x80 OLD TURKIC LETTER ORKHON A
++<U00010C01> /xf0/x90/xb0/x81 OLD TURKIC LETTER YENISEI A
++<U00010C02> /xf0/x90/xb0/x82 OLD TURKIC LETTER YENISEI AE
++<U00010C03> /xf0/x90/xb0/x83 OLD TURKIC LETTER ORKHON I
++<U00010C04> /xf0/x90/xb0/x84 OLD TURKIC LETTER YENISEI I
++<U00010C05> /xf0/x90/xb0/x85 OLD TURKIC LETTER YENISEI E
++<U00010C06> /xf0/x90/xb0/x86 OLD TURKIC LETTER ORKHON O
++<U00010C07> /xf0/x90/xb0/x87 OLD TURKIC LETTER ORKHON OE
++<U00010C08> /xf0/x90/xb0/x88 OLD TURKIC LETTER YENISEI OE
++<U00010C09> /xf0/x90/xb0/x89 OLD TURKIC LETTER ORKHON AB
++<U00010C0A> /xf0/x90/xb0/x8a OLD TURKIC LETTER YENISEI AB
++<U00010C0B> /xf0/x90/xb0/x8b OLD TURKIC LETTER ORKHON AEB
++<U00010C0C> /xf0/x90/xb0/x8c OLD TURKIC LETTER YENISEI AEB
++<U00010C0D> /xf0/x90/xb0/x8d OLD TURKIC LETTER ORKHON AG
++<U00010C0E> /xf0/x90/xb0/x8e OLD TURKIC LETTER YENISEI AG
++<U00010C0F> /xf0/x90/xb0/x8f OLD TURKIC LETTER ORKHON AEG
++<U00010C10> /xf0/x90/xb0/x90 OLD TURKIC LETTER YENISEI AEG
++<U00010C11> /xf0/x90/xb0/x91 OLD TURKIC LETTER ORKHON AD
++<U00010C12> /xf0/x90/xb0/x92 OLD TURKIC LETTER YENISEI AD
++<U00010C13> /xf0/x90/xb0/x93 OLD TURKIC LETTER ORKHON AED
++<U00010C14> /xf0/x90/xb0/x94 OLD TURKIC LETTER ORKHON EZ
++<U00010C15> /xf0/x90/xb0/x95 OLD TURKIC LETTER YENISEI EZ
++<U00010C16> /xf0/x90/xb0/x96 OLD TURKIC LETTER ORKHON AY
++<U00010C17> /xf0/x90/xb0/x97 OLD TURKIC LETTER YENISEI AY
++<U00010C18> /xf0/x90/xb0/x98 OLD TURKIC LETTER ORKHON AEY
++<U00010C19> /xf0/x90/xb0/x99 OLD TURKIC LETTER YENISEI AEY
++<U00010C1A> /xf0/x90/xb0/x9a OLD TURKIC LETTER ORKHON AEK
++<U00010C1B> /xf0/x90/xb0/x9b OLD TURKIC LETTER YENISEI AEK
++<U00010C1C> /xf0/x90/xb0/x9c OLD TURKIC LETTER ORKHON OEK
++<U00010C1D> /xf0/x90/xb0/x9d OLD TURKIC LETTER YENISEI OEK
++<U00010C1E> /xf0/x90/xb0/x9e OLD TURKIC LETTER ORKHON AL
++<U00010C1F> /xf0/x90/xb0/x9f OLD TURKIC LETTER YENISEI AL
++<U00010C20> /xf0/x90/xb0/xa0 OLD TURKIC LETTER ORKHON AEL
++<U00010C21> /xf0/x90/xb0/xa1 OLD TURKIC LETTER ORKHON ELT
++<U00010C22> /xf0/x90/xb0/xa2 OLD TURKIC LETTER ORKHON EM
++<U00010C23> /xf0/x90/xb0/xa3 OLD TURKIC LETTER ORKHON AN
++<U00010C24> /xf0/x90/xb0/xa4 OLD TURKIC LETTER ORKHON AEN
++<U00010C25> /xf0/x90/xb0/xa5 OLD TURKIC LETTER YENISEI AEN
++<U00010C26> /xf0/x90/xb0/xa6 OLD TURKIC LETTER ORKHON ENT
++<U00010C27> /xf0/x90/xb0/xa7 OLD TURKIC LETTER YENISEI ENT
++<U00010C28> /xf0/x90/xb0/xa8 OLD TURKIC LETTER ORKHON ENC
++<U00010C29> /xf0/x90/xb0/xa9 OLD TURKIC LETTER YENISEI ENC
++<U00010C2A> /xf0/x90/xb0/xaa OLD TURKIC LETTER ORKHON ENY
++<U00010C2B> /xf0/x90/xb0/xab OLD TURKIC LETTER YENISEI ENY
++<U00010C2C> /xf0/x90/xb0/xac OLD TURKIC LETTER YENISEI ANG
++<U00010C2D> /xf0/x90/xb0/xad OLD TURKIC LETTER ORKHON ENG
++<U00010C2E> /xf0/x90/xb0/xae OLD TURKIC LETTER YENISEI AENG
++<U00010C2F> /xf0/x90/xb0/xaf OLD TURKIC LETTER ORKHON EP
++<U00010C30> /xf0/x90/xb0/xb0 OLD TURKIC LETTER ORKHON OP
++<U00010C31> /xf0/x90/xb0/xb1 OLD TURKIC LETTER ORKHON IC
++<U00010C32> /xf0/x90/xb0/xb2 OLD TURKIC LETTER ORKHON EC
++<U00010C33> /xf0/x90/xb0/xb3 OLD TURKIC LETTER YENISEI EC
++<U00010C34> /xf0/x90/xb0/xb4 OLD TURKIC LETTER ORKHON AQ
++<U00010C35> /xf0/x90/xb0/xb5 OLD TURKIC LETTER YENISEI AQ
++<U00010C36> /xf0/x90/xb0/xb6 OLD TURKIC LETTER ORKHON IQ
++<U00010C37> /xf0/x90/xb0/xb7 OLD TURKIC LETTER YENISEI IQ
++<U00010C38> /xf0/x90/xb0/xb8 OLD TURKIC LETTER ORKHON OQ
++<U00010C39> /xf0/x90/xb0/xb9 OLD TURKIC LETTER YENISEI OQ
++<U00010C3A> /xf0/x90/xb0/xba OLD TURKIC LETTER ORKHON AR
++<U00010C3B> /xf0/x90/xb0/xbb OLD TURKIC LETTER YENISEI AR
++<U00010C3C> /xf0/x90/xb0/xbc OLD TURKIC LETTER ORKHON AER
++<U00010C3D> /xf0/x90/xb0/xbd OLD TURKIC LETTER ORKHON AS
++<U00010C3E> /xf0/x90/xb0/xbe OLD TURKIC LETTER ORKHON AES
++<U00010C3F> /xf0/x90/xb0/xbf OLD TURKIC LETTER ORKHON ASH
++<U00010C40> /xf0/x90/xb1/x80 OLD TURKIC LETTER YENISEI ASH
++<U00010C41> /xf0/x90/xb1/x81 OLD TURKIC LETTER ORKHON ESH
++<U00010C42> /xf0/x90/xb1/x82 OLD TURKIC LETTER YENISEI ESH
++<U00010C43> /xf0/x90/xb1/x83 OLD TURKIC LETTER ORKHON AT
++<U00010C44> /xf0/x90/xb1/x84 OLD TURKIC LETTER YENISEI AT
++<U00010C45> /xf0/x90/xb1/x85 OLD TURKIC LETTER ORKHON AET
++<U00010C46> /xf0/x90/xb1/x86 OLD TURKIC LETTER YENISEI AET
++<U00010C47> /xf0/x90/xb1/x87 OLD TURKIC LETTER ORKHON OT
++<U00010C48> /xf0/x90/xb1/x88 OLD TURKIC LETTER ORKHON BASH
++<U00010E60> /xf0/x90/xb9/xa0 RUMI DIGIT ONE
++<U00010E61> /xf0/x90/xb9/xa1 RUMI DIGIT TWO
++<U00010E62> /xf0/x90/xb9/xa2 RUMI DIGIT THREE
++<U00010E63> /xf0/x90/xb9/xa3 RUMI DIGIT FOUR
++<U00010E64> /xf0/x90/xb9/xa4 RUMI DIGIT FIVE
++<U00010E65> /xf0/x90/xb9/xa5 RUMI DIGIT SIX
++<U00010E66> /xf0/x90/xb9/xa6 RUMI DIGIT SEVEN
++<U00010E67> /xf0/x90/xb9/xa7 RUMI DIGIT EIGHT
++<U00010E68> /xf0/x90/xb9/xa8 RUMI DIGIT NINE
++<U00010E69> /xf0/x90/xb9/xa9 RUMI NUMBER TEN
++<U00010E6A> /xf0/x90/xb9/xaa RUMI NUMBER TWENTY
++<U00010E6B> /xf0/x90/xb9/xab RUMI NUMBER THIRTY
++<U00010E6C> /xf0/x90/xb9/xac RUMI NUMBER FORTY
++<U00010E6D> /xf0/x90/xb9/xad RUMI NUMBER FIFTY
++<U00010E6E> /xf0/x90/xb9/xae RUMI NUMBER SIXTY
++<U00010E6F> /xf0/x90/xb9/xaf RUMI NUMBER SEVENTY
++<U00010E70> /xf0/x90/xb9/xb0 RUMI NUMBER EIGHTY
++<U00010E71> /xf0/x90/xb9/xb1 RUMI NUMBER NINETY
++<U00010E72> /xf0/x90/xb9/xb2 RUMI NUMBER ONE HUNDRED
++<U00010E73> /xf0/x90/xb9/xb3 RUMI NUMBER TWO HUNDRED
++<U00010E74> /xf0/x90/xb9/xb4 RUMI NUMBER THREE HUNDRED
++<U00010E75> /xf0/x90/xb9/xb5 RUMI NUMBER FOUR HUNDRED
++<U00010E76> /xf0/x90/xb9/xb6 RUMI NUMBER FIVE HUNDRED
++<U00010E77> /xf0/x90/xb9/xb7 RUMI NUMBER SIX HUNDRED
++<U00010E78> /xf0/x90/xb9/xb8 RUMI NUMBER SEVEN HUNDRED
++<U00010E79> /xf0/x90/xb9/xb9 RUMI NUMBER EIGHT HUNDRED
++<U00010E7A> /xf0/x90/xb9/xba RUMI NUMBER NINE HUNDRED
++<U00010E7B> /xf0/x90/xb9/xbb RUMI FRACTION ONE HALF
++<U00010E7C> /xf0/x90/xb9/xbc RUMI FRACTION ONE QUARTER
++<U00010E7D> /xf0/x90/xb9/xbd RUMI FRACTION ONE THIRD
++<U00010E7E> /xf0/x90/xb9/xbe RUMI FRACTION TWO THIRDS
++<U00011000> /xf0/x91/x80/x80 BRAHMI SIGN CANDRABINDU
++<U00011001> /xf0/x91/x80/x81 BRAHMI SIGN ANUSVARA
++<U00011002> /xf0/x91/x80/x82 BRAHMI SIGN VISARGA
++<U00011003> /xf0/x91/x80/x83 BRAHMI SIGN JIHVAMULIYA
++<U00011004> /xf0/x91/x80/x84 BRAHMI SIGN UPADHMANIYA
++<U00011005> /xf0/x91/x80/x85 BRAHMI LETTER A
++<U00011006> /xf0/x91/x80/x86 BRAHMI LETTER AA
++<U00011007> /xf0/x91/x80/x87 BRAHMI LETTER I
++<U00011008> /xf0/x91/x80/x88 BRAHMI LETTER II
++<U00011009> /xf0/x91/x80/x89 BRAHMI LETTER U
++<U0001100A> /xf0/x91/x80/x8a BRAHMI LETTER UU
++<U0001100B> /xf0/x91/x80/x8b BRAHMI LETTER VOCALIC R
++<U0001100C> /xf0/x91/x80/x8c BRAHMI LETTER VOCALIC RR
++<U0001100D> /xf0/x91/x80/x8d BRAHMI LETTER VOCALIC L
++<U0001100E> /xf0/x91/x80/x8e BRAHMI LETTER VOCALIC LL
++<U0001100F> /xf0/x91/x80/x8f BRAHMI LETTER E
++<U00011010> /xf0/x91/x80/x90 BRAHMI LETTER AI
++<U00011011> /xf0/x91/x80/x91 BRAHMI LETTER O
++<U00011012> /xf0/x91/x80/x92 BRAHMI LETTER AU
++<U00011013> /xf0/x91/x80/x93 BRAHMI LETTER KA
++<U00011014> /xf0/x91/x80/x94 BRAHMI LETTER KHA
++<U00011015> /xf0/x91/x80/x95 BRAHMI LETTER GA
++<U00011016> /xf0/x91/x80/x96 BRAHMI LETTER GHA
++<U00011017> /xf0/x91/x80/x97 BRAHMI LETTER NGA
++<U00011018> /xf0/x91/x80/x98 BRAHMI LETTER CA
++<U00011019> /xf0/x91/x80/x99 BRAHMI LETTER CHA
++<U0001101A> /xf0/x91/x80/x9a BRAHMI LETTER JA
++<U0001101B> /xf0/x91/x80/x9b BRAHMI LETTER JHA
++<U0001101C> /xf0/x91/x80/x9c BRAHMI LETTER NYA
++<U0001101D> /xf0/x91/x80/x9d BRAHMI LETTER TTA
++<U0001101E> /xf0/x91/x80/x9e BRAHMI LETTER TTHA
++<U0001101F> /xf0/x91/x80/x9f BRAHMI LETTER DDA
++<U00011020> /xf0/x91/x80/xa0 BRAHMI LETTER DDHA
++<U00011021> /xf0/x91/x80/xa1 BRAHMI LETTER NNA
++<U00011022> /xf0/x91/x80/xa2 BRAHMI LETTER TA
++<U00011023> /xf0/x91/x80/xa3 BRAHMI LETTER THA
++<U00011024> /xf0/x91/x80/xa4 BRAHMI LETTER DA
++<U00011025> /xf0/x91/x80/xa5 BRAHMI LETTER DHA
++<U00011026> /xf0/x91/x80/xa6 BRAHMI LETTER NA
++<U00011027> /xf0/x91/x80/xa7 BRAHMI LETTER PA
++<U00011028> /xf0/x91/x80/xa8 BRAHMI LETTER PHA
++<U00011029> /xf0/x91/x80/xa9 BRAHMI LETTER BA
++<U0001102A> /xf0/x91/x80/xaa BRAHMI LETTER BHA
++<U0001102B> /xf0/x91/x80/xab BRAHMI LETTER MA
++<U0001102C> /xf0/x91/x80/xac BRAHMI LETTER YA
++<U0001102D> /xf0/x91/x80/xad BRAHMI LETTER RA
++<U0001102E> /xf0/x91/x80/xae BRAHMI LETTER LA
++<U0001102F> /xf0/x91/x80/xaf BRAHMI LETTER VA
++<U00011030> /xf0/x91/x80/xb0 BRAHMI LETTER SHA
++<U00011031> /xf0/x91/x80/xb1 BRAHMI LETTER SSA
++<U00011032> /xf0/x91/x80/xb2 BRAHMI LETTER SA
++<U00011033> /xf0/x91/x80/xb3 BRAHMI LETTER HA
++<U00011034> /xf0/x91/x80/xb4 BRAHMI LETTER LLA
++<U00011035> /xf0/x91/x80/xb5 BRAHMI LETTER OLD TAMIL LLLA
++<U00011036> /xf0/x91/x80/xb6 BRAHMI LETTER OLD TAMIL RRA
++<U00011037> /xf0/x91/x80/xb7 BRAHMI LETTER OLD TAMIL NNNA
++<U00011038> /xf0/x91/x80/xb8 BRAHMI VOWEL SIGN AA
++<U00011039> /xf0/x91/x80/xb9 BRAHMI VOWEL SIGN BHATTIPROLU AA
++<U0001103A> /xf0/x91/x80/xba BRAHMI VOWEL SIGN I
++<U0001103B> /xf0/x91/x80/xbb BRAHMI VOWEL SIGN II
++<U0001103C> /xf0/x91/x80/xbc BRAHMI VOWEL SIGN U
++<U0001103D> /xf0/x91/x80/xbd BRAHMI VOWEL SIGN UU
++<U0001103E> /xf0/x91/x80/xbe BRAHMI VOWEL SIGN VOCALIC R
++<U0001103F> /xf0/x91/x80/xbf BRAHMI VOWEL SIGN VOCALIC RR
++<U00011040> /xf0/x91/x81/x80 BRAHMI VOWEL SIGN VOCALIC L
++<U00011041> /xf0/x91/x81/x81 BRAHMI VOWEL SIGN VOCALIC LL
++<U00011042> /xf0/x91/x81/x82 BRAHMI VOWEL SIGN E
++<U00011043> /xf0/x91/x81/x83 BRAHMI VOWEL SIGN AI
++<U00011044> /xf0/x91/x81/x84 BRAHMI VOWEL SIGN O
++<U00011045> /xf0/x91/x81/x85 BRAHMI VOWEL SIGN AU
++<U00011046> /xf0/x91/x81/x86 BRAHMI VIRAMA
++<U00011047> /xf0/x91/x81/x87 BRAHMI DANDA
++<U00011048> /xf0/x91/x81/x88 BRAHMI DOUBLE DANDA
++<U00011049> /xf0/x91/x81/x89 BRAHMI PUNCTUATION DOT
++<U0001104A> /xf0/x91/x81/x8a BRAHMI PUNCTUATION DOUBLE DOT
++<U0001104B> /xf0/x91/x81/x8b BRAHMI PUNCTUATION LINE
++<U0001104C> /xf0/x91/x81/x8c BRAHMI PUNCTUATION CRESCENT BAR
++<U0001104D> /xf0/x91/x81/x8d BRAHMI PUNCTUATION LOTUS
++<U00011052> /xf0/x91/x81/x92 BRAHMI NUMBER ONE
++<U00011053> /xf0/x91/x81/x93 BRAHMI NUMBER TWO
++<U00011054> /xf0/x91/x81/x94 BRAHMI NUMBER THREE
++<U00011055> /xf0/x91/x81/x95 BRAHMI NUMBER FOUR
++<U00011056> /xf0/x91/x81/x96 BRAHMI NUMBER FIVE
++<U00011057> /xf0/x91/x81/x97 BRAHMI NUMBER SIX
++<U00011058> /xf0/x91/x81/x98 BRAHMI NUMBER SEVEN
++<U00011059> /xf0/x91/x81/x99 BRAHMI NUMBER EIGHT
++<U0001105A> /xf0/x91/x81/x9a BRAHMI NUMBER NINE
++<U0001105B> /xf0/x91/x81/x9b BRAHMI NUMBER TEN
++<U0001105C> /xf0/x91/x81/x9c BRAHMI NUMBER TWENTY
++<U0001105D> /xf0/x91/x81/x9d BRAHMI NUMBER THIRTY
++<U0001105E> /xf0/x91/x81/x9e BRAHMI NUMBER FORTY
++<U0001105F> /xf0/x91/x81/x9f BRAHMI NUMBER FIFTY
++<U00011060> /xf0/x91/x81/xa0 BRAHMI NUMBER SIXTY
++<U00011061> /xf0/x91/x81/xa1 BRAHMI NUMBER SEVENTY
++<U00011062> /xf0/x91/x81/xa2 BRAHMI NUMBER EIGHTY
++<U00011063> /xf0/x91/x81/xa3 BRAHMI NUMBER NINETY
++<U00011064> /xf0/x91/x81/xa4 BRAHMI NUMBER ONE HUNDRED
++<U00011065> /xf0/x91/x81/xa5 BRAHMI NUMBER ONE THOUSAND
++<U00011066> /xf0/x91/x81/xa6 BRAHMI DIGIT ZERO
++<U00011067> /xf0/x91/x81/xa7 BRAHMI DIGIT ONE
++<U00011068> /xf0/x91/x81/xa8 BRAHMI DIGIT TWO
++<U00011069> /xf0/x91/x81/xa9 BRAHMI DIGIT THREE
++<U0001106A> /xf0/x91/x81/xaa BRAHMI DIGIT FOUR
++<U0001106B> /xf0/x91/x81/xab BRAHMI DIGIT FIVE
++<U0001106C> /xf0/x91/x81/xac BRAHMI DIGIT SIX
++<U0001106D> /xf0/x91/x81/xad BRAHMI DIGIT SEVEN
++<U0001106E> /xf0/x91/x81/xae BRAHMI DIGIT EIGHT
++<U0001106F> /xf0/x91/x81/xaf BRAHMI DIGIT NINE
++<U00011080> /xf0/x91/x82/x80 KAITHI SIGN CANDRABINDU
++<U00011081> /xf0/x91/x82/x81 KAITHI SIGN ANUSVARA
++<U00011082> /xf0/x91/x82/x82 KAITHI SIGN VISARGA
++<U00011083> /xf0/x91/x82/x83 KAITHI LETTER A
++<U00011084> /xf0/x91/x82/x84 KAITHI LETTER AA
++<U00011085> /xf0/x91/x82/x85 KAITHI LETTER I
++<U00011086> /xf0/x91/x82/x86 KAITHI LETTER II
++<U00011087> /xf0/x91/x82/x87 KAITHI LETTER U
++<U00011088> /xf0/x91/x82/x88 KAITHI LETTER UU
++<U00011089> /xf0/x91/x82/x89 KAITHI LETTER E
++<U0001108A> /xf0/x91/x82/x8a KAITHI LETTER AI
++<U0001108B> /xf0/x91/x82/x8b KAITHI LETTER O
++<U0001108C> /xf0/x91/x82/x8c KAITHI LETTER AU
++<U0001108D> /xf0/x91/x82/x8d KAITHI LETTER KA
++<U0001108E> /xf0/x91/x82/x8e KAITHI LETTER KHA
++<U0001108F> /xf0/x91/x82/x8f KAITHI LETTER GA
++<U00011090> /xf0/x91/x82/x90 KAITHI LETTER GHA
++<U00011091> /xf0/x91/x82/x91 KAITHI LETTER NGA
++<U00011092> /xf0/x91/x82/x92 KAITHI LETTER CA
++<U00011093> /xf0/x91/x82/x93 KAITHI LETTER CHA
++<U00011094> /xf0/x91/x82/x94 KAITHI LETTER JA
++<U00011095> /xf0/x91/x82/x95 KAITHI LETTER JHA
++<U00011096> /xf0/x91/x82/x96 KAITHI LETTER NYA
++<U00011097> /xf0/x91/x82/x97 KAITHI LETTER TTA
++<U00011098> /xf0/x91/x82/x98 KAITHI LETTER TTHA
++<U00011099> /xf0/x91/x82/x99 KAITHI LETTER DDA
++<U0001109A> /xf0/x91/x82/x9a KAITHI LETTER DDDHA
++<U0001109B> /xf0/x91/x82/x9b KAITHI LETTER DDHA
++<U0001109C> /xf0/x91/x82/x9c KAITHI LETTER RHA
++<U0001109D> /xf0/x91/x82/x9d KAITHI LETTER NNA
++<U0001109E> /xf0/x91/x82/x9e KAITHI LETTER TA
++<U0001109F> /xf0/x91/x82/x9f KAITHI LETTER THA
++<U000110A0> /xf0/x91/x82/xa0 KAITHI LETTER DA
++<U000110A1> /xf0/x91/x82/xa1 KAITHI LETTER DHA
++<U000110A2> /xf0/x91/x82/xa2 KAITHI LETTER NA
++<U000110A3> /xf0/x91/x82/xa3 KAITHI LETTER PA
++<U000110A4> /xf0/x91/x82/xa4 KAITHI LETTER PHA
++<U000110A5> /xf0/x91/x82/xa5 KAITHI LETTER BA
++<U000110A6> /xf0/x91/x82/xa6 KAITHI LETTER BHA
++<U000110A7> /xf0/x91/x82/xa7 KAITHI LETTER MA
++<U000110A8> /xf0/x91/x82/xa8 KAITHI LETTER YA
++<U000110A9> /xf0/x91/x82/xa9 KAITHI LETTER RA
++<U000110AA> /xf0/x91/x82/xaa KAITHI LETTER LA
++<U000110AB> /xf0/x91/x82/xab KAITHI LETTER VA
++<U000110AC> /xf0/x91/x82/xac KAITHI LETTER SHA
++<U000110AD> /xf0/x91/x82/xad KAITHI LETTER SSA
++<U000110AE> /xf0/x91/x82/xae KAITHI LETTER SA
++<U000110AF> /xf0/x91/x82/xaf KAITHI LETTER HA
++<U000110B0> /xf0/x91/x82/xb0 KAITHI VOWEL SIGN AA
++<U000110B1> /xf0/x91/x82/xb1 KAITHI VOWEL SIGN I
++<U000110B2> /xf0/x91/x82/xb2 KAITHI VOWEL SIGN II
++<U000110B3> /xf0/x91/x82/xb3 KAITHI VOWEL SIGN U
++<U000110B4> /xf0/x91/x82/xb4 KAITHI VOWEL SIGN UU
++<U000110B5> /xf0/x91/x82/xb5 KAITHI VOWEL SIGN E
++<U000110B6> /xf0/x91/x82/xb6 KAITHI VOWEL SIGN AI
++<U000110B7> /xf0/x91/x82/xb7 KAITHI VOWEL SIGN O
++<U000110B8> /xf0/x91/x82/xb8 KAITHI VOWEL SIGN AU
++<U000110B9> /xf0/x91/x82/xb9 KAITHI SIGN VIRAMA
++<U000110BA> /xf0/x91/x82/xba KAITHI SIGN NUKTA
++<U000110BB> /xf0/x91/x82/xbb KAITHI ABBREVIATION SIGN
++<U000110BC> /xf0/x91/x82/xbc KAITHI ENUMERATION SIGN
++<U000110BD> /xf0/x91/x82/xbd KAITHI NUMBER SIGN
++<U000110BE> /xf0/x91/x82/xbe KAITHI SECTION MARK
++<U000110BF> /xf0/x91/x82/xbf KAITHI DOUBLE SECTION MARK
++<U000110C0> /xf0/x91/x83/x80 KAITHI DANDA
++<U000110C1> /xf0/x91/x83/x81 KAITHI DOUBLE DANDA
+ <U00012000> /xf0/x92/x80/x80 CUNEIFORM SIGN A
+ <U00012001> /xf0/x92/x80/x81 CUNEIFORM SIGN A TIMES A
+ <U00012002> /xf0/x92/x80/x82 CUNEIFORM SIGN A TIMES BAD
+@@ -28370,6 +30022,1648 @@ CHARMAP
+ <U00012471> /xf0/x92/x91/xb1 CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+ <U00012472> /xf0/x92/x91/xb2 CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+ <U00012473> /xf0/x92/x91/xb3 CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
++<U00013000> /xf0/x93/x80/x80 EGYPTIAN HIEROGLYPH A001
++<U00013001> /xf0/x93/x80/x81 EGYPTIAN HIEROGLYPH A002
++<U00013002> /xf0/x93/x80/x82 EGYPTIAN HIEROGLYPH A003
++<U00013003> /xf0/x93/x80/x83 EGYPTIAN HIEROGLYPH A004
++<U00013004> /xf0/x93/x80/x84 EGYPTIAN HIEROGLYPH A005
++<U00013005> /xf0/x93/x80/x85 EGYPTIAN HIEROGLYPH A005A
++<U00013006> /xf0/x93/x80/x86 EGYPTIAN HIEROGLYPH A006
++<U00013007> /xf0/x93/x80/x87 EGYPTIAN HIEROGLYPH A006A
++<U00013008> /xf0/x93/x80/x88 EGYPTIAN HIEROGLYPH A006B
++<U00013009> /xf0/x93/x80/x89 EGYPTIAN HIEROGLYPH A007
++<U0001300A> /xf0/x93/x80/x8a EGYPTIAN HIEROGLYPH A008
++<U0001300B> /xf0/x93/x80/x8b EGYPTIAN HIEROGLYPH A009
++<U0001300C> /xf0/x93/x80/x8c EGYPTIAN HIEROGLYPH A010
++<U0001300D> /xf0/x93/x80/x8d EGYPTIAN HIEROGLYPH A011
++<U0001300E> /xf0/x93/x80/x8e EGYPTIAN HIEROGLYPH A012
++<U0001300F> /xf0/x93/x80/x8f EGYPTIAN HIEROGLYPH A013
++<U00013010> /xf0/x93/x80/x90 EGYPTIAN HIEROGLYPH A014
++<U00013011> /xf0/x93/x80/x91 EGYPTIAN HIEROGLYPH A014A
++<U00013012> /xf0/x93/x80/x92 EGYPTIAN HIEROGLYPH A015
++<U00013013> /xf0/x93/x80/x93 EGYPTIAN HIEROGLYPH A016
++<U00013014> /xf0/x93/x80/x94 EGYPTIAN HIEROGLYPH A017
++<U00013015> /xf0/x93/x80/x95 EGYPTIAN HIEROGLYPH A017A
++<U00013016> /xf0/x93/x80/x96 EGYPTIAN HIEROGLYPH A018
++<U00013017> /xf0/x93/x80/x97 EGYPTIAN HIEROGLYPH A019
++<U00013018> /xf0/x93/x80/x98 EGYPTIAN HIEROGLYPH A020
++<U00013019> /xf0/x93/x80/x99 EGYPTIAN HIEROGLYPH A021
++<U0001301A> /xf0/x93/x80/x9a EGYPTIAN HIEROGLYPH A022
++<U0001301B> /xf0/x93/x80/x9b EGYPTIAN HIEROGLYPH A023
++<U0001301C> /xf0/x93/x80/x9c EGYPTIAN HIEROGLYPH A024
++<U0001301D> /xf0/x93/x80/x9d EGYPTIAN HIEROGLYPH A025
++<U0001301E> /xf0/x93/x80/x9e EGYPTIAN HIEROGLYPH A026
++<U0001301F> /xf0/x93/x80/x9f EGYPTIAN HIEROGLYPH A027
++<U00013020> /xf0/x93/x80/xa0 EGYPTIAN HIEROGLYPH A028
++<U00013021> /xf0/x93/x80/xa1 EGYPTIAN HIEROGLYPH A029
++<U00013022> /xf0/x93/x80/xa2 EGYPTIAN HIEROGLYPH A030
++<U00013023> /xf0/x93/x80/xa3 EGYPTIAN HIEROGLYPH A031
++<U00013024> /xf0/x93/x80/xa4 EGYPTIAN HIEROGLYPH A032
++<U00013025> /xf0/x93/x80/xa5 EGYPTIAN HIEROGLYPH A032A
++<U00013026> /xf0/x93/x80/xa6 EGYPTIAN HIEROGLYPH A033
++<U00013027> /xf0/x93/x80/xa7 EGYPTIAN HIEROGLYPH A034
++<U00013028> /xf0/x93/x80/xa8 EGYPTIAN HIEROGLYPH A035
++<U00013029> /xf0/x93/x80/xa9 EGYPTIAN HIEROGLYPH A036
++<U0001302A> /xf0/x93/x80/xaa EGYPTIAN HIEROGLYPH A037
++<U0001302B> /xf0/x93/x80/xab EGYPTIAN HIEROGLYPH A038
++<U0001302C> /xf0/x93/x80/xac EGYPTIAN HIEROGLYPH A039
++<U0001302D> /xf0/x93/x80/xad EGYPTIAN HIEROGLYPH A040
++<U0001302E> /xf0/x93/x80/xae EGYPTIAN HIEROGLYPH A040A
++<U0001302F> /xf0/x93/x80/xaf EGYPTIAN HIEROGLYPH A041
++<U00013030> /xf0/x93/x80/xb0 EGYPTIAN HIEROGLYPH A042
++<U00013031> /xf0/x93/x80/xb1 EGYPTIAN HIEROGLYPH A042A
++<U00013032> /xf0/x93/x80/xb2 EGYPTIAN HIEROGLYPH A043
++<U00013033> /xf0/x93/x80/xb3 EGYPTIAN HIEROGLYPH A043A
++<U00013034> /xf0/x93/x80/xb4 EGYPTIAN HIEROGLYPH A044
++<U00013035> /xf0/x93/x80/xb5 EGYPTIAN HIEROGLYPH A045
++<U00013036> /xf0/x93/x80/xb6 EGYPTIAN HIEROGLYPH A045A
++<U00013037> /xf0/x93/x80/xb7 EGYPTIAN HIEROGLYPH A046
++<U00013038> /xf0/x93/x80/xb8 EGYPTIAN HIEROGLYPH A047
++<U00013039> /xf0/x93/x80/xb9 EGYPTIAN HIEROGLYPH A048
++<U0001303A> /xf0/x93/x80/xba EGYPTIAN HIEROGLYPH A049
++<U0001303B> /xf0/x93/x80/xbb EGYPTIAN HIEROGLYPH A050
++<U0001303C> /xf0/x93/x80/xbc EGYPTIAN HIEROGLYPH A051
++<U0001303D> /xf0/x93/x80/xbd EGYPTIAN HIEROGLYPH A052
++<U0001303E> /xf0/x93/x80/xbe EGYPTIAN HIEROGLYPH A053
++<U0001303F> /xf0/x93/x80/xbf EGYPTIAN HIEROGLYPH A054
++<U00013040> /xf0/x93/x81/x80 EGYPTIAN HIEROGLYPH A055
++<U00013041> /xf0/x93/x81/x81 EGYPTIAN HIEROGLYPH A056
++<U00013042> /xf0/x93/x81/x82 EGYPTIAN HIEROGLYPH A057
++<U00013043> /xf0/x93/x81/x83 EGYPTIAN HIEROGLYPH A058
++<U00013044> /xf0/x93/x81/x84 EGYPTIAN HIEROGLYPH A059
++<U00013045> /xf0/x93/x81/x85 EGYPTIAN HIEROGLYPH A060
++<U00013046> /xf0/x93/x81/x86 EGYPTIAN HIEROGLYPH A061
++<U00013047> /xf0/x93/x81/x87 EGYPTIAN HIEROGLYPH A062
++<U00013048> /xf0/x93/x81/x88 EGYPTIAN HIEROGLYPH A063
++<U00013049> /xf0/x93/x81/x89 EGYPTIAN HIEROGLYPH A064
++<U0001304A> /xf0/x93/x81/x8a EGYPTIAN HIEROGLYPH A065
++<U0001304B> /xf0/x93/x81/x8b EGYPTIAN HIEROGLYPH A066
++<U0001304C> /xf0/x93/x81/x8c EGYPTIAN HIEROGLYPH A067
++<U0001304D> /xf0/x93/x81/x8d EGYPTIAN HIEROGLYPH A068
++<U0001304E> /xf0/x93/x81/x8e EGYPTIAN HIEROGLYPH A069
++<U0001304F> /xf0/x93/x81/x8f EGYPTIAN HIEROGLYPH A070
++<U00013050> /xf0/x93/x81/x90 EGYPTIAN HIEROGLYPH B001
++<U00013051> /xf0/x93/x81/x91 EGYPTIAN HIEROGLYPH B002
++<U00013052> /xf0/x93/x81/x92 EGYPTIAN HIEROGLYPH B003
++<U00013053> /xf0/x93/x81/x93 EGYPTIAN HIEROGLYPH B004
++<U00013054> /xf0/x93/x81/x94 EGYPTIAN HIEROGLYPH B005
++<U00013055> /xf0/x93/x81/x95 EGYPTIAN HIEROGLYPH B005A
++<U00013056> /xf0/x93/x81/x96 EGYPTIAN HIEROGLYPH B006
++<U00013057> /xf0/x93/x81/x97 EGYPTIAN HIEROGLYPH B007
++<U00013058> /xf0/x93/x81/x98 EGYPTIAN HIEROGLYPH B008
++<U00013059> /xf0/x93/x81/x99 EGYPTIAN HIEROGLYPH B009
++<U0001305A> /xf0/x93/x81/x9a EGYPTIAN HIEROGLYPH C001
++<U0001305B> /xf0/x93/x81/x9b EGYPTIAN HIEROGLYPH C002
++<U0001305C> /xf0/x93/x81/x9c EGYPTIAN HIEROGLYPH C002A
++<U0001305D> /xf0/x93/x81/x9d EGYPTIAN HIEROGLYPH C002B
++<U0001305E> /xf0/x93/x81/x9e EGYPTIAN HIEROGLYPH C002C
++<U0001305F> /xf0/x93/x81/x9f EGYPTIAN HIEROGLYPH C003
++<U00013060> /xf0/x93/x81/xa0 EGYPTIAN HIEROGLYPH C004
++<U00013061> /xf0/x93/x81/xa1 EGYPTIAN HIEROGLYPH C005
++<U00013062> /xf0/x93/x81/xa2 EGYPTIAN HIEROGLYPH C006
++<U00013063> /xf0/x93/x81/xa3 EGYPTIAN HIEROGLYPH C007
++<U00013064> /xf0/x93/x81/xa4 EGYPTIAN HIEROGLYPH C008
++<U00013065> /xf0/x93/x81/xa5 EGYPTIAN HIEROGLYPH C009
++<U00013066> /xf0/x93/x81/xa6 EGYPTIAN HIEROGLYPH C010
++<U00013067> /xf0/x93/x81/xa7 EGYPTIAN HIEROGLYPH C010A
++<U00013068> /xf0/x93/x81/xa8 EGYPTIAN HIEROGLYPH C011
++<U00013069> /xf0/x93/x81/xa9 EGYPTIAN HIEROGLYPH C012
++<U0001306A> /xf0/x93/x81/xaa EGYPTIAN HIEROGLYPH C013
++<U0001306B> /xf0/x93/x81/xab EGYPTIAN HIEROGLYPH C014
++<U0001306C> /xf0/x93/x81/xac EGYPTIAN HIEROGLYPH C015
++<U0001306D> /xf0/x93/x81/xad EGYPTIAN HIEROGLYPH C016
++<U0001306E> /xf0/x93/x81/xae EGYPTIAN HIEROGLYPH C017
++<U0001306F> /xf0/x93/x81/xaf EGYPTIAN HIEROGLYPH C018
++<U00013070> /xf0/x93/x81/xb0 EGYPTIAN HIEROGLYPH C019
++<U00013071> /xf0/x93/x81/xb1 EGYPTIAN HIEROGLYPH C020
++<U00013072> /xf0/x93/x81/xb2 EGYPTIAN HIEROGLYPH C021
++<U00013073> /xf0/x93/x81/xb3 EGYPTIAN HIEROGLYPH C022
++<U00013074> /xf0/x93/x81/xb4 EGYPTIAN HIEROGLYPH C023
++<U00013075> /xf0/x93/x81/xb5 EGYPTIAN HIEROGLYPH C024
++<U00013076> /xf0/x93/x81/xb6 EGYPTIAN HIEROGLYPH D001
++<U00013077> /xf0/x93/x81/xb7 EGYPTIAN HIEROGLYPH D002
++<U00013078> /xf0/x93/x81/xb8 EGYPTIAN HIEROGLYPH D003
++<U00013079> /xf0/x93/x81/xb9 EGYPTIAN HIEROGLYPH D004
++<U0001307A> /xf0/x93/x81/xba EGYPTIAN HIEROGLYPH D005
++<U0001307B> /xf0/x93/x81/xbb EGYPTIAN HIEROGLYPH D006
++<U0001307C> /xf0/x93/x81/xbc EGYPTIAN HIEROGLYPH D007
++<U0001307D> /xf0/x93/x81/xbd EGYPTIAN HIEROGLYPH D008
++<U0001307E> /xf0/x93/x81/xbe EGYPTIAN HIEROGLYPH D008A
++<U0001307F> /xf0/x93/x81/xbf EGYPTIAN HIEROGLYPH D009
++<U00013080> /xf0/x93/x82/x80 EGYPTIAN HIEROGLYPH D010
++<U00013081> /xf0/x93/x82/x81 EGYPTIAN HIEROGLYPH D011
++<U00013082> /xf0/x93/x82/x82 EGYPTIAN HIEROGLYPH D012
++<U00013083> /xf0/x93/x82/x83 EGYPTIAN HIEROGLYPH D013
++<U00013084> /xf0/x93/x82/x84 EGYPTIAN HIEROGLYPH D014
++<U00013085> /xf0/x93/x82/x85 EGYPTIAN HIEROGLYPH D015
++<U00013086> /xf0/x93/x82/x86 EGYPTIAN HIEROGLYPH D016
++<U00013087> /xf0/x93/x82/x87 EGYPTIAN HIEROGLYPH D017
++<U00013088> /xf0/x93/x82/x88 EGYPTIAN HIEROGLYPH D018
++<U00013089> /xf0/x93/x82/x89 EGYPTIAN HIEROGLYPH D019
++<U0001308A> /xf0/x93/x82/x8a EGYPTIAN HIEROGLYPH D020
++<U0001308B> /xf0/x93/x82/x8b EGYPTIAN HIEROGLYPH D021
++<U0001308C> /xf0/x93/x82/x8c EGYPTIAN HIEROGLYPH D022
++<U0001308D> /xf0/x93/x82/x8d EGYPTIAN HIEROGLYPH D023
++<U0001308E> /xf0/x93/x82/x8e EGYPTIAN HIEROGLYPH D024
++<U0001308F> /xf0/x93/x82/x8f EGYPTIAN HIEROGLYPH D025
++<U00013090> /xf0/x93/x82/x90 EGYPTIAN HIEROGLYPH D026
++<U00013091> /xf0/x93/x82/x91 EGYPTIAN HIEROGLYPH D027
++<U00013092> /xf0/x93/x82/x92 EGYPTIAN HIEROGLYPH D027A
++<U00013093> /xf0/x93/x82/x93 EGYPTIAN HIEROGLYPH D028
++<U00013094> /xf0/x93/x82/x94 EGYPTIAN HIEROGLYPH D029
++<U00013095> /xf0/x93/x82/x95 EGYPTIAN HIEROGLYPH D030
++<U00013096> /xf0/x93/x82/x96 EGYPTIAN HIEROGLYPH D031
++<U00013097> /xf0/x93/x82/x97 EGYPTIAN HIEROGLYPH D031A
++<U00013098> /xf0/x93/x82/x98 EGYPTIAN HIEROGLYPH D032
++<U00013099> /xf0/x93/x82/x99 EGYPTIAN HIEROGLYPH D033
++<U0001309A> /xf0/x93/x82/x9a EGYPTIAN HIEROGLYPH D034
++<U0001309B> /xf0/x93/x82/x9b EGYPTIAN HIEROGLYPH D034A
++<U0001309C> /xf0/x93/x82/x9c EGYPTIAN HIEROGLYPH D035
++<U0001309D> /xf0/x93/x82/x9d EGYPTIAN HIEROGLYPH D036
++<U0001309E> /xf0/x93/x82/x9e EGYPTIAN HIEROGLYPH D037
++<U0001309F> /xf0/x93/x82/x9f EGYPTIAN HIEROGLYPH D038
++<U000130A0> /xf0/x93/x82/xa0 EGYPTIAN HIEROGLYPH D039
++<U000130A1> /xf0/x93/x82/xa1 EGYPTIAN HIEROGLYPH D040
++<U000130A2> /xf0/x93/x82/xa2 EGYPTIAN HIEROGLYPH D041
++<U000130A3> /xf0/x93/x82/xa3 EGYPTIAN HIEROGLYPH D042
++<U000130A4> /xf0/x93/x82/xa4 EGYPTIAN HIEROGLYPH D043
++<U000130A5> /xf0/x93/x82/xa5 EGYPTIAN HIEROGLYPH D044
++<U000130A6> /xf0/x93/x82/xa6 EGYPTIAN HIEROGLYPH D045
++<U000130A7> /xf0/x93/x82/xa7 EGYPTIAN HIEROGLYPH D046
++<U000130A8> /xf0/x93/x82/xa8 EGYPTIAN HIEROGLYPH D046A
++<U000130A9> /xf0/x93/x82/xa9 EGYPTIAN HIEROGLYPH D047
++<U000130AA> /xf0/x93/x82/xaa EGYPTIAN HIEROGLYPH D048
++<U000130AB> /xf0/x93/x82/xab EGYPTIAN HIEROGLYPH D048A
++<U000130AC> /xf0/x93/x82/xac EGYPTIAN HIEROGLYPH D049
++<U000130AD> /xf0/x93/x82/xad EGYPTIAN HIEROGLYPH D050
++<U000130AE> /xf0/x93/x82/xae EGYPTIAN HIEROGLYPH D050A
++<U000130AF> /xf0/x93/x82/xaf EGYPTIAN HIEROGLYPH D050B
++<U000130B0> /xf0/x93/x82/xb0 EGYPTIAN HIEROGLYPH D050C
++<U000130B1> /xf0/x93/x82/xb1 EGYPTIAN HIEROGLYPH D050D
++<U000130B2> /xf0/x93/x82/xb2 EGYPTIAN HIEROGLYPH D050E
++<U000130B3> /xf0/x93/x82/xb3 EGYPTIAN HIEROGLYPH D050F
++<U000130B4> /xf0/x93/x82/xb4 EGYPTIAN HIEROGLYPH D050G
++<U000130B5> /xf0/x93/x82/xb5 EGYPTIAN HIEROGLYPH D050H
++<U000130B6> /xf0/x93/x82/xb6 EGYPTIAN HIEROGLYPH D050I
++<U000130B7> /xf0/x93/x82/xb7 EGYPTIAN HIEROGLYPH D051
++<U000130B8> /xf0/x93/x82/xb8 EGYPTIAN HIEROGLYPH D052
++<U000130B9> /xf0/x93/x82/xb9 EGYPTIAN HIEROGLYPH D052A
++<U000130BA> /xf0/x93/x82/xba EGYPTIAN HIEROGLYPH D053
++<U000130BB> /xf0/x93/x82/xbb EGYPTIAN HIEROGLYPH D054
++<U000130BC> /xf0/x93/x82/xbc EGYPTIAN HIEROGLYPH D054A
++<U000130BD> /xf0/x93/x82/xbd EGYPTIAN HIEROGLYPH D055
++<U000130BE> /xf0/x93/x82/xbe EGYPTIAN HIEROGLYPH D056
++<U000130BF> /xf0/x93/x82/xbf EGYPTIAN HIEROGLYPH D057
++<U000130C0> /xf0/x93/x83/x80 EGYPTIAN HIEROGLYPH D058
++<U000130C1> /xf0/x93/x83/x81 EGYPTIAN HIEROGLYPH D059
++<U000130C2> /xf0/x93/x83/x82 EGYPTIAN HIEROGLYPH D060
++<U000130C3> /xf0/x93/x83/x83 EGYPTIAN HIEROGLYPH D061
++<U000130C4> /xf0/x93/x83/x84 EGYPTIAN HIEROGLYPH D062
++<U000130C5> /xf0/x93/x83/x85 EGYPTIAN HIEROGLYPH D063
++<U000130C6> /xf0/x93/x83/x86 EGYPTIAN HIEROGLYPH D064
++<U000130C7> /xf0/x93/x83/x87 EGYPTIAN HIEROGLYPH D065
++<U000130C8> /xf0/x93/x83/x88 EGYPTIAN HIEROGLYPH D066
++<U000130C9> /xf0/x93/x83/x89 EGYPTIAN HIEROGLYPH D067
++<U000130CA> /xf0/x93/x83/x8a EGYPTIAN HIEROGLYPH D067A
++<U000130CB> /xf0/x93/x83/x8b EGYPTIAN HIEROGLYPH D067B
++<U000130CC> /xf0/x93/x83/x8c EGYPTIAN HIEROGLYPH D067C
++<U000130CD> /xf0/x93/x83/x8d EGYPTIAN HIEROGLYPH D067D
++<U000130CE> /xf0/x93/x83/x8e EGYPTIAN HIEROGLYPH D067E
++<U000130CF> /xf0/x93/x83/x8f EGYPTIAN HIEROGLYPH D067F
++<U000130D0> /xf0/x93/x83/x90 EGYPTIAN HIEROGLYPH D067G
++<U000130D1> /xf0/x93/x83/x91 EGYPTIAN HIEROGLYPH D067H
++<U000130D2> /xf0/x93/x83/x92 EGYPTIAN HIEROGLYPH E001
++<U000130D3> /xf0/x93/x83/x93 EGYPTIAN HIEROGLYPH E002
++<U000130D4> /xf0/x93/x83/x94 EGYPTIAN HIEROGLYPH E003
++<U000130D5> /xf0/x93/x83/x95 EGYPTIAN HIEROGLYPH E004
++<U000130D6> /xf0/x93/x83/x96 EGYPTIAN HIEROGLYPH E005
++<U000130D7> /xf0/x93/x83/x97 EGYPTIAN HIEROGLYPH E006
++<U000130D8> /xf0/x93/x83/x98 EGYPTIAN HIEROGLYPH E007
++<U000130D9> /xf0/x93/x83/x99 EGYPTIAN HIEROGLYPH E008
++<U000130DA> /xf0/x93/x83/x9a EGYPTIAN HIEROGLYPH E008A
++<U000130DB> /xf0/x93/x83/x9b EGYPTIAN HIEROGLYPH E009
++<U000130DC> /xf0/x93/x83/x9c EGYPTIAN HIEROGLYPH E009A
++<U000130DD> /xf0/x93/x83/x9d EGYPTIAN HIEROGLYPH E010
++<U000130DE> /xf0/x93/x83/x9e EGYPTIAN HIEROGLYPH E011
++<U000130DF> /xf0/x93/x83/x9f EGYPTIAN HIEROGLYPH E012
++<U000130E0> /xf0/x93/x83/xa0 EGYPTIAN HIEROGLYPH E013
++<U000130E1> /xf0/x93/x83/xa1 EGYPTIAN HIEROGLYPH E014
++<U000130E2> /xf0/x93/x83/xa2 EGYPTIAN HIEROGLYPH E015
++<U000130E3> /xf0/x93/x83/xa3 EGYPTIAN HIEROGLYPH E016
++<U000130E4> /xf0/x93/x83/xa4 EGYPTIAN HIEROGLYPH E016A
++<U000130E5> /xf0/x93/x83/xa5 EGYPTIAN HIEROGLYPH E017
++<U000130E6> /xf0/x93/x83/xa6 EGYPTIAN HIEROGLYPH E017A
++<U000130E7> /xf0/x93/x83/xa7 EGYPTIAN HIEROGLYPH E018
++<U000130E8> /xf0/x93/x83/xa8 EGYPTIAN HIEROGLYPH E019
++<U000130E9> /xf0/x93/x83/xa9 EGYPTIAN HIEROGLYPH E020
++<U000130EA> /xf0/x93/x83/xaa EGYPTIAN HIEROGLYPH E020A
++<U000130EB> /xf0/x93/x83/xab EGYPTIAN HIEROGLYPH E021
++<U000130EC> /xf0/x93/x83/xac EGYPTIAN HIEROGLYPH E022
++<U000130ED> /xf0/x93/x83/xad EGYPTIAN HIEROGLYPH E023
++<U000130EE> /xf0/x93/x83/xae EGYPTIAN HIEROGLYPH E024
++<U000130EF> /xf0/x93/x83/xaf EGYPTIAN HIEROGLYPH E025
++<U000130F0> /xf0/x93/x83/xb0 EGYPTIAN HIEROGLYPH E026
++<U000130F1> /xf0/x93/x83/xb1 EGYPTIAN HIEROGLYPH E027
++<U000130F2> /xf0/x93/x83/xb2 EGYPTIAN HIEROGLYPH E028
++<U000130F3> /xf0/x93/x83/xb3 EGYPTIAN HIEROGLYPH E028A
++<U000130F4> /xf0/x93/x83/xb4 EGYPTIAN HIEROGLYPH E029
++<U000130F5> /xf0/x93/x83/xb5 EGYPTIAN HIEROGLYPH E030
++<U000130F6> /xf0/x93/x83/xb6 EGYPTIAN HIEROGLYPH E031
++<U000130F7> /xf0/x93/x83/xb7 EGYPTIAN HIEROGLYPH E032
++<U000130F8> /xf0/x93/x83/xb8 EGYPTIAN HIEROGLYPH E033
++<U000130F9> /xf0/x93/x83/xb9 EGYPTIAN HIEROGLYPH E034
++<U000130FA> /xf0/x93/x83/xba EGYPTIAN HIEROGLYPH E034A
++<U000130FB> /xf0/x93/x83/xbb EGYPTIAN HIEROGLYPH E036
++<U000130FC> /xf0/x93/x83/xbc EGYPTIAN HIEROGLYPH E037
++<U000130FD> /xf0/x93/x83/xbd EGYPTIAN HIEROGLYPH E038
++<U000130FE> /xf0/x93/x83/xbe EGYPTIAN HIEROGLYPH F001
++<U000130FF> /xf0/x93/x83/xbf EGYPTIAN HIEROGLYPH F001A
++<U00013100> /xf0/x93/x84/x80 EGYPTIAN HIEROGLYPH F002
++<U00013101> /xf0/x93/x84/x81 EGYPTIAN HIEROGLYPH F003
++<U00013102> /xf0/x93/x84/x82 EGYPTIAN HIEROGLYPH F004
++<U00013103> /xf0/x93/x84/x83 EGYPTIAN HIEROGLYPH F005
++<U00013104> /xf0/x93/x84/x84 EGYPTIAN HIEROGLYPH F006
++<U00013105> /xf0/x93/x84/x85 EGYPTIAN HIEROGLYPH F007
++<U00013106> /xf0/x93/x84/x86 EGYPTIAN HIEROGLYPH F008
++<U00013107> /xf0/x93/x84/x87 EGYPTIAN HIEROGLYPH F009
++<U00013108> /xf0/x93/x84/x88 EGYPTIAN HIEROGLYPH F010
++<U00013109> /xf0/x93/x84/x89 EGYPTIAN HIEROGLYPH F011
++<U0001310A> /xf0/x93/x84/x8a EGYPTIAN HIEROGLYPH F012
++<U0001310B> /xf0/x93/x84/x8b EGYPTIAN HIEROGLYPH F013
++<U0001310C> /xf0/x93/x84/x8c EGYPTIAN HIEROGLYPH F013A
++<U0001310D> /xf0/x93/x84/x8d EGYPTIAN HIEROGLYPH F014
++<U0001310E> /xf0/x93/x84/x8e EGYPTIAN HIEROGLYPH F015
++<U0001310F> /xf0/x93/x84/x8f EGYPTIAN HIEROGLYPH F016
++<U00013110> /xf0/x93/x84/x90 EGYPTIAN HIEROGLYPH F017
++<U00013111> /xf0/x93/x84/x91 EGYPTIAN HIEROGLYPH F018
++<U00013112> /xf0/x93/x84/x92 EGYPTIAN HIEROGLYPH F019
++<U00013113> /xf0/x93/x84/x93 EGYPTIAN HIEROGLYPH F020
++<U00013114> /xf0/x93/x84/x94 EGYPTIAN HIEROGLYPH F021
++<U00013115> /xf0/x93/x84/x95 EGYPTIAN HIEROGLYPH F021A
++<U00013116> /xf0/x93/x84/x96 EGYPTIAN HIEROGLYPH F022
++<U00013117> /xf0/x93/x84/x97 EGYPTIAN HIEROGLYPH F023
++<U00013118> /xf0/x93/x84/x98 EGYPTIAN HIEROGLYPH F024
++<U00013119> /xf0/x93/x84/x99 EGYPTIAN HIEROGLYPH F025
++<U0001311A> /xf0/x93/x84/x9a EGYPTIAN HIEROGLYPH F026
++<U0001311B> /xf0/x93/x84/x9b EGYPTIAN HIEROGLYPH F027
++<U0001311C> /xf0/x93/x84/x9c EGYPTIAN HIEROGLYPH F028
++<U0001311D> /xf0/x93/x84/x9d EGYPTIAN HIEROGLYPH F029
++<U0001311E> /xf0/x93/x84/x9e EGYPTIAN HIEROGLYPH F030
++<U0001311F> /xf0/x93/x84/x9f EGYPTIAN HIEROGLYPH F031
++<U00013120> /xf0/x93/x84/xa0 EGYPTIAN HIEROGLYPH F031A
++<U00013121> /xf0/x93/x84/xa1 EGYPTIAN HIEROGLYPH F032
++<U00013122> /xf0/x93/x84/xa2 EGYPTIAN HIEROGLYPH F033
++<U00013123> /xf0/x93/x84/xa3 EGYPTIAN HIEROGLYPH F034
++<U00013124> /xf0/x93/x84/xa4 EGYPTIAN HIEROGLYPH F035
++<U00013125> /xf0/x93/x84/xa5 EGYPTIAN HIEROGLYPH F036
++<U00013126> /xf0/x93/x84/xa6 EGYPTIAN HIEROGLYPH F037
++<U00013127> /xf0/x93/x84/xa7 EGYPTIAN HIEROGLYPH F037A
++<U00013128> /xf0/x93/x84/xa8 EGYPTIAN HIEROGLYPH F038
++<U00013129> /xf0/x93/x84/xa9 EGYPTIAN HIEROGLYPH F038A
++<U0001312A> /xf0/x93/x84/xaa EGYPTIAN HIEROGLYPH F039
++<U0001312B> /xf0/x93/x84/xab EGYPTIAN HIEROGLYPH F040
++<U0001312C> /xf0/x93/x84/xac EGYPTIAN HIEROGLYPH F041
++<U0001312D> /xf0/x93/x84/xad EGYPTIAN HIEROGLYPH F042
++<U0001312E> /xf0/x93/x84/xae EGYPTIAN HIEROGLYPH F043
++<U0001312F> /xf0/x93/x84/xaf EGYPTIAN HIEROGLYPH F044
++<U00013130> /xf0/x93/x84/xb0 EGYPTIAN HIEROGLYPH F045
++<U00013131> /xf0/x93/x84/xb1 EGYPTIAN HIEROGLYPH F045A
++<U00013132> /xf0/x93/x84/xb2 EGYPTIAN HIEROGLYPH F046
++<U00013133> /xf0/x93/x84/xb3 EGYPTIAN HIEROGLYPH F046A
++<U00013134> /xf0/x93/x84/xb4 EGYPTIAN HIEROGLYPH F047
++<U00013135> /xf0/x93/x84/xb5 EGYPTIAN HIEROGLYPH F047A
++<U00013136> /xf0/x93/x84/xb6 EGYPTIAN HIEROGLYPH F048
++<U00013137> /xf0/x93/x84/xb7 EGYPTIAN HIEROGLYPH F049
++<U00013138> /xf0/x93/x84/xb8 EGYPTIAN HIEROGLYPH F050
++<U00013139> /xf0/x93/x84/xb9 EGYPTIAN HIEROGLYPH F051
++<U0001313A> /xf0/x93/x84/xba EGYPTIAN HIEROGLYPH F051A
++<U0001313B> /xf0/x93/x84/xbb EGYPTIAN HIEROGLYPH F051B
++<U0001313C> /xf0/x93/x84/xbc EGYPTIAN HIEROGLYPH F051C
++<U0001313D> /xf0/x93/x84/xbd EGYPTIAN HIEROGLYPH F052
++<U0001313E> /xf0/x93/x84/xbe EGYPTIAN HIEROGLYPH F053
++<U0001313F> /xf0/x93/x84/xbf EGYPTIAN HIEROGLYPH G001
++<U00013140> /xf0/x93/x85/x80 EGYPTIAN HIEROGLYPH G002
++<U00013141> /xf0/x93/x85/x81 EGYPTIAN HIEROGLYPH G003
++<U00013142> /xf0/x93/x85/x82 EGYPTIAN HIEROGLYPH G004
++<U00013143> /xf0/x93/x85/x83 EGYPTIAN HIEROGLYPH G005
++<U00013144> /xf0/x93/x85/x84 EGYPTIAN HIEROGLYPH G006
++<U00013145> /xf0/x93/x85/x85 EGYPTIAN HIEROGLYPH G006A
++<U00013146> /xf0/x93/x85/x86 EGYPTIAN HIEROGLYPH G007
++<U00013147> /xf0/x93/x85/x87 EGYPTIAN HIEROGLYPH G007A
++<U00013148> /xf0/x93/x85/x88 EGYPTIAN HIEROGLYPH G007B
++<U00013149> /xf0/x93/x85/x89 EGYPTIAN HIEROGLYPH G008
++<U0001314A> /xf0/x93/x85/x8a EGYPTIAN HIEROGLYPH G009
++<U0001314B> /xf0/x93/x85/x8b EGYPTIAN HIEROGLYPH G010
++<U0001314C> /xf0/x93/x85/x8c EGYPTIAN HIEROGLYPH G011
++<U0001314D> /xf0/x93/x85/x8d EGYPTIAN HIEROGLYPH G011A
++<U0001314E> /xf0/x93/x85/x8e EGYPTIAN HIEROGLYPH G012
++<U0001314F> /xf0/x93/x85/x8f EGYPTIAN HIEROGLYPH G013
++<U00013150> /xf0/x93/x85/x90 EGYPTIAN HIEROGLYPH G014
++<U00013151> /xf0/x93/x85/x91 EGYPTIAN HIEROGLYPH G015
++<U00013152> /xf0/x93/x85/x92 EGYPTIAN HIEROGLYPH G016
++<U00013153> /xf0/x93/x85/x93 EGYPTIAN HIEROGLYPH G017
++<U00013154> /xf0/x93/x85/x94 EGYPTIAN HIEROGLYPH G018
++<U00013155> /xf0/x93/x85/x95 EGYPTIAN HIEROGLYPH G019
++<U00013156> /xf0/x93/x85/x96 EGYPTIAN HIEROGLYPH G020
++<U00013157> /xf0/x93/x85/x97 EGYPTIAN HIEROGLYPH G020A
++<U00013158> /xf0/x93/x85/x98 EGYPTIAN HIEROGLYPH G021
++<U00013159> /xf0/x93/x85/x99 EGYPTIAN HIEROGLYPH G022
++<U0001315A> /xf0/x93/x85/x9a EGYPTIAN HIEROGLYPH G023
++<U0001315B> /xf0/x93/x85/x9b EGYPTIAN HIEROGLYPH G024
++<U0001315C> /xf0/x93/x85/x9c EGYPTIAN HIEROGLYPH G025
++<U0001315D> /xf0/x93/x85/x9d EGYPTIAN HIEROGLYPH G026
++<U0001315E> /xf0/x93/x85/x9e EGYPTIAN HIEROGLYPH G026A
++<U0001315F> /xf0/x93/x85/x9f EGYPTIAN HIEROGLYPH G027
++<U00013160> /xf0/x93/x85/xa0 EGYPTIAN HIEROGLYPH G028
++<U00013161> /xf0/x93/x85/xa1 EGYPTIAN HIEROGLYPH G029
++<U00013162> /xf0/x93/x85/xa2 EGYPTIAN HIEROGLYPH G030
++<U00013163> /xf0/x93/x85/xa3 EGYPTIAN HIEROGLYPH G031
++<U00013164> /xf0/x93/x85/xa4 EGYPTIAN HIEROGLYPH G032
++<U00013165> /xf0/x93/x85/xa5 EGYPTIAN HIEROGLYPH G033
++<U00013166> /xf0/x93/x85/xa6 EGYPTIAN HIEROGLYPH G034
++<U00013167> /xf0/x93/x85/xa7 EGYPTIAN HIEROGLYPH G035
++<U00013168> /xf0/x93/x85/xa8 EGYPTIAN HIEROGLYPH G036
++<U00013169> /xf0/x93/x85/xa9 EGYPTIAN HIEROGLYPH G036A
++<U0001316A> /xf0/x93/x85/xaa EGYPTIAN HIEROGLYPH G037
++<U0001316B> /xf0/x93/x85/xab EGYPTIAN HIEROGLYPH G037A
++<U0001316C> /xf0/x93/x85/xac EGYPTIAN HIEROGLYPH G038
++<U0001316D> /xf0/x93/x85/xad EGYPTIAN HIEROGLYPH G039
++<U0001316E> /xf0/x93/x85/xae EGYPTIAN HIEROGLYPH G040
++<U0001316F> /xf0/x93/x85/xaf EGYPTIAN HIEROGLYPH G041
++<U00013170> /xf0/x93/x85/xb0 EGYPTIAN HIEROGLYPH G042
++<U00013171> /xf0/x93/x85/xb1 EGYPTIAN HIEROGLYPH G043
++<U00013172> /xf0/x93/x85/xb2 EGYPTIAN HIEROGLYPH G043A
++<U00013173> /xf0/x93/x85/xb3 EGYPTIAN HIEROGLYPH G044
++<U00013174> /xf0/x93/x85/xb4 EGYPTIAN HIEROGLYPH G045
++<U00013175> /xf0/x93/x85/xb5 EGYPTIAN HIEROGLYPH G045A
++<U00013176> /xf0/x93/x85/xb6 EGYPTIAN HIEROGLYPH G046
++<U00013177> /xf0/x93/x85/xb7 EGYPTIAN HIEROGLYPH G047
++<U00013178> /xf0/x93/x85/xb8 EGYPTIAN HIEROGLYPH G048
++<U00013179> /xf0/x93/x85/xb9 EGYPTIAN HIEROGLYPH G049
++<U0001317A> /xf0/x93/x85/xba EGYPTIAN HIEROGLYPH G050
++<U0001317B> /xf0/x93/x85/xbb EGYPTIAN HIEROGLYPH G051
++<U0001317C> /xf0/x93/x85/xbc EGYPTIAN HIEROGLYPH G052
++<U0001317D> /xf0/x93/x85/xbd EGYPTIAN HIEROGLYPH G053
++<U0001317E> /xf0/x93/x85/xbe EGYPTIAN HIEROGLYPH G054
++<U0001317F> /xf0/x93/x85/xbf EGYPTIAN HIEROGLYPH H001
++<U00013180> /xf0/x93/x86/x80 EGYPTIAN HIEROGLYPH H002
++<U00013181> /xf0/x93/x86/x81 EGYPTIAN HIEROGLYPH H003
++<U00013182> /xf0/x93/x86/x82 EGYPTIAN HIEROGLYPH H004
++<U00013183> /xf0/x93/x86/x83 EGYPTIAN HIEROGLYPH H005
++<U00013184> /xf0/x93/x86/x84 EGYPTIAN HIEROGLYPH H006
++<U00013185> /xf0/x93/x86/x85 EGYPTIAN HIEROGLYPH H006A
++<U00013186> /xf0/x93/x86/x86 EGYPTIAN HIEROGLYPH H007
++<U00013187> /xf0/x93/x86/x87 EGYPTIAN HIEROGLYPH H008
++<U00013188> /xf0/x93/x86/x88 EGYPTIAN HIEROGLYPH I001
++<U00013189> /xf0/x93/x86/x89 EGYPTIAN HIEROGLYPH I002
++<U0001318A> /xf0/x93/x86/x8a EGYPTIAN HIEROGLYPH I003
++<U0001318B> /xf0/x93/x86/x8b EGYPTIAN HIEROGLYPH I004
++<U0001318C> /xf0/x93/x86/x8c EGYPTIAN HIEROGLYPH I005
++<U0001318D> /xf0/x93/x86/x8d EGYPTIAN HIEROGLYPH I005A
++<U0001318E> /xf0/x93/x86/x8e EGYPTIAN HIEROGLYPH I006
++<U0001318F> /xf0/x93/x86/x8f EGYPTIAN HIEROGLYPH I007
++<U00013190> /xf0/x93/x86/x90 EGYPTIAN HIEROGLYPH I008
++<U00013191> /xf0/x93/x86/x91 EGYPTIAN HIEROGLYPH I009
++<U00013192> /xf0/x93/x86/x92 EGYPTIAN HIEROGLYPH I009A
++<U00013193> /xf0/x93/x86/x93 EGYPTIAN HIEROGLYPH I010
++<U00013194> /xf0/x93/x86/x94 EGYPTIAN HIEROGLYPH I010A
++<U00013195> /xf0/x93/x86/x95 EGYPTIAN HIEROGLYPH I011
++<U00013196> /xf0/x93/x86/x96 EGYPTIAN HIEROGLYPH I011A
++<U00013197> /xf0/x93/x86/x97 EGYPTIAN HIEROGLYPH I012
++<U00013198> /xf0/x93/x86/x98 EGYPTIAN HIEROGLYPH I013
++<U00013199> /xf0/x93/x86/x99 EGYPTIAN HIEROGLYPH I014
++<U0001319A> /xf0/x93/x86/x9a EGYPTIAN HIEROGLYPH I015
++<U0001319B> /xf0/x93/x86/x9b EGYPTIAN HIEROGLYPH K001
++<U0001319C> /xf0/x93/x86/x9c EGYPTIAN HIEROGLYPH K002
++<U0001319D> /xf0/x93/x86/x9d EGYPTIAN HIEROGLYPH K003
++<U0001319E> /xf0/x93/x86/x9e EGYPTIAN HIEROGLYPH K004
++<U0001319F> /xf0/x93/x86/x9f EGYPTIAN HIEROGLYPH K005
++<U000131A0> /xf0/x93/x86/xa0 EGYPTIAN HIEROGLYPH K006
++<U000131A1> /xf0/x93/x86/xa1 EGYPTIAN HIEROGLYPH K007
++<U000131A2> /xf0/x93/x86/xa2 EGYPTIAN HIEROGLYPH K008
++<U000131A3> /xf0/x93/x86/xa3 EGYPTIAN HIEROGLYPH L001
++<U000131A4> /xf0/x93/x86/xa4 EGYPTIAN HIEROGLYPH L002
++<U000131A5> /xf0/x93/x86/xa5 EGYPTIAN HIEROGLYPH L002A
++<U000131A6> /xf0/x93/x86/xa6 EGYPTIAN HIEROGLYPH L003
++<U000131A7> /xf0/x93/x86/xa7 EGYPTIAN HIEROGLYPH L004
++<U000131A8> /xf0/x93/x86/xa8 EGYPTIAN HIEROGLYPH L005
++<U000131A9> /xf0/x93/x86/xa9 EGYPTIAN HIEROGLYPH L006
++<U000131AA> /xf0/x93/x86/xaa EGYPTIAN HIEROGLYPH L006A
++<U000131AB> /xf0/x93/x86/xab EGYPTIAN HIEROGLYPH L007
++<U000131AC> /xf0/x93/x86/xac EGYPTIAN HIEROGLYPH L008
++<U000131AD> /xf0/x93/x86/xad EGYPTIAN HIEROGLYPH M001
++<U000131AE> /xf0/x93/x86/xae EGYPTIAN HIEROGLYPH M001A
++<U000131AF> /xf0/x93/x86/xaf EGYPTIAN HIEROGLYPH M001B
++<U000131B0> /xf0/x93/x86/xb0 EGYPTIAN HIEROGLYPH M002
++<U000131B1> /xf0/x93/x86/xb1 EGYPTIAN HIEROGLYPH M003
++<U000131B2> /xf0/x93/x86/xb2 EGYPTIAN HIEROGLYPH M003A
++<U000131B3> /xf0/x93/x86/xb3 EGYPTIAN HIEROGLYPH M004
++<U000131B4> /xf0/x93/x86/xb4 EGYPTIAN HIEROGLYPH M005
++<U000131B5> /xf0/x93/x86/xb5 EGYPTIAN HIEROGLYPH M006
++<U000131B6> /xf0/x93/x86/xb6 EGYPTIAN HIEROGLYPH M007
++<U000131B7> /xf0/x93/x86/xb7 EGYPTIAN HIEROGLYPH M008
++<U000131B8> /xf0/x93/x86/xb8 EGYPTIAN HIEROGLYPH M009
++<U000131B9> /xf0/x93/x86/xb9 EGYPTIAN HIEROGLYPH M010
++<U000131BA> /xf0/x93/x86/xba EGYPTIAN HIEROGLYPH M010A
++<U000131BB> /xf0/x93/x86/xbb EGYPTIAN HIEROGLYPH M011
++<U000131BC> /xf0/x93/x86/xbc EGYPTIAN HIEROGLYPH M012
++<U000131BD> /xf0/x93/x86/xbd EGYPTIAN HIEROGLYPH M012A
++<U000131BE> /xf0/x93/x86/xbe EGYPTIAN HIEROGLYPH M012B
++<U000131BF> /xf0/x93/x86/xbf EGYPTIAN HIEROGLYPH M012C
++<U000131C0> /xf0/x93/x87/x80 EGYPTIAN HIEROGLYPH M012D
++<U000131C1> /xf0/x93/x87/x81 EGYPTIAN HIEROGLYPH M012E
++<U000131C2> /xf0/x93/x87/x82 EGYPTIAN HIEROGLYPH M012F
++<U000131C3> /xf0/x93/x87/x83 EGYPTIAN HIEROGLYPH M012G
++<U000131C4> /xf0/x93/x87/x84 EGYPTIAN HIEROGLYPH M012H
++<U000131C5> /xf0/x93/x87/x85 EGYPTIAN HIEROGLYPH M013
++<U000131C6> /xf0/x93/x87/x86 EGYPTIAN HIEROGLYPH M014
++<U000131C7> /xf0/x93/x87/x87 EGYPTIAN HIEROGLYPH M015
++<U000131C8> /xf0/x93/x87/x88 EGYPTIAN HIEROGLYPH M015A
++<U000131C9> /xf0/x93/x87/x89 EGYPTIAN HIEROGLYPH M016
++<U000131CA> /xf0/x93/x87/x8a EGYPTIAN HIEROGLYPH M016A
++<U000131CB> /xf0/x93/x87/x8b EGYPTIAN HIEROGLYPH M017
++<U000131CC> /xf0/x93/x87/x8c EGYPTIAN HIEROGLYPH M017A
++<U000131CD> /xf0/x93/x87/x8d EGYPTIAN HIEROGLYPH M018
++<U000131CE> /xf0/x93/x87/x8e EGYPTIAN HIEROGLYPH M019
++<U000131CF> /xf0/x93/x87/x8f EGYPTIAN HIEROGLYPH M020
++<U000131D0> /xf0/x93/x87/x90 EGYPTIAN HIEROGLYPH M021
++<U000131D1> /xf0/x93/x87/x91 EGYPTIAN HIEROGLYPH M022
++<U000131D2> /xf0/x93/x87/x92 EGYPTIAN HIEROGLYPH M022A
++<U000131D3> /xf0/x93/x87/x93 EGYPTIAN HIEROGLYPH M023
++<U000131D4> /xf0/x93/x87/x94 EGYPTIAN HIEROGLYPH M024
++<U000131D5> /xf0/x93/x87/x95 EGYPTIAN HIEROGLYPH M024A
++<U000131D6> /xf0/x93/x87/x96 EGYPTIAN HIEROGLYPH M025
++<U000131D7> /xf0/x93/x87/x97 EGYPTIAN HIEROGLYPH M026
++<U000131D8> /xf0/x93/x87/x98 EGYPTIAN HIEROGLYPH M027
++<U000131D9> /xf0/x93/x87/x99 EGYPTIAN HIEROGLYPH M028
++<U000131DA> /xf0/x93/x87/x9a EGYPTIAN HIEROGLYPH M028A
++<U000131DB> /xf0/x93/x87/x9b EGYPTIAN HIEROGLYPH M029
++<U000131DC> /xf0/x93/x87/x9c EGYPTIAN HIEROGLYPH M030
++<U000131DD> /xf0/x93/x87/x9d EGYPTIAN HIEROGLYPH M031
++<U000131DE> /xf0/x93/x87/x9e EGYPTIAN HIEROGLYPH M031A
++<U000131DF> /xf0/x93/x87/x9f EGYPTIAN HIEROGLYPH M032
++<U000131E0> /xf0/x93/x87/xa0 EGYPTIAN HIEROGLYPH M033
++<U000131E1> /xf0/x93/x87/xa1 EGYPTIAN HIEROGLYPH M033A
++<U000131E2> /xf0/x93/x87/xa2 EGYPTIAN HIEROGLYPH M033B
++<U000131E3> /xf0/x93/x87/xa3 EGYPTIAN HIEROGLYPH M034
++<U000131E4> /xf0/x93/x87/xa4 EGYPTIAN HIEROGLYPH M035
++<U000131E5> /xf0/x93/x87/xa5 EGYPTIAN HIEROGLYPH M036
++<U000131E6> /xf0/x93/x87/xa6 EGYPTIAN HIEROGLYPH M037
++<U000131E7> /xf0/x93/x87/xa7 EGYPTIAN HIEROGLYPH M038
++<U000131E8> /xf0/x93/x87/xa8 EGYPTIAN HIEROGLYPH M039
++<U000131E9> /xf0/x93/x87/xa9 EGYPTIAN HIEROGLYPH M040
++<U000131EA> /xf0/x93/x87/xaa EGYPTIAN HIEROGLYPH M040A
++<U000131EB> /xf0/x93/x87/xab EGYPTIAN HIEROGLYPH M041
++<U000131EC> /xf0/x93/x87/xac EGYPTIAN HIEROGLYPH M042
++<U000131ED> /xf0/x93/x87/xad EGYPTIAN HIEROGLYPH M043
++<U000131EE> /xf0/x93/x87/xae EGYPTIAN HIEROGLYPH M044
++<U000131EF> /xf0/x93/x87/xaf EGYPTIAN HIEROGLYPH N001
++<U000131F0> /xf0/x93/x87/xb0 EGYPTIAN HIEROGLYPH N002
++<U000131F1> /xf0/x93/x87/xb1 EGYPTIAN HIEROGLYPH N003
++<U000131F2> /xf0/x93/x87/xb2 EGYPTIAN HIEROGLYPH N004
++<U000131F3> /xf0/x93/x87/xb3 EGYPTIAN HIEROGLYPH N005
++<U000131F4> /xf0/x93/x87/xb4 EGYPTIAN HIEROGLYPH N006
++<U000131F5> /xf0/x93/x87/xb5 EGYPTIAN HIEROGLYPH N007
++<U000131F6> /xf0/x93/x87/xb6 EGYPTIAN HIEROGLYPH N008
++<U000131F7> /xf0/x93/x87/xb7 EGYPTIAN HIEROGLYPH N009
++<U000131F8> /xf0/x93/x87/xb8 EGYPTIAN HIEROGLYPH N010
++<U000131F9> /xf0/x93/x87/xb9 EGYPTIAN HIEROGLYPH N011
++<U000131FA> /xf0/x93/x87/xba EGYPTIAN HIEROGLYPH N012
++<U000131FB> /xf0/x93/x87/xbb EGYPTIAN HIEROGLYPH N013
++<U000131FC> /xf0/x93/x87/xbc EGYPTIAN HIEROGLYPH N014
++<U000131FD> /xf0/x93/x87/xbd EGYPTIAN HIEROGLYPH N015
++<U000131FE> /xf0/x93/x87/xbe EGYPTIAN HIEROGLYPH N016
++<U000131FF> /xf0/x93/x87/xbf EGYPTIAN HIEROGLYPH N017
++<U00013200> /xf0/x93/x88/x80 EGYPTIAN HIEROGLYPH N018
++<U00013201> /xf0/x93/x88/x81 EGYPTIAN HIEROGLYPH N018A
++<U00013202> /xf0/x93/x88/x82 EGYPTIAN HIEROGLYPH N018B
++<U00013203> /xf0/x93/x88/x83 EGYPTIAN HIEROGLYPH N019
++<U00013204> /xf0/x93/x88/x84 EGYPTIAN HIEROGLYPH N020
++<U00013205> /xf0/x93/x88/x85 EGYPTIAN HIEROGLYPH N021
++<U00013206> /xf0/x93/x88/x86 EGYPTIAN HIEROGLYPH N022
++<U00013207> /xf0/x93/x88/x87 EGYPTIAN HIEROGLYPH N023
++<U00013208> /xf0/x93/x88/x88 EGYPTIAN HIEROGLYPH N024
++<U00013209> /xf0/x93/x88/x89 EGYPTIAN HIEROGLYPH N025
++<U0001320A> /xf0/x93/x88/x8a EGYPTIAN HIEROGLYPH N025A
++<U0001320B> /xf0/x93/x88/x8b EGYPTIAN HIEROGLYPH N026
++<U0001320C> /xf0/x93/x88/x8c EGYPTIAN HIEROGLYPH N027
++<U0001320D> /xf0/x93/x88/x8d EGYPTIAN HIEROGLYPH N028
++<U0001320E> /xf0/x93/x88/x8e EGYPTIAN HIEROGLYPH N029
++<U0001320F> /xf0/x93/x88/x8f EGYPTIAN HIEROGLYPH N030
++<U00013210> /xf0/x93/x88/x90 EGYPTIAN HIEROGLYPH N031
++<U00013211> /xf0/x93/x88/x91 EGYPTIAN HIEROGLYPH N032
++<U00013212> /xf0/x93/x88/x92 EGYPTIAN HIEROGLYPH N033
++<U00013213> /xf0/x93/x88/x93 EGYPTIAN HIEROGLYPH N033A
++<U00013214> /xf0/x93/x88/x94 EGYPTIAN HIEROGLYPH N034
++<U00013215> /xf0/x93/x88/x95 EGYPTIAN HIEROGLYPH N034A
++<U00013216> /xf0/x93/x88/x96 EGYPTIAN HIEROGLYPH N035
++<U00013217> /xf0/x93/x88/x97 EGYPTIAN HIEROGLYPH N035A
++<U00013218> /xf0/x93/x88/x98 EGYPTIAN HIEROGLYPH N036
++<U00013219> /xf0/x93/x88/x99 EGYPTIAN HIEROGLYPH N037
++<U0001321A> /xf0/x93/x88/x9a EGYPTIAN HIEROGLYPH N037A
++<U0001321B> /xf0/x93/x88/x9b EGYPTIAN HIEROGLYPH N038
++<U0001321C> /xf0/x93/x88/x9c EGYPTIAN HIEROGLYPH N039
++<U0001321D> /xf0/x93/x88/x9d EGYPTIAN HIEROGLYPH N040
++<U0001321E> /xf0/x93/x88/x9e EGYPTIAN HIEROGLYPH N041
++<U0001321F> /xf0/x93/x88/x9f EGYPTIAN HIEROGLYPH N042
++<U00013220> /xf0/x93/x88/xa0 EGYPTIAN HIEROGLYPH NL001
++<U00013221> /xf0/x93/x88/xa1 EGYPTIAN HIEROGLYPH NL002
++<U00013222> /xf0/x93/x88/xa2 EGYPTIAN HIEROGLYPH NL003
++<U00013223> /xf0/x93/x88/xa3 EGYPTIAN HIEROGLYPH NL004
++<U00013224> /xf0/x93/x88/xa4 EGYPTIAN HIEROGLYPH NL005
++<U00013225> /xf0/x93/x88/xa5 EGYPTIAN HIEROGLYPH NL005A
++<U00013226> /xf0/x93/x88/xa6 EGYPTIAN HIEROGLYPH NL006
++<U00013227> /xf0/x93/x88/xa7 EGYPTIAN HIEROGLYPH NL007
++<U00013228> /xf0/x93/x88/xa8 EGYPTIAN HIEROGLYPH NL008
++<U00013229> /xf0/x93/x88/xa9 EGYPTIAN HIEROGLYPH NL009
++<U0001322A> /xf0/x93/x88/xaa EGYPTIAN HIEROGLYPH NL010
++<U0001322B> /xf0/x93/x88/xab EGYPTIAN HIEROGLYPH NL011
++<U0001322C> /xf0/x93/x88/xac EGYPTIAN HIEROGLYPH NL012
++<U0001322D> /xf0/x93/x88/xad EGYPTIAN HIEROGLYPH NL013
++<U0001322E> /xf0/x93/x88/xae EGYPTIAN HIEROGLYPH NL014
++<U0001322F> /xf0/x93/x88/xaf EGYPTIAN HIEROGLYPH NL015
++<U00013230> /xf0/x93/x88/xb0 EGYPTIAN HIEROGLYPH NL016
++<U00013231> /xf0/x93/x88/xb1 EGYPTIAN HIEROGLYPH NL017
++<U00013232> /xf0/x93/x88/xb2 EGYPTIAN HIEROGLYPH NL017A
++<U00013233> /xf0/x93/x88/xb3 EGYPTIAN HIEROGLYPH NL018
++<U00013234> /xf0/x93/x88/xb4 EGYPTIAN HIEROGLYPH NL019
++<U00013235> /xf0/x93/x88/xb5 EGYPTIAN HIEROGLYPH NL020
++<U00013236> /xf0/x93/x88/xb6 EGYPTIAN HIEROGLYPH NU001
++<U00013237> /xf0/x93/x88/xb7 EGYPTIAN HIEROGLYPH NU002
++<U00013238> /xf0/x93/x88/xb8 EGYPTIAN HIEROGLYPH NU003
++<U00013239> /xf0/x93/x88/xb9 EGYPTIAN HIEROGLYPH NU004
++<U0001323A> /xf0/x93/x88/xba EGYPTIAN HIEROGLYPH NU005
++<U0001323B> /xf0/x93/x88/xbb EGYPTIAN HIEROGLYPH NU006
++<U0001323C> /xf0/x93/x88/xbc EGYPTIAN HIEROGLYPH NU007
++<U0001323D> /xf0/x93/x88/xbd EGYPTIAN HIEROGLYPH NU008
++<U0001323E> /xf0/x93/x88/xbe EGYPTIAN HIEROGLYPH NU009
++<U0001323F> /xf0/x93/x88/xbf EGYPTIAN HIEROGLYPH NU010
++<U00013240> /xf0/x93/x89/x80 EGYPTIAN HIEROGLYPH NU010A
++<U00013241> /xf0/x93/x89/x81 EGYPTIAN HIEROGLYPH NU011
++<U00013242> /xf0/x93/x89/x82 EGYPTIAN HIEROGLYPH NU011A
++<U00013243> /xf0/x93/x89/x83 EGYPTIAN HIEROGLYPH NU012
++<U00013244> /xf0/x93/x89/x84 EGYPTIAN HIEROGLYPH NU013
++<U00013245> /xf0/x93/x89/x85 EGYPTIAN HIEROGLYPH NU014
++<U00013246> /xf0/x93/x89/x86 EGYPTIAN HIEROGLYPH NU015
++<U00013247> /xf0/x93/x89/x87 EGYPTIAN HIEROGLYPH NU016
++<U00013248> /xf0/x93/x89/x88 EGYPTIAN HIEROGLYPH NU017
++<U00013249> /xf0/x93/x89/x89 EGYPTIAN HIEROGLYPH NU018
++<U0001324A> /xf0/x93/x89/x8a EGYPTIAN HIEROGLYPH NU018A
++<U0001324B> /xf0/x93/x89/x8b EGYPTIAN HIEROGLYPH NU019
++<U0001324C> /xf0/x93/x89/x8c EGYPTIAN HIEROGLYPH NU020
++<U0001324D> /xf0/x93/x89/x8d EGYPTIAN HIEROGLYPH NU021
++<U0001324E> /xf0/x93/x89/x8e EGYPTIAN HIEROGLYPH NU022
++<U0001324F> /xf0/x93/x89/x8f EGYPTIAN HIEROGLYPH NU022A
++<U00013250> /xf0/x93/x89/x90 EGYPTIAN HIEROGLYPH O001
++<U00013251> /xf0/x93/x89/x91 EGYPTIAN HIEROGLYPH O001A
++<U00013252> /xf0/x93/x89/x92 EGYPTIAN HIEROGLYPH O002
++<U00013253> /xf0/x93/x89/x93 EGYPTIAN HIEROGLYPH O003
++<U00013254> /xf0/x93/x89/x94 EGYPTIAN HIEROGLYPH O004
++<U00013255> /xf0/x93/x89/x95 EGYPTIAN HIEROGLYPH O005
++<U00013256> /xf0/x93/x89/x96 EGYPTIAN HIEROGLYPH O005A
++<U00013257> /xf0/x93/x89/x97 EGYPTIAN HIEROGLYPH O006
++<U00013258> /xf0/x93/x89/x98 EGYPTIAN HIEROGLYPH O006A
++<U00013259> /xf0/x93/x89/x99 EGYPTIAN HIEROGLYPH O006B
++<U0001325A> /xf0/x93/x89/x9a EGYPTIAN HIEROGLYPH O006C
++<U0001325B> /xf0/x93/x89/x9b EGYPTIAN HIEROGLYPH O006D
++<U0001325C> /xf0/x93/x89/x9c EGYPTIAN HIEROGLYPH O006E
++<U0001325D> /xf0/x93/x89/x9d EGYPTIAN HIEROGLYPH O006F
++<U0001325E> /xf0/x93/x89/x9e EGYPTIAN HIEROGLYPH O007
++<U0001325F> /xf0/x93/x89/x9f EGYPTIAN HIEROGLYPH O008
++<U00013260> /xf0/x93/x89/xa0 EGYPTIAN HIEROGLYPH O009
++<U00013261> /xf0/x93/x89/xa1 EGYPTIAN HIEROGLYPH O010
++<U00013262> /xf0/x93/x89/xa2 EGYPTIAN HIEROGLYPH O010A
++<U00013263> /xf0/x93/x89/xa3 EGYPTIAN HIEROGLYPH O010B
++<U00013264> /xf0/x93/x89/xa4 EGYPTIAN HIEROGLYPH O010C
++<U00013265> /xf0/x93/x89/xa5 EGYPTIAN HIEROGLYPH O011
++<U00013266> /xf0/x93/x89/xa6 EGYPTIAN HIEROGLYPH O012
++<U00013267> /xf0/x93/x89/xa7 EGYPTIAN HIEROGLYPH O013
++<U00013268> /xf0/x93/x89/xa8 EGYPTIAN HIEROGLYPH O014
++<U00013269> /xf0/x93/x89/xa9 EGYPTIAN HIEROGLYPH O015
++<U0001326A> /xf0/x93/x89/xaa EGYPTIAN HIEROGLYPH O016
++<U0001326B> /xf0/x93/x89/xab EGYPTIAN HIEROGLYPH O017
++<U0001326C> /xf0/x93/x89/xac EGYPTIAN HIEROGLYPH O018
++<U0001326D> /xf0/x93/x89/xad EGYPTIAN HIEROGLYPH O019
++<U0001326E> /xf0/x93/x89/xae EGYPTIAN HIEROGLYPH O019A
++<U0001326F> /xf0/x93/x89/xaf EGYPTIAN HIEROGLYPH O020
++<U00013270> /xf0/x93/x89/xb0 EGYPTIAN HIEROGLYPH O020A
++<U00013271> /xf0/x93/x89/xb1 EGYPTIAN HIEROGLYPH O021
++<U00013272> /xf0/x93/x89/xb2 EGYPTIAN HIEROGLYPH O022
++<U00013273> /xf0/x93/x89/xb3 EGYPTIAN HIEROGLYPH O023
++<U00013274> /xf0/x93/x89/xb4 EGYPTIAN HIEROGLYPH O024
++<U00013275> /xf0/x93/x89/xb5 EGYPTIAN HIEROGLYPH O024A
++<U00013276> /xf0/x93/x89/xb6 EGYPTIAN HIEROGLYPH O025
++<U00013277> /xf0/x93/x89/xb7 EGYPTIAN HIEROGLYPH O025A
++<U00013278> /xf0/x93/x89/xb8 EGYPTIAN HIEROGLYPH O026
++<U00013279> /xf0/x93/x89/xb9 EGYPTIAN HIEROGLYPH O027
++<U0001327A> /xf0/x93/x89/xba EGYPTIAN HIEROGLYPH O028
++<U0001327B> /xf0/x93/x89/xbb EGYPTIAN HIEROGLYPH O029
++<U0001327C> /xf0/x93/x89/xbc EGYPTIAN HIEROGLYPH O029A
++<U0001327D> /xf0/x93/x89/xbd EGYPTIAN HIEROGLYPH O030
++<U0001327E> /xf0/x93/x89/xbe EGYPTIAN HIEROGLYPH O030A
++<U0001327F> /xf0/x93/x89/xbf EGYPTIAN HIEROGLYPH O031
++<U00013280> /xf0/x93/x8a/x80 EGYPTIAN HIEROGLYPH O032
++<U00013281> /xf0/x93/x8a/x81 EGYPTIAN HIEROGLYPH O033
++<U00013282> /xf0/x93/x8a/x82 EGYPTIAN HIEROGLYPH O033A
++<U00013283> /xf0/x93/x8a/x83 EGYPTIAN HIEROGLYPH O034
++<U00013284> /xf0/x93/x8a/x84 EGYPTIAN HIEROGLYPH O035
++<U00013285> /xf0/x93/x8a/x85 EGYPTIAN HIEROGLYPH O036
++<U00013286> /xf0/x93/x8a/x86 EGYPTIAN HIEROGLYPH O036A
++<U00013287> /xf0/x93/x8a/x87 EGYPTIAN HIEROGLYPH O036B
++<U00013288> /xf0/x93/x8a/x88 EGYPTIAN HIEROGLYPH O036C
++<U00013289> /xf0/x93/x8a/x89 EGYPTIAN HIEROGLYPH O036D
++<U0001328A> /xf0/x93/x8a/x8a EGYPTIAN HIEROGLYPH O037
++<U0001328B> /xf0/x93/x8a/x8b EGYPTIAN HIEROGLYPH O038
++<U0001328C> /xf0/x93/x8a/x8c EGYPTIAN HIEROGLYPH O039
++<U0001328D> /xf0/x93/x8a/x8d EGYPTIAN HIEROGLYPH O040
++<U0001328E> /xf0/x93/x8a/x8e EGYPTIAN HIEROGLYPH O041
++<U0001328F> /xf0/x93/x8a/x8f EGYPTIAN HIEROGLYPH O042
++<U00013290> /xf0/x93/x8a/x90 EGYPTIAN HIEROGLYPH O043
++<U00013291> /xf0/x93/x8a/x91 EGYPTIAN HIEROGLYPH O044
++<U00013292> /xf0/x93/x8a/x92 EGYPTIAN HIEROGLYPH O045
++<U00013293> /xf0/x93/x8a/x93 EGYPTIAN HIEROGLYPH O046
++<U00013294> /xf0/x93/x8a/x94 EGYPTIAN HIEROGLYPH O047
++<U00013295> /xf0/x93/x8a/x95 EGYPTIAN HIEROGLYPH O048
++<U00013296> /xf0/x93/x8a/x96 EGYPTIAN HIEROGLYPH O049
++<U00013297> /xf0/x93/x8a/x97 EGYPTIAN HIEROGLYPH O050
++<U00013298> /xf0/x93/x8a/x98 EGYPTIAN HIEROGLYPH O050A
++<U00013299> /xf0/x93/x8a/x99 EGYPTIAN HIEROGLYPH O050B
++<U0001329A> /xf0/x93/x8a/x9a EGYPTIAN HIEROGLYPH O051
++<U0001329B> /xf0/x93/x8a/x9b EGYPTIAN HIEROGLYPH P001
++<U0001329C> /xf0/x93/x8a/x9c EGYPTIAN HIEROGLYPH P001A
++<U0001329D> /xf0/x93/x8a/x9d EGYPTIAN HIEROGLYPH P002
++<U0001329E> /xf0/x93/x8a/x9e EGYPTIAN HIEROGLYPH P003
++<U0001329F> /xf0/x93/x8a/x9f EGYPTIAN HIEROGLYPH P003A
++<U000132A0> /xf0/x93/x8a/xa0 EGYPTIAN HIEROGLYPH P004
++<U000132A1> /xf0/x93/x8a/xa1 EGYPTIAN HIEROGLYPH P005
++<U000132A2> /xf0/x93/x8a/xa2 EGYPTIAN HIEROGLYPH P006
++<U000132A3> /xf0/x93/x8a/xa3 EGYPTIAN HIEROGLYPH P007
++<U000132A4> /xf0/x93/x8a/xa4 EGYPTIAN HIEROGLYPH P008
++<U000132A5> /xf0/x93/x8a/xa5 EGYPTIAN HIEROGLYPH P009
++<U000132A6> /xf0/x93/x8a/xa6 EGYPTIAN HIEROGLYPH P010
++<U000132A7> /xf0/x93/x8a/xa7 EGYPTIAN HIEROGLYPH P011
++<U000132A8> /xf0/x93/x8a/xa8 EGYPTIAN HIEROGLYPH Q001
++<U000132A9> /xf0/x93/x8a/xa9 EGYPTIAN HIEROGLYPH Q002
++<U000132AA> /xf0/x93/x8a/xaa EGYPTIAN HIEROGLYPH Q003
++<U000132AB> /xf0/x93/x8a/xab EGYPTIAN HIEROGLYPH Q004
++<U000132AC> /xf0/x93/x8a/xac EGYPTIAN HIEROGLYPH Q005
++<U000132AD> /xf0/x93/x8a/xad EGYPTIAN HIEROGLYPH Q006
++<U000132AE> /xf0/x93/x8a/xae EGYPTIAN HIEROGLYPH Q007
++<U000132AF> /xf0/x93/x8a/xaf EGYPTIAN HIEROGLYPH R001
++<U000132B0> /xf0/x93/x8a/xb0 EGYPTIAN HIEROGLYPH R002
++<U000132B1> /xf0/x93/x8a/xb1 EGYPTIAN HIEROGLYPH R002A
++<U000132B2> /xf0/x93/x8a/xb2 EGYPTIAN HIEROGLYPH R003
++<U000132B3> /xf0/x93/x8a/xb3 EGYPTIAN HIEROGLYPH R003A
++<U000132B4> /xf0/x93/x8a/xb4 EGYPTIAN HIEROGLYPH R003B
++<U000132B5> /xf0/x93/x8a/xb5 EGYPTIAN HIEROGLYPH R004
++<U000132B6> /xf0/x93/x8a/xb6 EGYPTIAN HIEROGLYPH R005
++<U000132B7> /xf0/x93/x8a/xb7 EGYPTIAN HIEROGLYPH R006
++<U000132B8> /xf0/x93/x8a/xb8 EGYPTIAN HIEROGLYPH R007
++<U000132B9> /xf0/x93/x8a/xb9 EGYPTIAN HIEROGLYPH R008
++<U000132BA> /xf0/x93/x8a/xba EGYPTIAN HIEROGLYPH R009
++<U000132BB> /xf0/x93/x8a/xbb EGYPTIAN HIEROGLYPH R010
++<U000132BC> /xf0/x93/x8a/xbc EGYPTIAN HIEROGLYPH R010A
++<U000132BD> /xf0/x93/x8a/xbd EGYPTIAN HIEROGLYPH R011
++<U000132BE> /xf0/x93/x8a/xbe EGYPTIAN HIEROGLYPH R012
++<U000132BF> /xf0/x93/x8a/xbf EGYPTIAN HIEROGLYPH R013
++<U000132C0> /xf0/x93/x8b/x80 EGYPTIAN HIEROGLYPH R014
++<U000132C1> /xf0/x93/x8b/x81 EGYPTIAN HIEROGLYPH R015
++<U000132C2> /xf0/x93/x8b/x82 EGYPTIAN HIEROGLYPH R016
++<U000132C3> /xf0/x93/x8b/x83 EGYPTIAN HIEROGLYPH R016A
++<U000132C4> /xf0/x93/x8b/x84 EGYPTIAN HIEROGLYPH R017
++<U000132C5> /xf0/x93/x8b/x85 EGYPTIAN HIEROGLYPH R018
++<U000132C6> /xf0/x93/x8b/x86 EGYPTIAN HIEROGLYPH R019
++<U000132C7> /xf0/x93/x8b/x87 EGYPTIAN HIEROGLYPH R020
++<U000132C8> /xf0/x93/x8b/x88 EGYPTIAN HIEROGLYPH R021
++<U000132C9> /xf0/x93/x8b/x89 EGYPTIAN HIEROGLYPH R022
++<U000132CA> /xf0/x93/x8b/x8a EGYPTIAN HIEROGLYPH R023
++<U000132CB> /xf0/x93/x8b/x8b EGYPTIAN HIEROGLYPH R024
++<U000132CC> /xf0/x93/x8b/x8c EGYPTIAN HIEROGLYPH R025
++<U000132CD> /xf0/x93/x8b/x8d EGYPTIAN HIEROGLYPH R026
++<U000132CE> /xf0/x93/x8b/x8e EGYPTIAN HIEROGLYPH R027
++<U000132CF> /xf0/x93/x8b/x8f EGYPTIAN HIEROGLYPH R028
++<U000132D0> /xf0/x93/x8b/x90 EGYPTIAN HIEROGLYPH R029
++<U000132D1> /xf0/x93/x8b/x91 EGYPTIAN HIEROGLYPH S001
++<U000132D2> /xf0/x93/x8b/x92 EGYPTIAN HIEROGLYPH S002
++<U000132D3> /xf0/x93/x8b/x93 EGYPTIAN HIEROGLYPH S002A
++<U000132D4> /xf0/x93/x8b/x94 EGYPTIAN HIEROGLYPH S003
++<U000132D5> /xf0/x93/x8b/x95 EGYPTIAN HIEROGLYPH S004
++<U000132D6> /xf0/x93/x8b/x96 EGYPTIAN HIEROGLYPH S005
++<U000132D7> /xf0/x93/x8b/x97 EGYPTIAN HIEROGLYPH S006
++<U000132D8> /xf0/x93/x8b/x98 EGYPTIAN HIEROGLYPH S006A
++<U000132D9> /xf0/x93/x8b/x99 EGYPTIAN HIEROGLYPH S007
++<U000132DA> /xf0/x93/x8b/x9a EGYPTIAN HIEROGLYPH S008
++<U000132DB> /xf0/x93/x8b/x9b EGYPTIAN HIEROGLYPH S009
++<U000132DC> /xf0/x93/x8b/x9c EGYPTIAN HIEROGLYPH S010
++<U000132DD> /xf0/x93/x8b/x9d EGYPTIAN HIEROGLYPH S011
++<U000132DE> /xf0/x93/x8b/x9e EGYPTIAN HIEROGLYPH S012
++<U000132DF> /xf0/x93/x8b/x9f EGYPTIAN HIEROGLYPH S013
++<U000132E0> /xf0/x93/x8b/xa0 EGYPTIAN HIEROGLYPH S014
++<U000132E1> /xf0/x93/x8b/xa1 EGYPTIAN HIEROGLYPH S014A
++<U000132E2> /xf0/x93/x8b/xa2 EGYPTIAN HIEROGLYPH S014B
++<U000132E3> /xf0/x93/x8b/xa3 EGYPTIAN HIEROGLYPH S015
++<U000132E4> /xf0/x93/x8b/xa4 EGYPTIAN HIEROGLYPH S016
++<U000132E5> /xf0/x93/x8b/xa5 EGYPTIAN HIEROGLYPH S017
++<U000132E6> /xf0/x93/x8b/xa6 EGYPTIAN HIEROGLYPH S017A
++<U000132E7> /xf0/x93/x8b/xa7 EGYPTIAN HIEROGLYPH S018
++<U000132E8> /xf0/x93/x8b/xa8 EGYPTIAN HIEROGLYPH S019
++<U000132E9> /xf0/x93/x8b/xa9 EGYPTIAN HIEROGLYPH S020
++<U000132EA> /xf0/x93/x8b/xaa EGYPTIAN HIEROGLYPH S021
++<U000132EB> /xf0/x93/x8b/xab EGYPTIAN HIEROGLYPH S022
++<U000132EC> /xf0/x93/x8b/xac EGYPTIAN HIEROGLYPH S023
++<U000132ED> /xf0/x93/x8b/xad EGYPTIAN HIEROGLYPH S024
++<U000132EE> /xf0/x93/x8b/xae EGYPTIAN HIEROGLYPH S025
++<U000132EF> /xf0/x93/x8b/xaf EGYPTIAN HIEROGLYPH S026
++<U000132F0> /xf0/x93/x8b/xb0 EGYPTIAN HIEROGLYPH S026A
++<U000132F1> /xf0/x93/x8b/xb1 EGYPTIAN HIEROGLYPH S026B
++<U000132F2> /xf0/x93/x8b/xb2 EGYPTIAN HIEROGLYPH S027
++<U000132F3> /xf0/x93/x8b/xb3 EGYPTIAN HIEROGLYPH S028
++<U000132F4> /xf0/x93/x8b/xb4 EGYPTIAN HIEROGLYPH S029
++<U000132F5> /xf0/x93/x8b/xb5 EGYPTIAN HIEROGLYPH S030
++<U000132F6> /xf0/x93/x8b/xb6 EGYPTIAN HIEROGLYPH S031
++<U000132F7> /xf0/x93/x8b/xb7 EGYPTIAN HIEROGLYPH S032
++<U000132F8> /xf0/x93/x8b/xb8 EGYPTIAN HIEROGLYPH S033
++<U000132F9> /xf0/x93/x8b/xb9 EGYPTIAN HIEROGLYPH S034
++<U000132FA> /xf0/x93/x8b/xba EGYPTIAN HIEROGLYPH S035
++<U000132FB> /xf0/x93/x8b/xbb EGYPTIAN HIEROGLYPH S035A
++<U000132FC> /xf0/x93/x8b/xbc EGYPTIAN HIEROGLYPH S036
++<U000132FD> /xf0/x93/x8b/xbd EGYPTIAN HIEROGLYPH S037
++<U000132FE> /xf0/x93/x8b/xbe EGYPTIAN HIEROGLYPH S038
++<U000132FF> /xf0/x93/x8b/xbf EGYPTIAN HIEROGLYPH S039
++<U00013300> /xf0/x93/x8c/x80 EGYPTIAN HIEROGLYPH S040
++<U00013301> /xf0/x93/x8c/x81 EGYPTIAN HIEROGLYPH S041
++<U00013302> /xf0/x93/x8c/x82 EGYPTIAN HIEROGLYPH S042
++<U00013303> /xf0/x93/x8c/x83 EGYPTIAN HIEROGLYPH S043
++<U00013304> /xf0/x93/x8c/x84 EGYPTIAN HIEROGLYPH S044
++<U00013305> /xf0/x93/x8c/x85 EGYPTIAN HIEROGLYPH S045
++<U00013306> /xf0/x93/x8c/x86 EGYPTIAN HIEROGLYPH S046
++<U00013307> /xf0/x93/x8c/x87 EGYPTIAN HIEROGLYPH T001
++<U00013308> /xf0/x93/x8c/x88 EGYPTIAN HIEROGLYPH T002
++<U00013309> /xf0/x93/x8c/x89 EGYPTIAN HIEROGLYPH T003
++<U0001330A> /xf0/x93/x8c/x8a EGYPTIAN HIEROGLYPH T003A
++<U0001330B> /xf0/x93/x8c/x8b EGYPTIAN HIEROGLYPH T004
++<U0001330C> /xf0/x93/x8c/x8c EGYPTIAN HIEROGLYPH T005
++<U0001330D> /xf0/x93/x8c/x8d EGYPTIAN HIEROGLYPH T006
++<U0001330E> /xf0/x93/x8c/x8e EGYPTIAN HIEROGLYPH T007
++<U0001330F> /xf0/x93/x8c/x8f EGYPTIAN HIEROGLYPH T007A
++<U00013310> /xf0/x93/x8c/x90 EGYPTIAN HIEROGLYPH T008
++<U00013311> /xf0/x93/x8c/x91 EGYPTIAN HIEROGLYPH T008A
++<U00013312> /xf0/x93/x8c/x92 EGYPTIAN HIEROGLYPH T009
++<U00013313> /xf0/x93/x8c/x93 EGYPTIAN HIEROGLYPH T009A
++<U00013314> /xf0/x93/x8c/x94 EGYPTIAN HIEROGLYPH T010
++<U00013315> /xf0/x93/x8c/x95 EGYPTIAN HIEROGLYPH T011
++<U00013316> /xf0/x93/x8c/x96 EGYPTIAN HIEROGLYPH T011A
++<U00013317> /xf0/x93/x8c/x97 EGYPTIAN HIEROGLYPH T012
++<U00013318> /xf0/x93/x8c/x98 EGYPTIAN HIEROGLYPH T013
++<U00013319> /xf0/x93/x8c/x99 EGYPTIAN HIEROGLYPH T014
++<U0001331A> /xf0/x93/x8c/x9a EGYPTIAN HIEROGLYPH T015
++<U0001331B> /xf0/x93/x8c/x9b EGYPTIAN HIEROGLYPH T016
++<U0001331C> /xf0/x93/x8c/x9c EGYPTIAN HIEROGLYPH T016A
++<U0001331D> /xf0/x93/x8c/x9d EGYPTIAN HIEROGLYPH T017
++<U0001331E> /xf0/x93/x8c/x9e EGYPTIAN HIEROGLYPH T018
++<U0001331F> /xf0/x93/x8c/x9f EGYPTIAN HIEROGLYPH T019
++<U00013320> /xf0/x93/x8c/xa0 EGYPTIAN HIEROGLYPH T020
++<U00013321> /xf0/x93/x8c/xa1 EGYPTIAN HIEROGLYPH T021
++<U00013322> /xf0/x93/x8c/xa2 EGYPTIAN HIEROGLYPH T022
++<U00013323> /xf0/x93/x8c/xa3 EGYPTIAN HIEROGLYPH T023
++<U00013324> /xf0/x93/x8c/xa4 EGYPTIAN HIEROGLYPH T024
++<U00013325> /xf0/x93/x8c/xa5 EGYPTIAN HIEROGLYPH T025
++<U00013326> /xf0/x93/x8c/xa6 EGYPTIAN HIEROGLYPH T026
++<U00013327> /xf0/x93/x8c/xa7 EGYPTIAN HIEROGLYPH T027
++<U00013328> /xf0/x93/x8c/xa8 EGYPTIAN HIEROGLYPH T028
++<U00013329> /xf0/x93/x8c/xa9 EGYPTIAN HIEROGLYPH T029
++<U0001332A> /xf0/x93/x8c/xaa EGYPTIAN HIEROGLYPH T030
++<U0001332B> /xf0/x93/x8c/xab EGYPTIAN HIEROGLYPH T031
++<U0001332C> /xf0/x93/x8c/xac EGYPTIAN HIEROGLYPH T032
++<U0001332D> /xf0/x93/x8c/xad EGYPTIAN HIEROGLYPH T032A
++<U0001332E> /xf0/x93/x8c/xae EGYPTIAN HIEROGLYPH T033
++<U0001332F> /xf0/x93/x8c/xaf EGYPTIAN HIEROGLYPH T033A
++<U00013330> /xf0/x93/x8c/xb0 EGYPTIAN HIEROGLYPH T034
++<U00013331> /xf0/x93/x8c/xb1 EGYPTIAN HIEROGLYPH T035
++<U00013332> /xf0/x93/x8c/xb2 EGYPTIAN HIEROGLYPH T036
++<U00013333> /xf0/x93/x8c/xb3 EGYPTIAN HIEROGLYPH U001
++<U00013334> /xf0/x93/x8c/xb4 EGYPTIAN HIEROGLYPH U002
++<U00013335> /xf0/x93/x8c/xb5 EGYPTIAN HIEROGLYPH U003
++<U00013336> /xf0/x93/x8c/xb6 EGYPTIAN HIEROGLYPH U004
++<U00013337> /xf0/x93/x8c/xb7 EGYPTIAN HIEROGLYPH U005
++<U00013338> /xf0/x93/x8c/xb8 EGYPTIAN HIEROGLYPH U006
++<U00013339> /xf0/x93/x8c/xb9 EGYPTIAN HIEROGLYPH U006A
++<U0001333A> /xf0/x93/x8c/xba EGYPTIAN HIEROGLYPH U006B
++<U0001333B> /xf0/x93/x8c/xbb EGYPTIAN HIEROGLYPH U007
++<U0001333C> /xf0/x93/x8c/xbc EGYPTIAN HIEROGLYPH U008
++<U0001333D> /xf0/x93/x8c/xbd EGYPTIAN HIEROGLYPH U009
++<U0001333E> /xf0/x93/x8c/xbe EGYPTIAN HIEROGLYPH U010
++<U0001333F> /xf0/x93/x8c/xbf EGYPTIAN HIEROGLYPH U011
++<U00013340> /xf0/x93/x8d/x80 EGYPTIAN HIEROGLYPH U012
++<U00013341> /xf0/x93/x8d/x81 EGYPTIAN HIEROGLYPH U013
++<U00013342> /xf0/x93/x8d/x82 EGYPTIAN HIEROGLYPH U014
++<U00013343> /xf0/x93/x8d/x83 EGYPTIAN HIEROGLYPH U015
++<U00013344> /xf0/x93/x8d/x84 EGYPTIAN HIEROGLYPH U016
++<U00013345> /xf0/x93/x8d/x85 EGYPTIAN HIEROGLYPH U017
++<U00013346> /xf0/x93/x8d/x86 EGYPTIAN HIEROGLYPH U018
++<U00013347> /xf0/x93/x8d/x87 EGYPTIAN HIEROGLYPH U019
++<U00013348> /xf0/x93/x8d/x88 EGYPTIAN HIEROGLYPH U020
++<U00013349> /xf0/x93/x8d/x89 EGYPTIAN HIEROGLYPH U021
++<U0001334A> /xf0/x93/x8d/x8a EGYPTIAN HIEROGLYPH U022
++<U0001334B> /xf0/x93/x8d/x8b EGYPTIAN HIEROGLYPH U023
++<U0001334C> /xf0/x93/x8d/x8c EGYPTIAN HIEROGLYPH U023A
++<U0001334D> /xf0/x93/x8d/x8d EGYPTIAN HIEROGLYPH U024
++<U0001334E> /xf0/x93/x8d/x8e EGYPTIAN HIEROGLYPH U025
++<U0001334F> /xf0/x93/x8d/x8f EGYPTIAN HIEROGLYPH U026
++<U00013350> /xf0/x93/x8d/x90 EGYPTIAN HIEROGLYPH U027
++<U00013351> /xf0/x93/x8d/x91 EGYPTIAN HIEROGLYPH U028
++<U00013352> /xf0/x93/x8d/x92 EGYPTIAN HIEROGLYPH U029
++<U00013353> /xf0/x93/x8d/x93 EGYPTIAN HIEROGLYPH U029A
++<U00013354> /xf0/x93/x8d/x94 EGYPTIAN HIEROGLYPH U030
++<U00013355> /xf0/x93/x8d/x95 EGYPTIAN HIEROGLYPH U031
++<U00013356> /xf0/x93/x8d/x96 EGYPTIAN HIEROGLYPH U032
++<U00013357> /xf0/x93/x8d/x97 EGYPTIAN HIEROGLYPH U032A
++<U00013358> /xf0/x93/x8d/x98 EGYPTIAN HIEROGLYPH U033
++<U00013359> /xf0/x93/x8d/x99 EGYPTIAN HIEROGLYPH U034
++<U0001335A> /xf0/x93/x8d/x9a EGYPTIAN HIEROGLYPH U035
++<U0001335B> /xf0/x93/x8d/x9b EGYPTIAN HIEROGLYPH U036
++<U0001335C> /xf0/x93/x8d/x9c EGYPTIAN HIEROGLYPH U037
++<U0001335D> /xf0/x93/x8d/x9d EGYPTIAN HIEROGLYPH U038
++<U0001335E> /xf0/x93/x8d/x9e EGYPTIAN HIEROGLYPH U039
++<U0001335F> /xf0/x93/x8d/x9f EGYPTIAN HIEROGLYPH U040
++<U00013360> /xf0/x93/x8d/xa0 EGYPTIAN HIEROGLYPH U041
++<U00013361> /xf0/x93/x8d/xa1 EGYPTIAN HIEROGLYPH U042
++<U00013362> /xf0/x93/x8d/xa2 EGYPTIAN HIEROGLYPH V001
++<U00013363> /xf0/x93/x8d/xa3 EGYPTIAN HIEROGLYPH V001A
++<U00013364> /xf0/x93/x8d/xa4 EGYPTIAN HIEROGLYPH V001B
++<U00013365> /xf0/x93/x8d/xa5 EGYPTIAN HIEROGLYPH V001C
++<U00013366> /xf0/x93/x8d/xa6 EGYPTIAN HIEROGLYPH V001D
++<U00013367> /xf0/x93/x8d/xa7 EGYPTIAN HIEROGLYPH V001E
++<U00013368> /xf0/x93/x8d/xa8 EGYPTIAN HIEROGLYPH V001F
++<U00013369> /xf0/x93/x8d/xa9 EGYPTIAN HIEROGLYPH V001G
++<U0001336A> /xf0/x93/x8d/xaa EGYPTIAN HIEROGLYPH V001H
++<U0001336B> /xf0/x93/x8d/xab EGYPTIAN HIEROGLYPH V001I
++<U0001336C> /xf0/x93/x8d/xac EGYPTIAN HIEROGLYPH V002
++<U0001336D> /xf0/x93/x8d/xad EGYPTIAN HIEROGLYPH V002A
++<U0001336E> /xf0/x93/x8d/xae EGYPTIAN HIEROGLYPH V003
++<U0001336F> /xf0/x93/x8d/xaf EGYPTIAN HIEROGLYPH V004
++<U00013370> /xf0/x93/x8d/xb0 EGYPTIAN HIEROGLYPH V005
++<U00013371> /xf0/x93/x8d/xb1 EGYPTIAN HIEROGLYPH V006
++<U00013372> /xf0/x93/x8d/xb2 EGYPTIAN HIEROGLYPH V007
++<U00013373> /xf0/x93/x8d/xb3 EGYPTIAN HIEROGLYPH V007A
++<U00013374> /xf0/x93/x8d/xb4 EGYPTIAN HIEROGLYPH V007B
++<U00013375> /xf0/x93/x8d/xb5 EGYPTIAN HIEROGLYPH V008
++<U00013376> /xf0/x93/x8d/xb6 EGYPTIAN HIEROGLYPH V009
++<U00013377> /xf0/x93/x8d/xb7 EGYPTIAN HIEROGLYPH V010
++<U00013378> /xf0/x93/x8d/xb8 EGYPTIAN HIEROGLYPH V011
++<U00013379> /xf0/x93/x8d/xb9 EGYPTIAN HIEROGLYPH V011A
++<U0001337A> /xf0/x93/x8d/xba EGYPTIAN HIEROGLYPH V011B
++<U0001337B> /xf0/x93/x8d/xbb EGYPTIAN HIEROGLYPH V011C
++<U0001337C> /xf0/x93/x8d/xbc EGYPTIAN HIEROGLYPH V012
++<U0001337D> /xf0/x93/x8d/xbd EGYPTIAN HIEROGLYPH V012A
++<U0001337E> /xf0/x93/x8d/xbe EGYPTIAN HIEROGLYPH V012B
++<U0001337F> /xf0/x93/x8d/xbf EGYPTIAN HIEROGLYPH V013
++<U00013380> /xf0/x93/x8e/x80 EGYPTIAN HIEROGLYPH V014
++<U00013381> /xf0/x93/x8e/x81 EGYPTIAN HIEROGLYPH V015
++<U00013382> /xf0/x93/x8e/x82 EGYPTIAN HIEROGLYPH V016
++<U00013383> /xf0/x93/x8e/x83 EGYPTIAN HIEROGLYPH V017
++<U00013384> /xf0/x93/x8e/x84 EGYPTIAN HIEROGLYPH V018
++<U00013385> /xf0/x93/x8e/x85 EGYPTIAN HIEROGLYPH V019
++<U00013386> /xf0/x93/x8e/x86 EGYPTIAN HIEROGLYPH V020
++<U00013387> /xf0/x93/x8e/x87 EGYPTIAN HIEROGLYPH V020A
++<U00013388> /xf0/x93/x8e/x88 EGYPTIAN HIEROGLYPH V020B
++<U00013389> /xf0/x93/x8e/x89 EGYPTIAN HIEROGLYPH V020C
++<U0001338A> /xf0/x93/x8e/x8a EGYPTIAN HIEROGLYPH V020D
++<U0001338B> /xf0/x93/x8e/x8b EGYPTIAN HIEROGLYPH V020E
++<U0001338C> /xf0/x93/x8e/x8c EGYPTIAN HIEROGLYPH V020F
++<U0001338D> /xf0/x93/x8e/x8d EGYPTIAN HIEROGLYPH V020G
++<U0001338E> /xf0/x93/x8e/x8e EGYPTIAN HIEROGLYPH V020H
++<U0001338F> /xf0/x93/x8e/x8f EGYPTIAN HIEROGLYPH V020I
++<U00013390> /xf0/x93/x8e/x90 EGYPTIAN HIEROGLYPH V020J
++<U00013391> /xf0/x93/x8e/x91 EGYPTIAN HIEROGLYPH V020K
++<U00013392> /xf0/x93/x8e/x92 EGYPTIAN HIEROGLYPH V020L
++<U00013393> /xf0/x93/x8e/x93 EGYPTIAN HIEROGLYPH V021
++<U00013394> /xf0/x93/x8e/x94 EGYPTIAN HIEROGLYPH V022
++<U00013395> /xf0/x93/x8e/x95 EGYPTIAN HIEROGLYPH V023
++<U00013396> /xf0/x93/x8e/x96 EGYPTIAN HIEROGLYPH V023A
++<U00013397> /xf0/x93/x8e/x97 EGYPTIAN HIEROGLYPH V024
++<U00013398> /xf0/x93/x8e/x98 EGYPTIAN HIEROGLYPH V025
++<U00013399> /xf0/x93/x8e/x99 EGYPTIAN HIEROGLYPH V026
++<U0001339A> /xf0/x93/x8e/x9a EGYPTIAN HIEROGLYPH V027
++<U0001339B> /xf0/x93/x8e/x9b EGYPTIAN HIEROGLYPH V028
++<U0001339C> /xf0/x93/x8e/x9c EGYPTIAN HIEROGLYPH V028A
++<U0001339D> /xf0/x93/x8e/x9d EGYPTIAN HIEROGLYPH V029
++<U0001339E> /xf0/x93/x8e/x9e EGYPTIAN HIEROGLYPH V029A
++<U0001339F> /xf0/x93/x8e/x9f EGYPTIAN HIEROGLYPH V030
++<U000133A0> /xf0/x93/x8e/xa0 EGYPTIAN HIEROGLYPH V030A
++<U000133A1> /xf0/x93/x8e/xa1 EGYPTIAN HIEROGLYPH V031
++<U000133A2> /xf0/x93/x8e/xa2 EGYPTIAN HIEROGLYPH V031A
++<U000133A3> /xf0/x93/x8e/xa3 EGYPTIAN HIEROGLYPH V032
++<U000133A4> /xf0/x93/x8e/xa4 EGYPTIAN HIEROGLYPH V033
++<U000133A5> /xf0/x93/x8e/xa5 EGYPTIAN HIEROGLYPH V033A
++<U000133A6> /xf0/x93/x8e/xa6 EGYPTIAN HIEROGLYPH V034
++<U000133A7> /xf0/x93/x8e/xa7 EGYPTIAN HIEROGLYPH V035
++<U000133A8> /xf0/x93/x8e/xa8 EGYPTIAN HIEROGLYPH V036
++<U000133A9> /xf0/x93/x8e/xa9 EGYPTIAN HIEROGLYPH V037
++<U000133AA> /xf0/x93/x8e/xaa EGYPTIAN HIEROGLYPH V037A
++<U000133AB> /xf0/x93/x8e/xab EGYPTIAN HIEROGLYPH V038
++<U000133AC> /xf0/x93/x8e/xac EGYPTIAN HIEROGLYPH V039
++<U000133AD> /xf0/x93/x8e/xad EGYPTIAN HIEROGLYPH V040
++<U000133AE> /xf0/x93/x8e/xae EGYPTIAN HIEROGLYPH V040A
++<U000133AF> /xf0/x93/x8e/xaf EGYPTIAN HIEROGLYPH W001
++<U000133B0> /xf0/x93/x8e/xb0 EGYPTIAN HIEROGLYPH W002
++<U000133B1> /xf0/x93/x8e/xb1 EGYPTIAN HIEROGLYPH W003
++<U000133B2> /xf0/x93/x8e/xb2 EGYPTIAN HIEROGLYPH W003A
++<U000133B3> /xf0/x93/x8e/xb3 EGYPTIAN HIEROGLYPH W004
++<U000133B4> /xf0/x93/x8e/xb4 EGYPTIAN HIEROGLYPH W005
++<U000133B5> /xf0/x93/x8e/xb5 EGYPTIAN HIEROGLYPH W006
++<U000133B6> /xf0/x93/x8e/xb6 EGYPTIAN HIEROGLYPH W007
++<U000133B7> /xf0/x93/x8e/xb7 EGYPTIAN HIEROGLYPH W008
++<U000133B8> /xf0/x93/x8e/xb8 EGYPTIAN HIEROGLYPH W009
++<U000133B9> /xf0/x93/x8e/xb9 EGYPTIAN HIEROGLYPH W009A
++<U000133BA> /xf0/x93/x8e/xba EGYPTIAN HIEROGLYPH W010
++<U000133BB> /xf0/x93/x8e/xbb EGYPTIAN HIEROGLYPH W010A
++<U000133BC> /xf0/x93/x8e/xbc EGYPTIAN HIEROGLYPH W011
++<U000133BD> /xf0/x93/x8e/xbd EGYPTIAN HIEROGLYPH W012
++<U000133BE> /xf0/x93/x8e/xbe EGYPTIAN HIEROGLYPH W013
++<U000133BF> /xf0/x93/x8e/xbf EGYPTIAN HIEROGLYPH W014
++<U000133C0> /xf0/x93/x8f/x80 EGYPTIAN HIEROGLYPH W014A
++<U000133C1> /xf0/x93/x8f/x81 EGYPTIAN HIEROGLYPH W015
++<U000133C2> /xf0/x93/x8f/x82 EGYPTIAN HIEROGLYPH W016
++<U000133C3> /xf0/x93/x8f/x83 EGYPTIAN HIEROGLYPH W017
++<U000133C4> /xf0/x93/x8f/x84 EGYPTIAN HIEROGLYPH W017A
++<U000133C5> /xf0/x93/x8f/x85 EGYPTIAN HIEROGLYPH W018
++<U000133C6> /xf0/x93/x8f/x86 EGYPTIAN HIEROGLYPH W018A
++<U000133C7> /xf0/x93/x8f/x87 EGYPTIAN HIEROGLYPH W019
++<U000133C8> /xf0/x93/x8f/x88 EGYPTIAN HIEROGLYPH W020
++<U000133C9> /xf0/x93/x8f/x89 EGYPTIAN HIEROGLYPH W021
++<U000133CA> /xf0/x93/x8f/x8a EGYPTIAN HIEROGLYPH W022
++<U000133CB> /xf0/x93/x8f/x8b EGYPTIAN HIEROGLYPH W023
++<U000133CC> /xf0/x93/x8f/x8c EGYPTIAN HIEROGLYPH W024
++<U000133CD> /xf0/x93/x8f/x8d EGYPTIAN HIEROGLYPH W024A
++<U000133CE> /xf0/x93/x8f/x8e EGYPTIAN HIEROGLYPH W025
++<U000133CF> /xf0/x93/x8f/x8f EGYPTIAN HIEROGLYPH X001
++<U000133D0> /xf0/x93/x8f/x90 EGYPTIAN HIEROGLYPH X002
++<U000133D1> /xf0/x93/x8f/x91 EGYPTIAN HIEROGLYPH X003
++<U000133D2> /xf0/x93/x8f/x92 EGYPTIAN HIEROGLYPH X004
++<U000133D3> /xf0/x93/x8f/x93 EGYPTIAN HIEROGLYPH X004A
++<U000133D4> /xf0/x93/x8f/x94 EGYPTIAN HIEROGLYPH X004B
++<U000133D5> /xf0/x93/x8f/x95 EGYPTIAN HIEROGLYPH X005
++<U000133D6> /xf0/x93/x8f/x96 EGYPTIAN HIEROGLYPH X006
++<U000133D7> /xf0/x93/x8f/x97 EGYPTIAN HIEROGLYPH X006A
++<U000133D8> /xf0/x93/x8f/x98 EGYPTIAN HIEROGLYPH X007
++<U000133D9> /xf0/x93/x8f/x99 EGYPTIAN HIEROGLYPH X008
++<U000133DA> /xf0/x93/x8f/x9a EGYPTIAN HIEROGLYPH X008A
++<U000133DB> /xf0/x93/x8f/x9b EGYPTIAN HIEROGLYPH Y001
++<U000133DC> /xf0/x93/x8f/x9c EGYPTIAN HIEROGLYPH Y001A
++<U000133DD> /xf0/x93/x8f/x9d EGYPTIAN HIEROGLYPH Y002
++<U000133DE> /xf0/x93/x8f/x9e EGYPTIAN HIEROGLYPH Y003
++<U000133DF> /xf0/x93/x8f/x9f EGYPTIAN HIEROGLYPH Y004
++<U000133E0> /xf0/x93/x8f/xa0 EGYPTIAN HIEROGLYPH Y005
++<U000133E1> /xf0/x93/x8f/xa1 EGYPTIAN HIEROGLYPH Y006
++<U000133E2> /xf0/x93/x8f/xa2 EGYPTIAN HIEROGLYPH Y007
++<U000133E3> /xf0/x93/x8f/xa3 EGYPTIAN HIEROGLYPH Y008
++<U000133E4> /xf0/x93/x8f/xa4 EGYPTIAN HIEROGLYPH Z001
++<U000133E5> /xf0/x93/x8f/xa5 EGYPTIAN HIEROGLYPH Z002
++<U000133E6> /xf0/x93/x8f/xa6 EGYPTIAN HIEROGLYPH Z002A
++<U000133E7> /xf0/x93/x8f/xa7 EGYPTIAN HIEROGLYPH Z002B
++<U000133E8> /xf0/x93/x8f/xa8 EGYPTIAN HIEROGLYPH Z002C
++<U000133E9> /xf0/x93/x8f/xa9 EGYPTIAN HIEROGLYPH Z002D
++<U000133EA> /xf0/x93/x8f/xaa EGYPTIAN HIEROGLYPH Z003
++<U000133EB> /xf0/x93/x8f/xab EGYPTIAN HIEROGLYPH Z003A
++<U000133EC> /xf0/x93/x8f/xac EGYPTIAN HIEROGLYPH Z003B
++<U000133ED> /xf0/x93/x8f/xad EGYPTIAN HIEROGLYPH Z004
++<U000133EE> /xf0/x93/x8f/xae EGYPTIAN HIEROGLYPH Z004A
++<U000133EF> /xf0/x93/x8f/xaf EGYPTIAN HIEROGLYPH Z005
++<U000133F0> /xf0/x93/x8f/xb0 EGYPTIAN HIEROGLYPH Z005A
++<U000133F1> /xf0/x93/x8f/xb1 EGYPTIAN HIEROGLYPH Z006
++<U000133F2> /xf0/x93/x8f/xb2 EGYPTIAN HIEROGLYPH Z007
++<U000133F3> /xf0/x93/x8f/xb3 EGYPTIAN HIEROGLYPH Z008
++<U000133F4> /xf0/x93/x8f/xb4 EGYPTIAN HIEROGLYPH Z009
++<U000133F5> /xf0/x93/x8f/xb5 EGYPTIAN HIEROGLYPH Z010
++<U000133F6> /xf0/x93/x8f/xb6 EGYPTIAN HIEROGLYPH Z011
++<U000133F7> /xf0/x93/x8f/xb7 EGYPTIAN HIEROGLYPH Z012
++<U000133F8> /xf0/x93/x8f/xb8 EGYPTIAN HIEROGLYPH Z013
++<U000133F9> /xf0/x93/x8f/xb9 EGYPTIAN HIEROGLYPH Z014
++<U000133FA> /xf0/x93/x8f/xba EGYPTIAN HIEROGLYPH Z015
++<U000133FB> /xf0/x93/x8f/xbb EGYPTIAN HIEROGLYPH Z015A
++<U000133FC> /xf0/x93/x8f/xbc EGYPTIAN HIEROGLYPH Z015B
++<U000133FD> /xf0/x93/x8f/xbd EGYPTIAN HIEROGLYPH Z015C
++<U000133FE> /xf0/x93/x8f/xbe EGYPTIAN HIEROGLYPH Z015D
++<U000133FF> /xf0/x93/x8f/xbf EGYPTIAN HIEROGLYPH Z015E
++<U00013400> /xf0/x93/x90/x80 EGYPTIAN HIEROGLYPH Z015F
++<U00013401> /xf0/x93/x90/x81 EGYPTIAN HIEROGLYPH Z015G
++<U00013402> /xf0/x93/x90/x82 EGYPTIAN HIEROGLYPH Z015H
++<U00013403> /xf0/x93/x90/x83 EGYPTIAN HIEROGLYPH Z015I
++<U00013404> /xf0/x93/x90/x84 EGYPTIAN HIEROGLYPH Z016
++<U00013405> /xf0/x93/x90/x85 EGYPTIAN HIEROGLYPH Z016A
++<U00013406> /xf0/x93/x90/x86 EGYPTIAN HIEROGLYPH Z016B
++<U00013407> /xf0/x93/x90/x87 EGYPTIAN HIEROGLYPH Z016C
++<U00013408> /xf0/x93/x90/x88 EGYPTIAN HIEROGLYPH Z016D
++<U00013409> /xf0/x93/x90/x89 EGYPTIAN HIEROGLYPH Z016E
++<U0001340A> /xf0/x93/x90/x8a EGYPTIAN HIEROGLYPH Z016F
++<U0001340B> /xf0/x93/x90/x8b EGYPTIAN HIEROGLYPH Z016G
++<U0001340C> /xf0/x93/x90/x8c EGYPTIAN HIEROGLYPH Z016H
++<U0001340D> /xf0/x93/x90/x8d EGYPTIAN HIEROGLYPH AA001
++<U0001340E> /xf0/x93/x90/x8e EGYPTIAN HIEROGLYPH AA002
++<U0001340F> /xf0/x93/x90/x8f EGYPTIAN HIEROGLYPH AA003
++<U00013410> /xf0/x93/x90/x90 EGYPTIAN HIEROGLYPH AA004
++<U00013411> /xf0/x93/x90/x91 EGYPTIAN HIEROGLYPH AA005
++<U00013412> /xf0/x93/x90/x92 EGYPTIAN HIEROGLYPH AA006
++<U00013413> /xf0/x93/x90/x93 EGYPTIAN HIEROGLYPH AA007
++<U00013414> /xf0/x93/x90/x94 EGYPTIAN HIEROGLYPH AA007A
++<U00013415> /xf0/x93/x90/x95 EGYPTIAN HIEROGLYPH AA007B
++<U00013416> /xf0/x93/x90/x96 EGYPTIAN HIEROGLYPH AA008
++<U00013417> /xf0/x93/x90/x97 EGYPTIAN HIEROGLYPH AA009
++<U00013418> /xf0/x93/x90/x98 EGYPTIAN HIEROGLYPH AA010
++<U00013419> /xf0/x93/x90/x99 EGYPTIAN HIEROGLYPH AA011
++<U0001341A> /xf0/x93/x90/x9a EGYPTIAN HIEROGLYPH AA012
++<U0001341B> /xf0/x93/x90/x9b EGYPTIAN HIEROGLYPH AA013
++<U0001341C> /xf0/x93/x90/x9c EGYPTIAN HIEROGLYPH AA014
++<U0001341D> /xf0/x93/x90/x9d EGYPTIAN HIEROGLYPH AA015
++<U0001341E> /xf0/x93/x90/x9e EGYPTIAN HIEROGLYPH AA016
++<U0001341F> /xf0/x93/x90/x9f EGYPTIAN HIEROGLYPH AA017
++<U00013420> /xf0/x93/x90/xa0 EGYPTIAN HIEROGLYPH AA018
++<U00013421> /xf0/x93/x90/xa1 EGYPTIAN HIEROGLYPH AA019
++<U00013422> /xf0/x93/x90/xa2 EGYPTIAN HIEROGLYPH AA020
++<U00013423> /xf0/x93/x90/xa3 EGYPTIAN HIEROGLYPH AA021
++<U00013424> /xf0/x93/x90/xa4 EGYPTIAN HIEROGLYPH AA022
++<U00013425> /xf0/x93/x90/xa5 EGYPTIAN HIEROGLYPH AA023
++<U00013426> /xf0/x93/x90/xa6 EGYPTIAN HIEROGLYPH AA024
++<U00013427> /xf0/x93/x90/xa7 EGYPTIAN HIEROGLYPH AA025
++<U00013428> /xf0/x93/x90/xa8 EGYPTIAN HIEROGLYPH AA026
++<U00013429> /xf0/x93/x90/xa9 EGYPTIAN HIEROGLYPH AA027
++<U0001342A> /xf0/x93/x90/xaa EGYPTIAN HIEROGLYPH AA028
++<U0001342B> /xf0/x93/x90/xab EGYPTIAN HIEROGLYPH AA029
++<U0001342C> /xf0/x93/x90/xac EGYPTIAN HIEROGLYPH AA030
++<U0001342D> /xf0/x93/x90/xad EGYPTIAN HIEROGLYPH AA031
++<U0001342E> /xf0/x93/x90/xae EGYPTIAN HIEROGLYPH AA032
++<U00016800> /xf0/x96/xa0/x80 BAMUM LETTER PHASE-A NGKUE MFON
++<U00016801> /xf0/x96/xa0/x81 BAMUM LETTER PHASE-A GBIEE FON
++<U00016802> /xf0/x96/xa0/x82 BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
++<U00016803> /xf0/x96/xa0/x83 BAMUM LETTER PHASE-A PON MFON PIPAEMBA
++<U00016804> /xf0/x96/xa0/x84 BAMUM LETTER PHASE-A NAA MFON
++<U00016805> /xf0/x96/xa0/x85 BAMUM LETTER PHASE-A SHUENSHUET
++<U00016806> /xf0/x96/xa0/x86 BAMUM LETTER PHASE-A TITA MFON
++<U00016807> /xf0/x96/xa0/x87 BAMUM LETTER PHASE-A NZA MFON
++<U00016808> /xf0/x96/xa0/x88 BAMUM LETTER PHASE-A SHINDA PA NJI
++<U00016809> /xf0/x96/xa0/x89 BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
++<U0001680A> /xf0/x96/xa0/x8a BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
++<U0001680B> /xf0/x96/xa0/x8b BAMUM LETTER PHASE-A MAEMBGBIEE
++<U0001680C> /xf0/x96/xa0/x8c BAMUM LETTER PHASE-A TU MAEMBA
++<U0001680D> /xf0/x96/xa0/x8d BAMUM LETTER PHASE-A NGANGU
++<U0001680E> /xf0/x96/xa0/x8e BAMUM LETTER PHASE-A MAEMVEUX
++<U0001680F> /xf0/x96/xa0/x8f BAMUM LETTER PHASE-A MANSUAE
++<U00016810> /xf0/x96/xa0/x90 BAMUM LETTER PHASE-A MVEUAENGAM
++<U00016811> /xf0/x96/xa0/x91 BAMUM LETTER PHASE-A SEUNYAM
++<U00016812> /xf0/x96/xa0/x92 BAMUM LETTER PHASE-A NTOQPEN
++<U00016813> /xf0/x96/xa0/x93 BAMUM LETTER PHASE-A KEUKEUTNDA
++<U00016814> /xf0/x96/xa0/x94 BAMUM LETTER PHASE-A NKINDI
++<U00016815> /xf0/x96/xa0/x95 BAMUM LETTER PHASE-A SUU
++<U00016816> /xf0/x96/xa0/x96 BAMUM LETTER PHASE-A NGKUENZEUM
++<U00016817> /xf0/x96/xa0/x97 BAMUM LETTER PHASE-A LAPAQ
++<U00016818> /xf0/x96/xa0/x98 BAMUM LETTER PHASE-A LET KUT
++<U00016819> /xf0/x96/xa0/x99 BAMUM LETTER PHASE-A NTAP MFAA
++<U0001681A> /xf0/x96/xa0/x9a BAMUM LETTER PHASE-A MAEKEUP
++<U0001681B> /xf0/x96/xa0/x9b BAMUM LETTER PHASE-A PASHAE
++<U0001681C> /xf0/x96/xa0/x9c BAMUM LETTER PHASE-A GHEUAERAE
++<U0001681D> /xf0/x96/xa0/x9d BAMUM LETTER PHASE-A PAMSHAE
++<U0001681E> /xf0/x96/xa0/x9e BAMUM LETTER PHASE-A MON NGGEUAET
++<U0001681F> /xf0/x96/xa0/x9f BAMUM LETTER PHASE-A NZUN MEUT
++<U00016820> /xf0/x96/xa0/xa0 BAMUM LETTER PHASE-A U YUQ NAE
++<U00016821> /xf0/x96/xa0/xa1 BAMUM LETTER PHASE-A GHEUAEGHEUAE
++<U00016822> /xf0/x96/xa0/xa2 BAMUM LETTER PHASE-A NTAP NTAA
++<U00016823> /xf0/x96/xa0/xa3 BAMUM LETTER PHASE-A SISA
++<U00016824> /xf0/x96/xa0/xa4 BAMUM LETTER PHASE-A MGBASA
++<U00016825> /xf0/x96/xa0/xa5 BAMUM LETTER PHASE-A MEUNJOMNDEUQ
++<U00016826> /xf0/x96/xa0/xa6 BAMUM LETTER PHASE-A MOOMPUQ
++<U00016827> /xf0/x96/xa0/xa7 BAMUM LETTER PHASE-A KAFA
++<U00016828> /xf0/x96/xa0/xa8 BAMUM LETTER PHASE-A PA LEERAEWA
++<U00016829> /xf0/x96/xa0/xa9 BAMUM LETTER PHASE-A NDA LEERAEWA
++<U0001682A> /xf0/x96/xa0/xaa BAMUM LETTER PHASE-A PET
++<U0001682B> /xf0/x96/xa0/xab BAMUM LETTER PHASE-A MAEMKPEN
++<U0001682C> /xf0/x96/xa0/xac BAMUM LETTER PHASE-A NIKA
++<U0001682D> /xf0/x96/xa0/xad BAMUM LETTER PHASE-A PUP
++<U0001682E> /xf0/x96/xa0/xae BAMUM LETTER PHASE-A TUAEP
++<U0001682F> /xf0/x96/xa0/xaf BAMUM LETTER PHASE-A LUAEP
++<U00016830> /xf0/x96/xa0/xb0 BAMUM LETTER PHASE-A SONJAM
++<U00016831> /xf0/x96/xa0/xb1 BAMUM LETTER PHASE-A TEUTEUWEN
++<U00016832> /xf0/x96/xa0/xb2 BAMUM LETTER PHASE-A MAENYI
++<U00016833> /xf0/x96/xa0/xb3 BAMUM LETTER PHASE-A KET
++<U00016834> /xf0/x96/xa0/xb4 BAMUM LETTER PHASE-A NDAANGGEUAET
++<U00016835> /xf0/x96/xa0/xb5 BAMUM LETTER PHASE-A KUOQ
++<U00016836> /xf0/x96/xa0/xb6 BAMUM LETTER PHASE-A MOOMEUT
++<U00016837> /xf0/x96/xa0/xb7 BAMUM LETTER PHASE-A SHUM
++<U00016838> /xf0/x96/xa0/xb8 BAMUM LETTER PHASE-A LOMMAE
++<U00016839> /xf0/x96/xa0/xb9 BAMUM LETTER PHASE-A FIRI
++<U0001683A> /xf0/x96/xa0/xba BAMUM LETTER PHASE-A ROM
++<U0001683B> /xf0/x96/xa0/xbb BAMUM LETTER PHASE-A KPOQ
++<U0001683C> /xf0/x96/xa0/xbc BAMUM LETTER PHASE-A SOQ
++<U0001683D> /xf0/x96/xa0/xbd BAMUM LETTER PHASE-A MAP PIEET
++<U0001683E> /xf0/x96/xa0/xbe BAMUM LETTER PHASE-A SHIRAE
++<U0001683F> /xf0/x96/xa0/xbf BAMUM LETTER PHASE-A NTAP
++<U00016840> /xf0/x96/xa1/x80 BAMUM LETTER PHASE-A SHOQ NSHUT YUM
++<U00016841> /xf0/x96/xa1/x81 BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
++<U00016842> /xf0/x96/xa1/x82 BAMUM LETTER PHASE-A PAARAE
++<U00016843> /xf0/x96/xa1/x83 BAMUM LETTER PHASE-A NKAARAE
++<U00016844> /xf0/x96/xa1/x84 BAMUM LETTER PHASE-A UNKNOWN
++<U00016845> /xf0/x96/xa1/x85 BAMUM LETTER PHASE-A NGGEN
++<U00016846> /xf0/x96/xa1/x86 BAMUM LETTER PHASE-A MAESI
++<U00016847> /xf0/x96/xa1/x87 BAMUM LETTER PHASE-A NJAM
++<U00016848> /xf0/x96/xa1/x88 BAMUM LETTER PHASE-A MBANYI
++<U00016849> /xf0/x96/xa1/x89 BAMUM LETTER PHASE-A NYET
++<U0001684A> /xf0/x96/xa1/x8a BAMUM LETTER PHASE-A TEUAEN
++<U0001684B> /xf0/x96/xa1/x8b BAMUM LETTER PHASE-A SOT
++<U0001684C> /xf0/x96/xa1/x8c BAMUM LETTER PHASE-A PAAM
++<U0001684D> /xf0/x96/xa1/x8d BAMUM LETTER PHASE-A NSHIEE
++<U0001684E> /xf0/x96/xa1/x8e BAMUM LETTER PHASE-A MAEM
++<U0001684F> /xf0/x96/xa1/x8f BAMUM LETTER PHASE-A NYI
++<U00016850> /xf0/x96/xa1/x90 BAMUM LETTER PHASE-A KAQ
++<U00016851> /xf0/x96/xa1/x91 BAMUM LETTER PHASE-A NSHA
++<U00016852> /xf0/x96/xa1/x92 BAMUM LETTER PHASE-A VEE
++<U00016853> /xf0/x96/xa1/x93 BAMUM LETTER PHASE-A LU
++<U00016854> /xf0/x96/xa1/x94 BAMUM LETTER PHASE-A NEN
++<U00016855> /xf0/x96/xa1/x95 BAMUM LETTER PHASE-A NAQ
++<U00016856> /xf0/x96/xa1/x96 BAMUM LETTER PHASE-A MBAQ
++<U00016857> /xf0/x96/xa1/x97 BAMUM LETTER PHASE-B NSHUET
++<U00016858> /xf0/x96/xa1/x98 BAMUM LETTER PHASE-B TU MAEMGBIEE
++<U00016859> /xf0/x96/xa1/x99 BAMUM LETTER PHASE-B SIEE
++<U0001685A> /xf0/x96/xa1/x9a BAMUM LETTER PHASE-B SET TU
++<U0001685B> /xf0/x96/xa1/x9b BAMUM LETTER PHASE-B LOM NTEUM
++<U0001685C> /xf0/x96/xa1/x9c BAMUM LETTER PHASE-B MBA MAELEE
++<U0001685D> /xf0/x96/xa1/x9d BAMUM LETTER PHASE-B KIEEM
++<U0001685E> /xf0/x96/xa1/x9e BAMUM LETTER PHASE-B YEURAE
++<U0001685F> /xf0/x96/xa1/x9f BAMUM LETTER PHASE-B MBAARAE
++<U00016860> /xf0/x96/xa1/xa0 BAMUM LETTER PHASE-B KAM
++<U00016861> /xf0/x96/xa1/xa1 BAMUM LETTER PHASE-B PEESHI
++<U00016862> /xf0/x96/xa1/xa2 BAMUM LETTER PHASE-B YAFU LEERAEWA
++<U00016863> /xf0/x96/xa1/xa3 BAMUM LETTER PHASE-B LAM NSHUT NYAM
++<U00016864> /xf0/x96/xa1/xa4 BAMUM LETTER PHASE-B NTIEE SHEUOQ
++<U00016865> /xf0/x96/xa1/xa5 BAMUM LETTER PHASE-B NDU NJAA
++<U00016866> /xf0/x96/xa1/xa6 BAMUM LETTER PHASE-B GHEUGHEUAEM
++<U00016867> /xf0/x96/xa1/xa7 BAMUM LETTER PHASE-B PIT
++<U00016868> /xf0/x96/xa1/xa8 BAMUM LETTER PHASE-B TU NSIEE
++<U00016869> /xf0/x96/xa1/xa9 BAMUM LETTER PHASE-B SHET NJAQ
++<U0001686A> /xf0/x96/xa1/xaa BAMUM LETTER PHASE-B SHEUAEQTU
++<U0001686B> /xf0/x96/xa1/xab BAMUM LETTER PHASE-B MFON TEUAEQ
++<U0001686C> /xf0/x96/xa1/xac BAMUM LETTER PHASE-B MBIT MBAAKET
++<U0001686D> /xf0/x96/xa1/xad BAMUM LETTER PHASE-B NYI NTEUM
++<U0001686E> /xf0/x96/xa1/xae BAMUM LETTER PHASE-B KEUPUQ
++<U0001686F> /xf0/x96/xa1/xaf BAMUM LETTER PHASE-B GHEUGHEN
++<U00016870> /xf0/x96/xa1/xb0 BAMUM LETTER PHASE-B KEUYEUX
++<U00016871> /xf0/x96/xa1/xb1 BAMUM LETTER PHASE-B LAANAE
++<U00016872> /xf0/x96/xa1/xb2 BAMUM LETTER PHASE-B PARUM
++<U00016873> /xf0/x96/xa1/xb3 BAMUM LETTER PHASE-B VEUM
++<U00016874> /xf0/x96/xa1/xb4 BAMUM LETTER PHASE-B NGKINDI MVOP
++<U00016875> /xf0/x96/xa1/xb5 BAMUM LETTER PHASE-B NGGEU MBU
++<U00016876> /xf0/x96/xa1/xb6 BAMUM LETTER PHASE-B WUAET
++<U00016877> /xf0/x96/xa1/xb7 BAMUM LETTER PHASE-B SAKEUAE
++<U00016878> /xf0/x96/xa1/xb8 BAMUM LETTER PHASE-B TAAM
++<U00016879> /xf0/x96/xa1/xb9 BAMUM LETTER PHASE-B MEUQ
++<U0001687A> /xf0/x96/xa1/xba BAMUM LETTER PHASE-B NGGUOQ
++<U0001687B> /xf0/x96/xa1/xbb BAMUM LETTER PHASE-B NGGUOQ LARGE
++<U0001687C> /xf0/x96/xa1/xbc BAMUM LETTER PHASE-B MFIYAQ
++<U0001687D> /xf0/x96/xa1/xbd BAMUM LETTER PHASE-B SUE
++<U0001687E> /xf0/x96/xa1/xbe BAMUM LETTER PHASE-B MBEURI
++<U0001687F> /xf0/x96/xa1/xbf BAMUM LETTER PHASE-B MONTIEEN
++<U00016880> /xf0/x96/xa2/x80 BAMUM LETTER PHASE-B NYAEMAE
++<U00016881> /xf0/x96/xa2/x81 BAMUM LETTER PHASE-B PUNGAAM
++<U00016882> /xf0/x96/xa2/x82 BAMUM LETTER PHASE-B MEUT NGGEET
++<U00016883> /xf0/x96/xa2/x83 BAMUM LETTER PHASE-B FEUX
++<U00016884> /xf0/x96/xa2/x84 BAMUM LETTER PHASE-B MBUOQ
++<U00016885> /xf0/x96/xa2/x85 BAMUM LETTER PHASE-B FEE
++<U00016886> /xf0/x96/xa2/x86 BAMUM LETTER PHASE-B KEUAEM
++<U00016887> /xf0/x96/xa2/x87 BAMUM LETTER PHASE-B MA NJEUAENA
++<U00016888> /xf0/x96/xa2/x88 BAMUM LETTER PHASE-B MA NJUQA
++<U00016889> /xf0/x96/xa2/x89 BAMUM LETTER PHASE-B LET
++<U0001688A> /xf0/x96/xa2/x8a BAMUM LETTER PHASE-B NGGAAM
++<U0001688B> /xf0/x96/xa2/x8b BAMUM LETTER PHASE-B NSEN
++<U0001688C> /xf0/x96/xa2/x8c BAMUM LETTER PHASE-B MA
++<U0001688D> /xf0/x96/xa2/x8d BAMUM LETTER PHASE-B KIQ
++<U0001688E> /xf0/x96/xa2/x8e BAMUM LETTER PHASE-B NGOM
++<U0001688F> /xf0/x96/xa2/x8f BAMUM LETTER PHASE-C NGKUE MAEMBA
++<U00016890> /xf0/x96/xa2/x90 BAMUM LETTER PHASE-C NZA
++<U00016891> /xf0/x96/xa2/x91 BAMUM LETTER PHASE-C YUM
++<U00016892> /xf0/x96/xa2/x92 BAMUM LETTER PHASE-C WANGKUOQ
++<U00016893> /xf0/x96/xa2/x93 BAMUM LETTER PHASE-C NGGEN
++<U00016894> /xf0/x96/xa2/x94 BAMUM LETTER PHASE-C NDEUAEREE
++<U00016895> /xf0/x96/xa2/x95 BAMUM LETTER PHASE-C NGKAQ
++<U00016896> /xf0/x96/xa2/x96 BAMUM LETTER PHASE-C GHARAE
++<U00016897> /xf0/x96/xa2/x97 BAMUM LETTER PHASE-C MBEEKEET
++<U00016898> /xf0/x96/xa2/x98 BAMUM LETTER PHASE-C GBAYI
++<U00016899> /xf0/x96/xa2/x99 BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
++<U0001689A> /xf0/x96/xa2/x9a BAMUM LETTER PHASE-C NTU MBIT
++<U0001689B> /xf0/x96/xa2/x9b BAMUM LETTER PHASE-C MBEUM
++<U0001689C> /xf0/x96/xa2/x9c BAMUM LETTER PHASE-C PIRIEEN
++<U0001689D> /xf0/x96/xa2/x9d BAMUM LETTER PHASE-C NDOMBU
++<U0001689E> /xf0/x96/xa2/x9e BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
++<U0001689F> /xf0/x96/xa2/x9f BAMUM LETTER PHASE-C KEUSHEUAEP
++<U000168A0> /xf0/x96/xa2/xa0 BAMUM LETTER PHASE-C GHAP
++<U000168A1> /xf0/x96/xa2/xa1 BAMUM LETTER PHASE-C KEUKAQ
++<U000168A2> /xf0/x96/xa2/xa2 BAMUM LETTER PHASE-C YU MUOMAE
++<U000168A3> /xf0/x96/xa2/xa3 BAMUM LETTER PHASE-C NZEUM
++<U000168A4> /xf0/x96/xa2/xa4 BAMUM LETTER PHASE-C MBUE
++<U000168A5> /xf0/x96/xa2/xa5 BAMUM LETTER PHASE-C NSEUAEN
++<U000168A6> /xf0/x96/xa2/xa6 BAMUM LETTER PHASE-C MBIT
++<U000168A7> /xf0/x96/xa2/xa7 BAMUM LETTER PHASE-C YEUQ
++<U000168A8> /xf0/x96/xa2/xa8 BAMUM LETTER PHASE-C KPARAQ
++<U000168A9> /xf0/x96/xa2/xa9 BAMUM LETTER PHASE-C KAA
++<U000168AA> /xf0/x96/xa2/xaa BAMUM LETTER PHASE-C SEUX
++<U000168AB> /xf0/x96/xa2/xab BAMUM LETTER PHASE-C NDIDA
++<U000168AC> /xf0/x96/xa2/xac BAMUM LETTER PHASE-C TAASHAE
++<U000168AD> /xf0/x96/xa2/xad BAMUM LETTER PHASE-C NJUEQ
++<U000168AE> /xf0/x96/xa2/xae BAMUM LETTER PHASE-C TITA YUE
++<U000168AF> /xf0/x96/xa2/xaf BAMUM LETTER PHASE-C SUAET
++<U000168B0> /xf0/x96/xa2/xb0 BAMUM LETTER PHASE-C NGGUAEN NYAM
++<U000168B1> /xf0/x96/xa2/xb1 BAMUM LETTER PHASE-C VEUX
++<U000168B2> /xf0/x96/xa2/xb2 BAMUM LETTER PHASE-C NANSANAQ
++<U000168B3> /xf0/x96/xa2/xb3 BAMUM LETTER PHASE-C MA KEUAERI
++<U000168B4> /xf0/x96/xa2/xb4 BAMUM LETTER PHASE-C NTAA
++<U000168B5> /xf0/x96/xa2/xb5 BAMUM LETTER PHASE-C NGGUON
++<U000168B6> /xf0/x96/xa2/xb6 BAMUM LETTER PHASE-C LAP
++<U000168B7> /xf0/x96/xa2/xb7 BAMUM LETTER PHASE-C MBIRIEEN
++<U000168B8> /xf0/x96/xa2/xb8 BAMUM LETTER PHASE-C MGBASAQ
++<U000168B9> /xf0/x96/xa2/xb9 BAMUM LETTER PHASE-C NTEUNGBA
++<U000168BA> /xf0/x96/xa2/xba BAMUM LETTER PHASE-C TEUTEUX
++<U000168BB> /xf0/x96/xa2/xbb BAMUM LETTER PHASE-C NGGUM
++<U000168BC> /xf0/x96/xa2/xbc BAMUM LETTER PHASE-C FUE
++<U000168BD> /xf0/x96/xa2/xbd BAMUM LETTER PHASE-C NDEUT
++<U000168BE> /xf0/x96/xa2/xbe BAMUM LETTER PHASE-C NSA
++<U000168BF> /xf0/x96/xa2/xbf BAMUM LETTER PHASE-C NSHAQ
++<U000168C0> /xf0/x96/xa3/x80 BAMUM LETTER PHASE-C BUNG
++<U000168C1> /xf0/x96/xa3/x81 BAMUM LETTER PHASE-C VEUAEPEN
++<U000168C2> /xf0/x96/xa3/x82 BAMUM LETTER PHASE-C MBERAE
++<U000168C3> /xf0/x96/xa3/x83 BAMUM LETTER PHASE-C RU
++<U000168C4> /xf0/x96/xa3/x84 BAMUM LETTER PHASE-C NJAEM
++<U000168C5> /xf0/x96/xa3/x85 BAMUM LETTER PHASE-C LAM
++<U000168C6> /xf0/x96/xa3/x86 BAMUM LETTER PHASE-C TITUAEP
++<U000168C7> /xf0/x96/xa3/x87 BAMUM LETTER PHASE-C NSUOT NGOM
++<U000168C8> /xf0/x96/xa3/x88 BAMUM LETTER PHASE-C NJEEEE
++<U000168C9> /xf0/x96/xa3/x89 BAMUM LETTER PHASE-C KET
++<U000168CA> /xf0/x96/xa3/x8a BAMUM LETTER PHASE-C NGGU
++<U000168CB> /xf0/x96/xa3/x8b BAMUM LETTER PHASE-C MAESI
++<U000168CC> /xf0/x96/xa3/x8c BAMUM LETTER PHASE-C MBUAEM
++<U000168CD> /xf0/x96/xa3/x8d BAMUM LETTER PHASE-C LU
++<U000168CE> /xf0/x96/xa3/x8e BAMUM LETTER PHASE-C KUT
++<U000168CF> /xf0/x96/xa3/x8f BAMUM LETTER PHASE-C NJAM
++<U000168D0> /xf0/x96/xa3/x90 BAMUM LETTER PHASE-C NGOM
++<U000168D1> /xf0/x96/xa3/x91 BAMUM LETTER PHASE-C WUP
++<U000168D2> /xf0/x96/xa3/x92 BAMUM LETTER PHASE-C NGGUEET
++<U000168D3> /xf0/x96/xa3/x93 BAMUM LETTER PHASE-C NSOM
++<U000168D4> /xf0/x96/xa3/x94 BAMUM LETTER PHASE-C NTEN
++<U000168D5> /xf0/x96/xa3/x95 BAMUM LETTER PHASE-C KUOP NKAARAE
++<U000168D6> /xf0/x96/xa3/x96 BAMUM LETTER PHASE-C NSUN
++<U000168D7> /xf0/x96/xa3/x97 BAMUM LETTER PHASE-C NDAM
++<U000168D8> /xf0/x96/xa3/x98 BAMUM LETTER PHASE-C MA NSIEE
++<U000168D9> /xf0/x96/xa3/x99 BAMUM LETTER PHASE-C YAA
++<U000168DA> /xf0/x96/xa3/x9a BAMUM LETTER PHASE-C NDAP
++<U000168DB> /xf0/x96/xa3/x9b BAMUM LETTER PHASE-C SHUEQ
++<U000168DC> /xf0/x96/xa3/x9c BAMUM LETTER PHASE-C SETFON
++<U000168DD> /xf0/x96/xa3/x9d BAMUM LETTER PHASE-C MBI
++<U000168DE> /xf0/x96/xa3/x9e BAMUM LETTER PHASE-C MAEMBA
++<U000168DF> /xf0/x96/xa3/x9f BAMUM LETTER PHASE-C MBANYI
++<U000168E0> /xf0/x96/xa3/xa0 BAMUM LETTER PHASE-C KEUSEUX
++<U000168E1> /xf0/x96/xa3/xa1 BAMUM LETTER PHASE-C MBEUX
++<U000168E2> /xf0/x96/xa3/xa2 BAMUM LETTER PHASE-C KEUM
++<U000168E3> /xf0/x96/xa3/xa3 BAMUM LETTER PHASE-C MBAA PICKET
++<U000168E4> /xf0/x96/xa3/xa4 BAMUM LETTER PHASE-C YUWOQ
++<U000168E5> /xf0/x96/xa3/xa5 BAMUM LETTER PHASE-C NJEUX
++<U000168E6> /xf0/x96/xa3/xa6 BAMUM LETTER PHASE-C MIEE
++<U000168E7> /xf0/x96/xa3/xa7 BAMUM LETTER PHASE-C MUAE
++<U000168E8> /xf0/x96/xa3/xa8 BAMUM LETTER PHASE-C SHIQ
++<U000168E9> /xf0/x96/xa3/xa9 BAMUM LETTER PHASE-C KEN LAW
++<U000168EA> /xf0/x96/xa3/xaa BAMUM LETTER PHASE-C KEN FATIGUE
++<U000168EB> /xf0/x96/xa3/xab BAMUM LETTER PHASE-C NGAQ
++<U000168EC> /xf0/x96/xa3/xac BAMUM LETTER PHASE-C NAQ
++<U000168ED> /xf0/x96/xa3/xad BAMUM LETTER PHASE-C LIQ
++<U000168EE> /xf0/x96/xa3/xae BAMUM LETTER PHASE-C PIN
++<U000168EF> /xf0/x96/xa3/xaf BAMUM LETTER PHASE-C PEN
++<U000168F0> /xf0/x96/xa3/xb0 BAMUM LETTER PHASE-C TET
++<U000168F1> /xf0/x96/xa3/xb1 BAMUM LETTER PHASE-D MBUO
++<U000168F2> /xf0/x96/xa3/xb2 BAMUM LETTER PHASE-D WAP
++<U000168F3> /xf0/x96/xa3/xb3 BAMUM LETTER PHASE-D NJI
++<U000168F4> /xf0/x96/xa3/xb4 BAMUM LETTER PHASE-D MFON
++<U000168F5> /xf0/x96/xa3/xb5 BAMUM LETTER PHASE-D NJIEE
++<U000168F6> /xf0/x96/xa3/xb6 BAMUM LETTER PHASE-D LIEE
++<U000168F7> /xf0/x96/xa3/xb7 BAMUM LETTER PHASE-D NJEUT
++<U000168F8> /xf0/x96/xa3/xb8 BAMUM LETTER PHASE-D NSHEE
++<U000168F9> /xf0/x96/xa3/xb9 BAMUM LETTER PHASE-D NGGAAMAE
++<U000168FA> /xf0/x96/xa3/xba BAMUM LETTER PHASE-D NYAM
++<U000168FB> /xf0/x96/xa3/xbb BAMUM LETTER PHASE-D WUAEN
++<U000168FC> /xf0/x96/xa3/xbc BAMUM LETTER PHASE-D NGKUN
++<U000168FD> /xf0/x96/xa3/xbd BAMUM LETTER PHASE-D SHEE
++<U000168FE> /xf0/x96/xa3/xbe BAMUM LETTER PHASE-D NGKAP
++<U000168FF> /xf0/x96/xa3/xbf BAMUM LETTER PHASE-D KEUAETMEUN
++<U00016900> /xf0/x96/xa4/x80 BAMUM LETTER PHASE-D TEUT
++<U00016901> /xf0/x96/xa4/x81 BAMUM LETTER PHASE-D SHEUAE
++<U00016902> /xf0/x96/xa4/x82 BAMUM LETTER PHASE-D NJAP
++<U00016903> /xf0/x96/xa4/x83 BAMUM LETTER PHASE-D SUE
++<U00016904> /xf0/x96/xa4/x84 BAMUM LETTER PHASE-D KET
++<U00016905> /xf0/x96/xa4/x85 BAMUM LETTER PHASE-D YAEMMAE
++<U00016906> /xf0/x96/xa4/x86 BAMUM LETTER PHASE-D KUOM
++<U00016907> /xf0/x96/xa4/x87 BAMUM LETTER PHASE-D SAP
++<U00016908> /xf0/x96/xa4/x88 BAMUM LETTER PHASE-D MFEUT
++<U00016909> /xf0/x96/xa4/x89 BAMUM LETTER PHASE-D NDEUX
++<U0001690A> /xf0/x96/xa4/x8a BAMUM LETTER PHASE-D MALEERI
++<U0001690B> /xf0/x96/xa4/x8b BAMUM LETTER PHASE-D MEUT
++<U0001690C> /xf0/x96/xa4/x8c BAMUM LETTER PHASE-D SEUAEQ
++<U0001690D> /xf0/x96/xa4/x8d BAMUM LETTER PHASE-D YEN
++<U0001690E> /xf0/x96/xa4/x8e BAMUM LETTER PHASE-D NJEUAEM
++<U0001690F> /xf0/x96/xa4/x8f BAMUM LETTER PHASE-D KEUOT MBUAE
++<U00016910> /xf0/x96/xa4/x90 BAMUM LETTER PHASE-D NGKEURI
++<U00016911> /xf0/x96/xa4/x91 BAMUM LETTER PHASE-D TU
++<U00016912> /xf0/x96/xa4/x92 BAMUM LETTER PHASE-D GHAA
++<U00016913> /xf0/x96/xa4/x93 BAMUM LETTER PHASE-D NGKYEE
++<U00016914> /xf0/x96/xa4/x94 BAMUM LETTER PHASE-D FEUFEUAET
++<U00016915> /xf0/x96/xa4/x95 BAMUM LETTER PHASE-D NDEE
++<U00016916> /xf0/x96/xa4/x96 BAMUM LETTER PHASE-D MGBOFUM
++<U00016917> /xf0/x96/xa4/x97 BAMUM LETTER PHASE-D LEUAEP
++<U00016918> /xf0/x96/xa4/x98 BAMUM LETTER PHASE-D NDON
++<U00016919> /xf0/x96/xa4/x99 BAMUM LETTER PHASE-D MONI
++<U0001691A> /xf0/x96/xa4/x9a BAMUM LETTER PHASE-D MGBEUN
++<U0001691B> /xf0/x96/xa4/x9b BAMUM LETTER PHASE-D PUUT
++<U0001691C> /xf0/x96/xa4/x9c BAMUM LETTER PHASE-D MGBIEE
++<U0001691D> /xf0/x96/xa4/x9d BAMUM LETTER PHASE-D MFO
++<U0001691E> /xf0/x96/xa4/x9e BAMUM LETTER PHASE-D LUM
++<U0001691F> /xf0/x96/xa4/x9f BAMUM LETTER PHASE-D NSIEEP
++<U00016920> /xf0/x96/xa4/xa0 BAMUM LETTER PHASE-D MBAA
++<U00016921> /xf0/x96/xa4/xa1 BAMUM LETTER PHASE-D KWAET
++<U00016922> /xf0/x96/xa4/xa2 BAMUM LETTER PHASE-D NYET
++<U00016923> /xf0/x96/xa4/xa3 BAMUM LETTER PHASE-D TEUAEN
++<U00016924> /xf0/x96/xa4/xa4 BAMUM LETTER PHASE-D SOT
++<U00016925> /xf0/x96/xa4/xa5 BAMUM LETTER PHASE-D YUWOQ
++<U00016926> /xf0/x96/xa4/xa6 BAMUM LETTER PHASE-D KEUM
++<U00016927> /xf0/x96/xa4/xa7 BAMUM LETTER PHASE-D RAEM
++<U00016928> /xf0/x96/xa4/xa8 BAMUM LETTER PHASE-D TEEEE
++<U00016929> /xf0/x96/xa4/xa9 BAMUM LETTER PHASE-D NGKEUAEQ
++<U0001692A> /xf0/x96/xa4/xaa BAMUM LETTER PHASE-D MFEUAE
++<U0001692B> /xf0/x96/xa4/xab BAMUM LETTER PHASE-D NSIEET
++<U0001692C> /xf0/x96/xa4/xac BAMUM LETTER PHASE-D KEUP
++<U0001692D> /xf0/x96/xa4/xad BAMUM LETTER PHASE-D PIP
++<U0001692E> /xf0/x96/xa4/xae BAMUM LETTER PHASE-D PEUTAE
++<U0001692F> /xf0/x96/xa4/xaf BAMUM LETTER PHASE-D NYUE
++<U00016930> /xf0/x96/xa4/xb0 BAMUM LETTER PHASE-D LET
++<U00016931> /xf0/x96/xa4/xb1 BAMUM LETTER PHASE-D NGGAAM
++<U00016932> /xf0/x96/xa4/xb2 BAMUM LETTER PHASE-D MFIEE
++<U00016933> /xf0/x96/xa4/xb3 BAMUM LETTER PHASE-D NGGWAEN
++<U00016934> /xf0/x96/xa4/xb4 BAMUM LETTER PHASE-D YUOM
++<U00016935> /xf0/x96/xa4/xb5 BAMUM LETTER PHASE-D PAP
++<U00016936> /xf0/x96/xa4/xb6 BAMUM LETTER PHASE-D YUOP
++<U00016937> /xf0/x96/xa4/xb7 BAMUM LETTER PHASE-D NDAM
++<U00016938> /xf0/x96/xa4/xb8 BAMUM LETTER PHASE-D NTEUM
++<U00016939> /xf0/x96/xa4/xb9 BAMUM LETTER PHASE-D SUAE
++<U0001693A> /xf0/x96/xa4/xba BAMUM LETTER PHASE-D KUN
++<U0001693B> /xf0/x96/xa4/xbb BAMUM LETTER PHASE-D NGGEUX
++<U0001693C> /xf0/x96/xa4/xbc BAMUM LETTER PHASE-D NGKIEE
++<U0001693D> /xf0/x96/xa4/xbd BAMUM LETTER PHASE-D TUOT
++<U0001693E> /xf0/x96/xa4/xbe BAMUM LETTER PHASE-D MEUN
++<U0001693F> /xf0/x96/xa4/xbf BAMUM LETTER PHASE-D KUQ
++<U00016940> /xf0/x96/xa5/x80 BAMUM LETTER PHASE-D NSUM
++<U00016941> /xf0/x96/xa5/x81 BAMUM LETTER PHASE-D TEUN
++<U00016942> /xf0/x96/xa5/x82 BAMUM LETTER PHASE-D MAENJET
++<U00016943> /xf0/x96/xa5/x83 BAMUM LETTER PHASE-D NGGAP
++<U00016944> /xf0/x96/xa5/x84 BAMUM LETTER PHASE-D LEUM
++<U00016945> /xf0/x96/xa5/x85 BAMUM LETTER PHASE-D NGGUOM
++<U00016946> /xf0/x96/xa5/x86 BAMUM LETTER PHASE-D NSHUT
++<U00016947> /xf0/x96/xa5/x87 BAMUM LETTER PHASE-D NJUEQ
++<U00016948> /xf0/x96/xa5/x88 BAMUM LETTER PHASE-D GHEUAE
++<U00016949> /xf0/x96/xa5/x89 BAMUM LETTER PHASE-D KU
++<U0001694A> /xf0/x96/xa5/x8a BAMUM LETTER PHASE-D REN OLD
++<U0001694B> /xf0/x96/xa5/x8b BAMUM LETTER PHASE-D TAE
++<U0001694C> /xf0/x96/xa5/x8c BAMUM LETTER PHASE-D TOQ
++<U0001694D> /xf0/x96/xa5/x8d BAMUM LETTER PHASE-D NYI
++<U0001694E> /xf0/x96/xa5/x8e BAMUM LETTER PHASE-D RII
++<U0001694F> /xf0/x96/xa5/x8f BAMUM LETTER PHASE-D LEEEE
++<U00016950> /xf0/x96/xa5/x90 BAMUM LETTER PHASE-D MEEEE
++<U00016951> /xf0/x96/xa5/x91 BAMUM LETTER PHASE-D M
++<U00016952> /xf0/x96/xa5/x92 BAMUM LETTER PHASE-D SUU
++<U00016953> /xf0/x96/xa5/x93 BAMUM LETTER PHASE-D MU
++<U00016954> /xf0/x96/xa5/x94 BAMUM LETTER PHASE-D SHII
++<U00016955> /xf0/x96/xa5/x95 BAMUM LETTER PHASE-D SHEUX
++<U00016956> /xf0/x96/xa5/x96 BAMUM LETTER PHASE-D KYEE
++<U00016957> /xf0/x96/xa5/x97 BAMUM LETTER PHASE-D NU
++<U00016958> /xf0/x96/xa5/x98 BAMUM LETTER PHASE-D SHU
++<U00016959> /xf0/x96/xa5/x99 BAMUM LETTER PHASE-D NTEE
++<U0001695A> /xf0/x96/xa5/x9a BAMUM LETTER PHASE-D PEE
++<U0001695B> /xf0/x96/xa5/x9b BAMUM LETTER PHASE-D NI
++<U0001695C> /xf0/x96/xa5/x9c BAMUM LETTER PHASE-D SHOQ
++<U0001695D> /xf0/x96/xa5/x9d BAMUM LETTER PHASE-D PUQ
++<U0001695E> /xf0/x96/xa5/x9e BAMUM LETTER PHASE-D MVOP
++<U0001695F> /xf0/x96/xa5/x9f BAMUM LETTER PHASE-D LOQ
++<U00016960> /xf0/x96/xa5/xa0 BAMUM LETTER PHASE-D REN MUCH
++<U00016961> /xf0/x96/xa5/xa1 BAMUM LETTER PHASE-D TI
++<U00016962> /xf0/x96/xa5/xa2 BAMUM LETTER PHASE-D NTUU
++<U00016963> /xf0/x96/xa5/xa3 BAMUM LETTER PHASE-D MBAA SEVEN
++<U00016964> /xf0/x96/xa5/xa4 BAMUM LETTER PHASE-D SAQ
++<U00016965> /xf0/x96/xa5/xa5 BAMUM LETTER PHASE-D FAA
++<U00016966> /xf0/x96/xa5/xa6 BAMUM LETTER PHASE-E NDAP
++<U00016967> /xf0/x96/xa5/xa7 BAMUM LETTER PHASE-E TOON
++<U00016968> /xf0/x96/xa5/xa8 BAMUM LETTER PHASE-E MBEUM
++<U00016969> /xf0/x96/xa5/xa9 BAMUM LETTER PHASE-E LAP
++<U0001696A> /xf0/x96/xa5/xaa BAMUM LETTER PHASE-E VOM
++<U0001696B> /xf0/x96/xa5/xab BAMUM LETTER PHASE-E LOON
++<U0001696C> /xf0/x96/xa5/xac BAMUM LETTER PHASE-E PAA
++<U0001696D> /xf0/x96/xa5/xad BAMUM LETTER PHASE-E SOM
++<U0001696E> /xf0/x96/xa5/xae BAMUM LETTER PHASE-E RAQ
++<U0001696F> /xf0/x96/xa5/xaf BAMUM LETTER PHASE-E NSHUOP
++<U00016970> /xf0/x96/xa5/xb0 BAMUM LETTER PHASE-E NDUN
++<U00016971> /xf0/x96/xa5/xb1 BAMUM LETTER PHASE-E PUAE
++<U00016972> /xf0/x96/xa5/xb2 BAMUM LETTER PHASE-E TAM
++<U00016973> /xf0/x96/xa5/xb3 BAMUM LETTER PHASE-E NGKA
++<U00016974> /xf0/x96/xa5/xb4 BAMUM LETTER PHASE-E KPEUX
++<U00016975> /xf0/x96/xa5/xb5 BAMUM LETTER PHASE-E WUO
++<U00016976> /xf0/x96/xa5/xb6 BAMUM LETTER PHASE-E SEE
++<U00016977> /xf0/x96/xa5/xb7 BAMUM LETTER PHASE-E NGGEUAET
++<U00016978> /xf0/x96/xa5/xb8 BAMUM LETTER PHASE-E PAAM
++<U00016979> /xf0/x96/xa5/xb9 BAMUM LETTER PHASE-E TOO
++<U0001697A> /xf0/x96/xa5/xba BAMUM LETTER PHASE-E KUOP
++<U0001697B> /xf0/x96/xa5/xbb BAMUM LETTER PHASE-E LOM
++<U0001697C> /xf0/x96/xa5/xbc BAMUM LETTER PHASE-E NSHIEE
++<U0001697D> /xf0/x96/xa5/xbd BAMUM LETTER PHASE-E NGOP
++<U0001697E> /xf0/x96/xa5/xbe BAMUM LETTER PHASE-E MAEM
++<U0001697F> /xf0/x96/xa5/xbf BAMUM LETTER PHASE-E NGKEUX
++<U00016980> /xf0/x96/xa6/x80 BAMUM LETTER PHASE-E NGOQ
++<U00016981> /xf0/x96/xa6/x81 BAMUM LETTER PHASE-E NSHUE
++<U00016982> /xf0/x96/xa6/x82 BAMUM LETTER PHASE-E RIMGBA
++<U00016983> /xf0/x96/xa6/x83 BAMUM LETTER PHASE-E NJEUX
++<U00016984> /xf0/x96/xa6/x84 BAMUM LETTER PHASE-E PEEM
++<U00016985> /xf0/x96/xa6/x85 BAMUM LETTER PHASE-E SAA
++<U00016986> /xf0/x96/xa6/x86 BAMUM LETTER PHASE-E NGGURAE
++<U00016987> /xf0/x96/xa6/x87 BAMUM LETTER PHASE-E MGBA
++<U00016988> /xf0/x96/xa6/x88 BAMUM LETTER PHASE-E GHEUX
++<U00016989> /xf0/x96/xa6/x89 BAMUM LETTER PHASE-E NGKEUAEM
++<U0001698A> /xf0/x96/xa6/x8a BAMUM LETTER PHASE-E NJAEMLI
++<U0001698B> /xf0/x96/xa6/x8b BAMUM LETTER PHASE-E MAP
++<U0001698C> /xf0/x96/xa6/x8c BAMUM LETTER PHASE-E LOOT
++<U0001698D> /xf0/x96/xa6/x8d BAMUM LETTER PHASE-E NGGEEEE
++<U0001698E> /xf0/x96/xa6/x8e BAMUM LETTER PHASE-E NDIQ
++<U0001698F> /xf0/x96/xa6/x8f BAMUM LETTER PHASE-E TAEN NTEUM
++<U00016990> /xf0/x96/xa6/x90 BAMUM LETTER PHASE-E SET
++<U00016991> /xf0/x96/xa6/x91 BAMUM LETTER PHASE-E PUM
++<U00016992> /xf0/x96/xa6/x92 BAMUM LETTER PHASE-E NDAA SOFTNESS
++<U00016993> /xf0/x96/xa6/x93 BAMUM LETTER PHASE-E NGGUAESHAE NYAM
++<U00016994> /xf0/x96/xa6/x94 BAMUM LETTER PHASE-E YIEE
++<U00016995> /xf0/x96/xa6/x95 BAMUM LETTER PHASE-E GHEUN
++<U00016996> /xf0/x96/xa6/x96 BAMUM LETTER PHASE-E TUAE
++<U00016997> /xf0/x96/xa6/x97 BAMUM LETTER PHASE-E YEUAE
++<U00016998> /xf0/x96/xa6/x98 BAMUM LETTER PHASE-E PO
++<U00016999> /xf0/x96/xa6/x99 BAMUM LETTER PHASE-E TUMAE
++<U0001699A> /xf0/x96/xa6/x9a BAMUM LETTER PHASE-E KEUAE
++<U0001699B> /xf0/x96/xa6/x9b BAMUM LETTER PHASE-E SUAEN
++<U0001699C> /xf0/x96/xa6/x9c BAMUM LETTER PHASE-E TEUAEQ
++<U0001699D> /xf0/x96/xa6/x9d BAMUM LETTER PHASE-E VEUAE
++<U0001699E> /xf0/x96/xa6/x9e BAMUM LETTER PHASE-E WEUX
++<U0001699F> /xf0/x96/xa6/x9f BAMUM LETTER PHASE-E LAAM
++<U000169A0> /xf0/x96/xa6/xa0 BAMUM LETTER PHASE-E PU
++<U000169A1> /xf0/x96/xa6/xa1 BAMUM LETTER PHASE-E TAAQ
++<U000169A2> /xf0/x96/xa6/xa2 BAMUM LETTER PHASE-E GHAAMAE
++<U000169A3> /xf0/x96/xa6/xa3 BAMUM LETTER PHASE-E NGEUREUT
++<U000169A4> /xf0/x96/xa6/xa4 BAMUM LETTER PHASE-E SHEUAEQ
++<U000169A5> /xf0/x96/xa6/xa5 BAMUM LETTER PHASE-E MGBEN
++<U000169A6> /xf0/x96/xa6/xa6 BAMUM LETTER PHASE-E MBEE
++<U000169A7> /xf0/x96/xa6/xa7 BAMUM LETTER PHASE-E NZAQ
++<U000169A8> /xf0/x96/xa6/xa8 BAMUM LETTER PHASE-E NKOM
++<U000169A9> /xf0/x96/xa6/xa9 BAMUM LETTER PHASE-E GBET
++<U000169AA> /xf0/x96/xa6/xaa BAMUM LETTER PHASE-E TUM
++<U000169AB> /xf0/x96/xa6/xab BAMUM LETTER PHASE-E KUET
++<U000169AC> /xf0/x96/xa6/xac BAMUM LETTER PHASE-E YAP
++<U000169AD> /xf0/x96/xa6/xad BAMUM LETTER PHASE-E NYI CLEAVER
++<U000169AE> /xf0/x96/xa6/xae BAMUM LETTER PHASE-E YIT
++<U000169AF> /xf0/x96/xa6/xaf BAMUM LETTER PHASE-E MFEUQ
++<U000169B0> /xf0/x96/xa6/xb0 BAMUM LETTER PHASE-E NDIAQ
++<U000169B1> /xf0/x96/xa6/xb1 BAMUM LETTER PHASE-E PIEEQ
++<U000169B2> /xf0/x96/xa6/xb2 BAMUM LETTER PHASE-E YUEQ
++<U000169B3> /xf0/x96/xa6/xb3 BAMUM LETTER PHASE-E LEUAEM
++<U000169B4> /xf0/x96/xa6/xb4 BAMUM LETTER PHASE-E FUE
++<U000169B5> /xf0/x96/xa6/xb5 BAMUM LETTER PHASE-E GBEUX
++<U000169B6> /xf0/x96/xa6/xb6 BAMUM LETTER PHASE-E NGKUP
++<U000169B7> /xf0/x96/xa6/xb7 BAMUM LETTER PHASE-E KET
++<U000169B8> /xf0/x96/xa6/xb8 BAMUM LETTER PHASE-E MAE
++<U000169B9> /xf0/x96/xa6/xb9 BAMUM LETTER PHASE-E NGKAAMI
++<U000169BA> /xf0/x96/xa6/xba BAMUM LETTER PHASE-E GHET
++<U000169BB> /xf0/x96/xa6/xbb BAMUM LETTER PHASE-E FA
++<U000169BC> /xf0/x96/xa6/xbc BAMUM LETTER PHASE-E NTUM
++<U000169BD> /xf0/x96/xa6/xbd BAMUM LETTER PHASE-E PEUT
++<U000169BE> /xf0/x96/xa6/xbe BAMUM LETTER PHASE-E YEUM
++<U000169BF> /xf0/x96/xa6/xbf BAMUM LETTER PHASE-E NGGEUAE
++<U000169C0> /xf0/x96/xa7/x80 BAMUM LETTER PHASE-E NYI BETWEEN
++<U000169C1> /xf0/x96/xa7/x81 BAMUM LETTER PHASE-E NZUQ
++<U000169C2> /xf0/x96/xa7/x82 BAMUM LETTER PHASE-E POON
++<U000169C3> /xf0/x96/xa7/x83 BAMUM LETTER PHASE-E MIEE
++<U000169C4> /xf0/x96/xa7/x84 BAMUM LETTER PHASE-E FUET
++<U000169C5> /xf0/x96/xa7/x85 BAMUM LETTER PHASE-E NAE
++<U000169C6> /xf0/x96/xa7/x86 BAMUM LETTER PHASE-E MUAE
++<U000169C7> /xf0/x96/xa7/x87 BAMUM LETTER PHASE-E GHEUAE
++<U000169C8> /xf0/x96/xa7/x88 BAMUM LETTER PHASE-E FU I
++<U000169C9> /xf0/x96/xa7/x89 BAMUM LETTER PHASE-E MVI
++<U000169CA> /xf0/x96/xa7/x8a BAMUM LETTER PHASE-E PUAQ
++<U000169CB> /xf0/x96/xa7/x8b BAMUM LETTER PHASE-E NGKUM
++<U000169CC> /xf0/x96/xa7/x8c BAMUM LETTER PHASE-E KUT
++<U000169CD> /xf0/x96/xa7/x8d BAMUM LETTER PHASE-E PIET
++<U000169CE> /xf0/x96/xa7/x8e BAMUM LETTER PHASE-E NTAP
++<U000169CF> /xf0/x96/xa7/x8f BAMUM LETTER PHASE-E YEUAET
++<U000169D0> /xf0/x96/xa7/x90 BAMUM LETTER PHASE-E NGGUP
++<U000169D1> /xf0/x96/xa7/x91 BAMUM LETTER PHASE-E PA PEOPLE
++<U000169D2> /xf0/x96/xa7/x92 BAMUM LETTER PHASE-E FU CALL
++<U000169D3> /xf0/x96/xa7/x93 BAMUM LETTER PHASE-E FOM
++<U000169D4> /xf0/x96/xa7/x94 BAMUM LETTER PHASE-E NJEE
++<U000169D5> /xf0/x96/xa7/x95 BAMUM LETTER PHASE-E A
++<U000169D6> /xf0/x96/xa7/x96 BAMUM LETTER PHASE-E TOQ
++<U000169D7> /xf0/x96/xa7/x97 BAMUM LETTER PHASE-E O
++<U000169D8> /xf0/x96/xa7/x98 BAMUM LETTER PHASE-E I
++<U000169D9> /xf0/x96/xa7/x99 BAMUM LETTER PHASE-E LAQ
++<U000169DA> /xf0/x96/xa7/x9a BAMUM LETTER PHASE-E PA PLURAL
++<U000169DB> /xf0/x96/xa7/x9b BAMUM LETTER PHASE-E TAA
++<U000169DC> /xf0/x96/xa7/x9c BAMUM LETTER PHASE-E TAQ
++<U000169DD> /xf0/x96/xa7/x9d BAMUM LETTER PHASE-E NDAA MY HOUSE
++<U000169DE> /xf0/x96/xa7/x9e BAMUM LETTER PHASE-E SHIQ
++<U000169DF> /xf0/x96/xa7/x9f BAMUM LETTER PHASE-E YEUX
++<U000169E0> /xf0/x96/xa7/xa0 BAMUM LETTER PHASE-E NGUAE
++<U000169E1> /xf0/x96/xa7/xa1 BAMUM LETTER PHASE-E YUAEN
++<U000169E2> /xf0/x96/xa7/xa2 BAMUM LETTER PHASE-E YOQ SWIMMING
++<U000169E3> /xf0/x96/xa7/xa3 BAMUM LETTER PHASE-E YOQ COVER
++<U000169E4> /xf0/x96/xa7/xa4 BAMUM LETTER PHASE-E YUQ
++<U000169E5> /xf0/x96/xa7/xa5 BAMUM LETTER PHASE-E YUN
++<U000169E6> /xf0/x96/xa7/xa6 BAMUM LETTER PHASE-E KEUX
++<U000169E7> /xf0/x96/xa7/xa7 BAMUM LETTER PHASE-E PEUX
++<U000169E8> /xf0/x96/xa7/xa8 BAMUM LETTER PHASE-E NJEE EPOCH
++<U000169E9> /xf0/x96/xa7/xa9 BAMUM LETTER PHASE-E PUE
++<U000169EA> /xf0/x96/xa7/xaa BAMUM LETTER PHASE-E WUE
++<U000169EB> /xf0/x96/xa7/xab BAMUM LETTER PHASE-E FEE
++<U000169EC> /xf0/x96/xa7/xac BAMUM LETTER PHASE-E VEE
++<U000169ED> /xf0/x96/xa7/xad BAMUM LETTER PHASE-E LU
++<U000169EE> /xf0/x96/xa7/xae BAMUM LETTER PHASE-E MI
++<U000169EF> /xf0/x96/xa7/xaf BAMUM LETTER PHASE-E REUX
++<U000169F0> /xf0/x96/xa7/xb0 BAMUM LETTER PHASE-E RAE
++<U000169F1> /xf0/x96/xa7/xb1 BAMUM LETTER PHASE-E NGUAET
++<U000169F2> /xf0/x96/xa7/xb2 BAMUM LETTER PHASE-E NGA
++<U000169F3> /xf0/x96/xa7/xb3 BAMUM LETTER PHASE-E SHO
++<U000169F4> /xf0/x96/xa7/xb4 BAMUM LETTER PHASE-E SHOQ
++<U000169F5> /xf0/x96/xa7/xb5 BAMUM LETTER PHASE-E FU REMEDY
++<U000169F6> /xf0/x96/xa7/xb6 BAMUM LETTER PHASE-E NA
++<U000169F7> /xf0/x96/xa7/xb7 BAMUM LETTER PHASE-E PI
++<U000169F8> /xf0/x96/xa7/xb8 BAMUM LETTER PHASE-E LOQ
++<U000169F9> /xf0/x96/xa7/xb9 BAMUM LETTER PHASE-E KO
++<U000169FA> /xf0/x96/xa7/xba BAMUM LETTER PHASE-E MEN
++<U000169FB> /xf0/x96/xa7/xbb BAMUM LETTER PHASE-E MA
++<U000169FC> /xf0/x96/xa7/xbc BAMUM LETTER PHASE-E MAQ
++<U000169FD> /xf0/x96/xa7/xbd BAMUM LETTER PHASE-E TEU
++<U000169FE> /xf0/x96/xa7/xbe BAMUM LETTER PHASE-E KI
++<U000169FF> /xf0/x96/xa7/xbf BAMUM LETTER PHASE-E MON
++<U00016A00> /xf0/x96/xa8/x80 BAMUM LETTER PHASE-E TEN
++<U00016A01> /xf0/x96/xa8/x81 BAMUM LETTER PHASE-E FAQ
++<U00016A02> /xf0/x96/xa8/x82 BAMUM LETTER PHASE-E GHOM
++<U00016A03> /xf0/x96/xa8/x83 BAMUM LETTER PHASE-F KA
++<U00016A04> /xf0/x96/xa8/x84 BAMUM LETTER PHASE-F U
++<U00016A05> /xf0/x96/xa8/x85 BAMUM LETTER PHASE-F KU
++<U00016A06> /xf0/x96/xa8/x86 BAMUM LETTER PHASE-F EE
++<U00016A07> /xf0/x96/xa8/x87 BAMUM LETTER PHASE-F REE
++<U00016A08> /xf0/x96/xa8/x88 BAMUM LETTER PHASE-F TAE
++<U00016A09> /xf0/x96/xa8/x89 BAMUM LETTER PHASE-F NYI
++<U00016A0A> /xf0/x96/xa8/x8a BAMUM LETTER PHASE-F LA
++<U00016A0B> /xf0/x96/xa8/x8b BAMUM LETTER PHASE-F RII
++<U00016A0C> /xf0/x96/xa8/x8c BAMUM LETTER PHASE-F RIEE
++<U00016A0D> /xf0/x96/xa8/x8d BAMUM LETTER PHASE-F MEEEE
++<U00016A0E> /xf0/x96/xa8/x8e BAMUM LETTER PHASE-F TAA
++<U00016A0F> /xf0/x96/xa8/x8f BAMUM LETTER PHASE-F NDAA
++<U00016A10> /xf0/x96/xa8/x90 BAMUM LETTER PHASE-F NJAEM
++<U00016A11> /xf0/x96/xa8/x91 BAMUM LETTER PHASE-F M
++<U00016A12> /xf0/x96/xa8/x92 BAMUM LETTER PHASE-F SUU
++<U00016A13> /xf0/x96/xa8/x93 BAMUM LETTER PHASE-F SHII
++<U00016A14> /xf0/x96/xa8/x94 BAMUM LETTER PHASE-F SI
++<U00016A15> /xf0/x96/xa8/x95 BAMUM LETTER PHASE-F SEUX
++<U00016A16> /xf0/x96/xa8/x96 BAMUM LETTER PHASE-F KYEE
++<U00016A17> /xf0/x96/xa8/x97 BAMUM LETTER PHASE-F KET
++<U00016A18> /xf0/x96/xa8/x98 BAMUM LETTER PHASE-F NUAE
++<U00016A19> /xf0/x96/xa8/x99 BAMUM LETTER PHASE-F NU
++<U00016A1A> /xf0/x96/xa8/x9a BAMUM LETTER PHASE-F NJUAE
++<U00016A1B> /xf0/x96/xa8/x9b BAMUM LETTER PHASE-F YOQ
++<U00016A1C> /xf0/x96/xa8/x9c BAMUM LETTER PHASE-F SHU
++<U00016A1D> /xf0/x96/xa8/x9d BAMUM LETTER PHASE-F YA
++<U00016A1E> /xf0/x96/xa8/x9e BAMUM LETTER PHASE-F NSHA
++<U00016A1F> /xf0/x96/xa8/x9f BAMUM LETTER PHASE-F PEUX
++<U00016A20> /xf0/x96/xa8/xa0 BAMUM LETTER PHASE-F NTEE
++<U00016A21> /xf0/x96/xa8/xa1 BAMUM LETTER PHASE-F WUE
++<U00016A22> /xf0/x96/xa8/xa2 BAMUM LETTER PHASE-F PEE
++<U00016A23> /xf0/x96/xa8/xa3 BAMUM LETTER PHASE-F RU
++<U00016A24> /xf0/x96/xa8/xa4 BAMUM LETTER PHASE-F NI
++<U00016A25> /xf0/x96/xa8/xa5 BAMUM LETTER PHASE-F REUX
++<U00016A26> /xf0/x96/xa8/xa6 BAMUM LETTER PHASE-F KEN
++<U00016A27> /xf0/x96/xa8/xa7 BAMUM LETTER PHASE-F NGKWAEN
++<U00016A28> /xf0/x96/xa8/xa8 BAMUM LETTER PHASE-F NGGA
++<U00016A29> /xf0/x96/xa8/xa9 BAMUM LETTER PHASE-F SHO
++<U00016A2A> /xf0/x96/xa8/xaa BAMUM LETTER PHASE-F PUAE
++<U00016A2B> /xf0/x96/xa8/xab BAMUM LETTER PHASE-F FOM
++<U00016A2C> /xf0/x96/xa8/xac BAMUM LETTER PHASE-F WA
++<U00016A2D> /xf0/x96/xa8/xad BAMUM LETTER PHASE-F LI
++<U00016A2E> /xf0/x96/xa8/xae BAMUM LETTER PHASE-F LOQ
++<U00016A2F> /xf0/x96/xa8/xaf BAMUM LETTER PHASE-F KO
++<U00016A30> /xf0/x96/xa8/xb0 BAMUM LETTER PHASE-F MBEN
++<U00016A31> /xf0/x96/xa8/xb1 BAMUM LETTER PHASE-F REN
++<U00016A32> /xf0/x96/xa8/xb2 BAMUM LETTER PHASE-F MA
++<U00016A33> /xf0/x96/xa8/xb3 BAMUM LETTER PHASE-F MO
++<U00016A34> /xf0/x96/xa8/xb4 BAMUM LETTER PHASE-F MBAA
++<U00016A35> /xf0/x96/xa8/xb5 BAMUM LETTER PHASE-F TET
++<U00016A36> /xf0/x96/xa8/xb6 BAMUM LETTER PHASE-F KPA
++<U00016A37> /xf0/x96/xa8/xb7 BAMUM LETTER PHASE-F SAMBA
++<U00016A38> /xf0/x96/xa8/xb8 BAMUM LETTER PHASE-F VUEQ
++<U0001B000> /xf0/x9b/x80/x80 KATAKANA LETTER ARCHAIC E
++<U0001B001> /xf0/x9b/x80/x81 HIRAGANA LETTER ARCHAIC YE
+ <U0001D000> /xf0/x9d/x80/x80 BYZANTINE MUSICAL SYMBOL PSILI
+ <U0001D001> /xf0/x9d/x80/x81 BYZANTINE MUSICAL SYMBOL DASEIA
+ <U0001D002> /xf0/x9d/x80/x82 BYZANTINE MUSICAL SYMBOL PERISPOMENI
+@@ -30151,6 +33445,1091 @@ CHARMAP
+ <U0001F091> /xf0/x9f/x82/x91 DOMINO TILE VERTICAL-06-04
+ <U0001F092> /xf0/x9f/x82/x92 DOMINO TILE VERTICAL-06-05
+ <U0001F093> /xf0/x9f/x82/x93 DOMINO TILE VERTICAL-06-06
++<U0001F0A0> /xf0/x9f/x82/xa0 PLAYING CARD BACK
++<U0001F0A1> /xf0/x9f/x82/xa1 PLAYING CARD ACE OF SPADES
++<U0001F0A2> /xf0/x9f/x82/xa2 PLAYING CARD TWO OF SPADES
++<U0001F0A3> /xf0/x9f/x82/xa3 PLAYING CARD THREE OF SPADES
++<U0001F0A4> /xf0/x9f/x82/xa4 PLAYING CARD FOUR OF SPADES
++<U0001F0A5> /xf0/x9f/x82/xa5 PLAYING CARD FIVE OF SPADES
++<U0001F0A6> /xf0/x9f/x82/xa6 PLAYING CARD SIX OF SPADES
++<U0001F0A7> /xf0/x9f/x82/xa7 PLAYING CARD SEVEN OF SPADES
++<U0001F0A8> /xf0/x9f/x82/xa8 PLAYING CARD EIGHT OF SPADES
++<U0001F0A9> /xf0/x9f/x82/xa9 PLAYING CARD NINE OF SPADES
++<U0001F0AA> /xf0/x9f/x82/xaa PLAYING CARD TEN OF SPADES
++<U0001F0AB> /xf0/x9f/x82/xab PLAYING CARD JACK OF SPADES
++<U0001F0AC> /xf0/x9f/x82/xac PLAYING CARD KNIGHT OF SPADES
++<U0001F0AD> /xf0/x9f/x82/xad PLAYING CARD QUEEN OF SPADES
++<U0001F0AE> /xf0/x9f/x82/xae PLAYING CARD KING OF SPADES
++<U0001F0B1> /xf0/x9f/x82/xb1 PLAYING CARD ACE OF HEARTS
++<U0001F0B2> /xf0/x9f/x82/xb2 PLAYING CARD TWO OF HEARTS
++<U0001F0B3> /xf0/x9f/x82/xb3 PLAYING CARD THREE OF HEARTS
++<U0001F0B4> /xf0/x9f/x82/xb4 PLAYING CARD FOUR OF HEARTS
++<U0001F0B5> /xf0/x9f/x82/xb5 PLAYING CARD FIVE OF HEARTS
++<U0001F0B6> /xf0/x9f/x82/xb6 PLAYING CARD SIX OF HEARTS
++<U0001F0B7> /xf0/x9f/x82/xb7 PLAYING CARD SEVEN OF HEARTS
++<U0001F0B8> /xf0/x9f/x82/xb8 PLAYING CARD EIGHT OF HEARTS
++<U0001F0B9> /xf0/x9f/x82/xb9 PLAYING CARD NINE OF HEARTS
++<U0001F0BA> /xf0/x9f/x82/xba PLAYING CARD TEN OF HEARTS
++<U0001F0BB> /xf0/x9f/x82/xbb PLAYING CARD JACK OF HEARTS
++<U0001F0BC> /xf0/x9f/x82/xbc PLAYING CARD KNIGHT OF HEARTS
++<U0001F0BD> /xf0/x9f/x82/xbd PLAYING CARD QUEEN OF HEARTS
++<U0001F0BE> /xf0/x9f/x82/xbe PLAYING CARD KING OF HEARTS
++<U0001F0C1> /xf0/x9f/x83/x81 PLAYING CARD ACE OF DIAMONDS
++<U0001F0C2> /xf0/x9f/x83/x82 PLAYING CARD TWO OF DIAMONDS
++<U0001F0C3> /xf0/x9f/x83/x83 PLAYING CARD THREE OF DIAMONDS
++<U0001F0C4> /xf0/x9f/x83/x84 PLAYING CARD FOUR OF DIAMONDS
++<U0001F0C5> /xf0/x9f/x83/x85 PLAYING CARD FIVE OF DIAMONDS
++<U0001F0C6> /xf0/x9f/x83/x86 PLAYING CARD SIX OF DIAMONDS
++<U0001F0C7> /xf0/x9f/x83/x87 PLAYING CARD SEVEN OF DIAMONDS
++<U0001F0C8> /xf0/x9f/x83/x88 PLAYING CARD EIGHT OF DIAMONDS
++<U0001F0C9> /xf0/x9f/x83/x89 PLAYING CARD NINE OF DIAMONDS
++<U0001F0CA> /xf0/x9f/x83/x8a PLAYING CARD TEN OF DIAMONDS
++<U0001F0CB> /xf0/x9f/x83/x8b PLAYING CARD JACK OF DIAMONDS
++<U0001F0CC> /xf0/x9f/x83/x8c PLAYING CARD KNIGHT OF DIAMONDS
++<U0001F0CD> /xf0/x9f/x83/x8d PLAYING CARD QUEEN OF DIAMONDS
++<U0001F0CE> /xf0/x9f/x83/x8e PLAYING CARD KING OF DIAMONDS
++<U0001F0CF> /xf0/x9f/x83/x8f PLAYING CARD BLACK JOKER
++<U0001F0D1> /xf0/x9f/x83/x91 PLAYING CARD ACE OF CLUBS
++<U0001F0D2> /xf0/x9f/x83/x92 PLAYING CARD TWO OF CLUBS
++<U0001F0D3> /xf0/x9f/x83/x93 PLAYING CARD THREE OF CLUBS
++<U0001F0D4> /xf0/x9f/x83/x94 PLAYING CARD FOUR OF CLUBS
++<U0001F0D5> /xf0/x9f/x83/x95 PLAYING CARD FIVE OF CLUBS
++<U0001F0D6> /xf0/x9f/x83/x96 PLAYING CARD SIX OF CLUBS
++<U0001F0D7> /xf0/x9f/x83/x97 PLAYING CARD SEVEN OF CLUBS
++<U0001F0D8> /xf0/x9f/x83/x98 PLAYING CARD EIGHT OF CLUBS
++<U0001F0D9> /xf0/x9f/x83/x99 PLAYING CARD NINE OF CLUBS
++<U0001F0DA> /xf0/x9f/x83/x9a PLAYING CARD TEN OF CLUBS
++<U0001F0DB> /xf0/x9f/x83/x9b PLAYING CARD JACK OF CLUBS
++<U0001F0DC> /xf0/x9f/x83/x9c PLAYING CARD KNIGHT OF CLUBS
++<U0001F0DD> /xf0/x9f/x83/x9d PLAYING CARD QUEEN OF CLUBS
++<U0001F0DE> /xf0/x9f/x83/x9e PLAYING CARD KING OF CLUBS
++<U0001F0DF> /xf0/x9f/x83/x9f PLAYING CARD WHITE JOKER
++<U0001F100> /xf0/x9f/x84/x80 DIGIT ZERO FULL STOP
++<U0001F101> /xf0/x9f/x84/x81 DIGIT ZERO COMMA
++<U0001F102> /xf0/x9f/x84/x82 DIGIT ONE COMMA
++<U0001F103> /xf0/x9f/x84/x83 DIGIT TWO COMMA
++<U0001F104> /xf0/x9f/x84/x84 DIGIT THREE COMMA
++<U0001F105> /xf0/x9f/x84/x85 DIGIT FOUR COMMA
++<U0001F106> /xf0/x9f/x84/x86 DIGIT FIVE COMMA
++<U0001F107> /xf0/x9f/x84/x87 DIGIT SIX COMMA
++<U0001F108> /xf0/x9f/x84/x88 DIGIT SEVEN COMMA
++<U0001F109> /xf0/x9f/x84/x89 DIGIT EIGHT COMMA
++<U0001F10A> /xf0/x9f/x84/x8a DIGIT NINE COMMA
++<U0001F110> /xf0/x9f/x84/x90 PARENTHESIZED LATIN CAPITAL LETTER A
++<U0001F111> /xf0/x9f/x84/x91 PARENTHESIZED LATIN CAPITAL LETTER B
++<U0001F112> /xf0/x9f/x84/x92 PARENTHESIZED LATIN CAPITAL LETTER C
++<U0001F113> /xf0/x9f/x84/x93 PARENTHESIZED LATIN CAPITAL LETTER D
++<U0001F114> /xf0/x9f/x84/x94 PARENTHESIZED LATIN CAPITAL LETTER E
++<U0001F115> /xf0/x9f/x84/x95 PARENTHESIZED LATIN CAPITAL LETTER F
++<U0001F116> /xf0/x9f/x84/x96 PARENTHESIZED LATIN CAPITAL LETTER G
++<U0001F117> /xf0/x9f/x84/x97 PARENTHESIZED LATIN CAPITAL LETTER H
++<U0001F118> /xf0/x9f/x84/x98 PARENTHESIZED LATIN CAPITAL LETTER I
++<U0001F119> /xf0/x9f/x84/x99 PARENTHESIZED LATIN CAPITAL LETTER J
++<U0001F11A> /xf0/x9f/x84/x9a PARENTHESIZED LATIN CAPITAL LETTER K
++<U0001F11B> /xf0/x9f/x84/x9b PARENTHESIZED LATIN CAPITAL LETTER L
++<U0001F11C> /xf0/x9f/x84/x9c PARENTHESIZED LATIN CAPITAL LETTER M
++<U0001F11D> /xf0/x9f/x84/x9d PARENTHESIZED LATIN CAPITAL LETTER N
++<U0001F11E> /xf0/x9f/x84/x9e PARENTHESIZED LATIN CAPITAL LETTER O
++<U0001F11F> /xf0/x9f/x84/x9f PARENTHESIZED LATIN CAPITAL LETTER P
++<U0001F120> /xf0/x9f/x84/xa0 PARENTHESIZED LATIN CAPITAL LETTER Q
++<U0001F121> /xf0/x9f/x84/xa1 PARENTHESIZED LATIN CAPITAL LETTER R
++<U0001F122> /xf0/x9f/x84/xa2 PARENTHESIZED LATIN CAPITAL LETTER S
++<U0001F123> /xf0/x9f/x84/xa3 PARENTHESIZED LATIN CAPITAL LETTER T
++<U0001F124> /xf0/x9f/x84/xa4 PARENTHESIZED LATIN CAPITAL LETTER U
++<U0001F125> /xf0/x9f/x84/xa5 PARENTHESIZED LATIN CAPITAL LETTER V
++<U0001F126> /xf0/x9f/x84/xa6 PARENTHESIZED LATIN CAPITAL LETTER W
++<U0001F127> /xf0/x9f/x84/xa7 PARENTHESIZED LATIN CAPITAL LETTER X
++<U0001F128> /xf0/x9f/x84/xa8 PARENTHESIZED LATIN CAPITAL LETTER Y
++<U0001F129> /xf0/x9f/x84/xa9 PARENTHESIZED LATIN CAPITAL LETTER Z
++<U0001F12A> /xf0/x9f/x84/xaa TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
++<U0001F12B> /xf0/x9f/x84/xab CIRCLED ITALIC LATIN CAPITAL LETTER C
++<U0001F12C> /xf0/x9f/x84/xac CIRCLED ITALIC LATIN CAPITAL LETTER R
++<U0001F12D> /xf0/x9f/x84/xad CIRCLED CD
++<U0001F12E> /xf0/x9f/x84/xae CIRCLED WZ
++<U0001F130> /xf0/x9f/x84/xb0 SQUARED LATIN CAPITAL LETTER A
++<U0001F131> /xf0/x9f/x84/xb1 SQUARED LATIN CAPITAL LETTER B
++<U0001F132> /xf0/x9f/x84/xb2 SQUARED LATIN CAPITAL LETTER C
++<U0001F133> /xf0/x9f/x84/xb3 SQUARED LATIN CAPITAL LETTER D
++<U0001F134> /xf0/x9f/x84/xb4 SQUARED LATIN CAPITAL LETTER E
++<U0001F135> /xf0/x9f/x84/xb5 SQUARED LATIN CAPITAL LETTER F
++<U0001F136> /xf0/x9f/x84/xb6 SQUARED LATIN CAPITAL LETTER G
++<U0001F137> /xf0/x9f/x84/xb7 SQUARED LATIN CAPITAL LETTER H
++<U0001F138> /xf0/x9f/x84/xb8 SQUARED LATIN CAPITAL LETTER I
++<U0001F139> /xf0/x9f/x84/xb9 SQUARED LATIN CAPITAL LETTER J
++<U0001F13A> /xf0/x9f/x84/xba SQUARED LATIN CAPITAL LETTER K
++<U0001F13B> /xf0/x9f/x84/xbb SQUARED LATIN CAPITAL LETTER L
++<U0001F13C> /xf0/x9f/x84/xbc SQUARED LATIN CAPITAL LETTER M
++<U0001F13D> /xf0/x9f/x84/xbd SQUARED LATIN CAPITAL LETTER N
++<U0001F13E> /xf0/x9f/x84/xbe SQUARED LATIN CAPITAL LETTER O
++<U0001F13F> /xf0/x9f/x84/xbf SQUARED LATIN CAPITAL LETTER P
++<U0001F140> /xf0/x9f/x85/x80 SQUARED LATIN CAPITAL LETTER Q
++<U0001F141> /xf0/x9f/x85/x81 SQUARED LATIN CAPITAL LETTER R
++<U0001F142> /xf0/x9f/x85/x82 SQUARED LATIN CAPITAL LETTER S
++<U0001F143> /xf0/x9f/x85/x83 SQUARED LATIN CAPITAL LETTER T
++<U0001F144> /xf0/x9f/x85/x84 SQUARED LATIN CAPITAL LETTER U
++<U0001F145> /xf0/x9f/x85/x85 SQUARED LATIN CAPITAL LETTER V
++<U0001F146> /xf0/x9f/x85/x86 SQUARED LATIN CAPITAL LETTER W
++<U0001F147> /xf0/x9f/x85/x87 SQUARED LATIN CAPITAL LETTER X
++<U0001F148> /xf0/x9f/x85/x88 SQUARED LATIN CAPITAL LETTER Y
++<U0001F149> /xf0/x9f/x85/x89 SQUARED LATIN CAPITAL LETTER Z
++<U0001F14A> /xf0/x9f/x85/x8a SQUARED HV
++<U0001F14B> /xf0/x9f/x85/x8b SQUARED MV
++<U0001F14C> /xf0/x9f/x85/x8c SQUARED SD
++<U0001F14D> /xf0/x9f/x85/x8d SQUARED SS
++<U0001F14E> /xf0/x9f/x85/x8e SQUARED PPV
++<U0001F14F> /xf0/x9f/x85/x8f SQUARED WC
++<U0001F150> /xf0/x9f/x85/x90 NEGATIVE CIRCLED LATIN CAPITAL LETTER A
++<U0001F151> /xf0/x9f/x85/x91 NEGATIVE CIRCLED LATIN CAPITAL LETTER B
++<U0001F152> /xf0/x9f/x85/x92 NEGATIVE CIRCLED LATIN CAPITAL LETTER C
++<U0001F153> /xf0/x9f/x85/x93 NEGATIVE CIRCLED LATIN CAPITAL LETTER D
++<U0001F154> /xf0/x9f/x85/x94 NEGATIVE CIRCLED LATIN CAPITAL LETTER E
++<U0001F155> /xf0/x9f/x85/x95 NEGATIVE CIRCLED LATIN CAPITAL LETTER F
++<U0001F156> /xf0/x9f/x85/x96 NEGATIVE CIRCLED LATIN CAPITAL LETTER G
++<U0001F157> /xf0/x9f/x85/x97 NEGATIVE CIRCLED LATIN CAPITAL LETTER H
++<U0001F158> /xf0/x9f/x85/x98 NEGATIVE CIRCLED LATIN CAPITAL LETTER I
++<U0001F159> /xf0/x9f/x85/x99 NEGATIVE CIRCLED LATIN CAPITAL LETTER J
++<U0001F15A> /xf0/x9f/x85/x9a NEGATIVE CIRCLED LATIN CAPITAL LETTER K
++<U0001F15B> /xf0/x9f/x85/x9b NEGATIVE CIRCLED LATIN CAPITAL LETTER L
++<U0001F15C> /xf0/x9f/x85/x9c NEGATIVE CIRCLED LATIN CAPITAL LETTER M
++<U0001F15D> /xf0/x9f/x85/x9d NEGATIVE CIRCLED LATIN CAPITAL LETTER N
++<U0001F15E> /xf0/x9f/x85/x9e NEGATIVE CIRCLED LATIN CAPITAL LETTER O
++<U0001F15F> /xf0/x9f/x85/x9f NEGATIVE CIRCLED LATIN CAPITAL LETTER P
++<U0001F160> /xf0/x9f/x85/xa0 NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
++<U0001F161> /xf0/x9f/x85/xa1 NEGATIVE CIRCLED LATIN CAPITAL LETTER R
++<U0001F162> /xf0/x9f/x85/xa2 NEGATIVE CIRCLED LATIN CAPITAL LETTER S
++<U0001F163> /xf0/x9f/x85/xa3 NEGATIVE CIRCLED LATIN CAPITAL LETTER T
++<U0001F164> /xf0/x9f/x85/xa4 NEGATIVE CIRCLED LATIN CAPITAL LETTER U
++<U0001F165> /xf0/x9f/x85/xa5 NEGATIVE CIRCLED LATIN CAPITAL LETTER V
++<U0001F166> /xf0/x9f/x85/xa6 NEGATIVE CIRCLED LATIN CAPITAL LETTER W
++<U0001F167> /xf0/x9f/x85/xa7 NEGATIVE CIRCLED LATIN CAPITAL LETTER X
++<U0001F168> /xf0/x9f/x85/xa8 NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
++<U0001F169> /xf0/x9f/x85/xa9 NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
++<U0001F170> /xf0/x9f/x85/xb0 NEGATIVE SQUARED LATIN CAPITAL LETTER A
++<U0001F171> /xf0/x9f/x85/xb1 NEGATIVE SQUARED LATIN CAPITAL LETTER B
++<U0001F172> /xf0/x9f/x85/xb2 NEGATIVE SQUARED LATIN CAPITAL LETTER C
++<U0001F173> /xf0/x9f/x85/xb3 NEGATIVE SQUARED LATIN CAPITAL LETTER D
++<U0001F174> /xf0/x9f/x85/xb4 NEGATIVE SQUARED LATIN CAPITAL LETTER E
++<U0001F175> /xf0/x9f/x85/xb5 NEGATIVE SQUARED LATIN CAPITAL LETTER F
++<U0001F176> /xf0/x9f/x85/xb6 NEGATIVE SQUARED LATIN CAPITAL LETTER G
++<U0001F177> /xf0/x9f/x85/xb7 NEGATIVE SQUARED LATIN CAPITAL LETTER H
++<U0001F178> /xf0/x9f/x85/xb8 NEGATIVE SQUARED LATIN CAPITAL LETTER I
++<U0001F179> /xf0/x9f/x85/xb9 NEGATIVE SQUARED LATIN CAPITAL LETTER J
++<U0001F17A> /xf0/x9f/x85/xba NEGATIVE SQUARED LATIN CAPITAL LETTER K
++<U0001F17B> /xf0/x9f/x85/xbb NEGATIVE SQUARED LATIN CAPITAL LETTER L
++<U0001F17C> /xf0/x9f/x85/xbc NEGATIVE SQUARED LATIN CAPITAL LETTER M
++<U0001F17D> /xf0/x9f/x85/xbd NEGATIVE SQUARED LATIN CAPITAL LETTER N
++<U0001F17E> /xf0/x9f/x85/xbe NEGATIVE SQUARED LATIN CAPITAL LETTER O
++<U0001F17F> /xf0/x9f/x85/xbf NEGATIVE SQUARED LATIN CAPITAL LETTER P
++<U0001F180> /xf0/x9f/x86/x80 NEGATIVE SQUARED LATIN CAPITAL LETTER Q
++<U0001F181> /xf0/x9f/x86/x81 NEGATIVE SQUARED LATIN CAPITAL LETTER R
++<U0001F182> /xf0/x9f/x86/x82 NEGATIVE SQUARED LATIN CAPITAL LETTER S
++<U0001F183> /xf0/x9f/x86/x83 NEGATIVE SQUARED LATIN CAPITAL LETTER T
++<U0001F184> /xf0/x9f/x86/x84 NEGATIVE SQUARED LATIN CAPITAL LETTER U
++<U0001F185> /xf0/x9f/x86/x85 NEGATIVE SQUARED LATIN CAPITAL LETTER V
++<U0001F186> /xf0/x9f/x86/x86 NEGATIVE SQUARED LATIN CAPITAL LETTER W
++<U0001F187> /xf0/x9f/x86/x87 NEGATIVE SQUARED LATIN CAPITAL LETTER X
++<U0001F188> /xf0/x9f/x86/x88 NEGATIVE SQUARED LATIN CAPITAL LETTER Y
++<U0001F189> /xf0/x9f/x86/x89 NEGATIVE SQUARED LATIN CAPITAL LETTER Z
++<U0001F18A> /xf0/x9f/x86/x8a CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
++<U0001F18B> /xf0/x9f/x86/x8b NEGATIVE SQUARED IC
++<U0001F18C> /xf0/x9f/x86/x8c NEGATIVE SQUARED PA
++<U0001F18D> /xf0/x9f/x86/x8d NEGATIVE SQUARED SA
++<U0001F18E> /xf0/x9f/x86/x8e NEGATIVE SQUARED AB
++<U0001F18F> /xf0/x9f/x86/x8f NEGATIVE SQUARED WC
++<U0001F190> /xf0/x9f/x86/x90 SQUARE DJ
++<U0001F191> /xf0/x9f/x86/x91 SQUARED CL
++<U0001F192> /xf0/x9f/x86/x92 SQUARED COOL
++<U0001F193> /xf0/x9f/x86/x93 SQUARED FREE
++<U0001F194> /xf0/x9f/x86/x94 SQUARED ID
++<U0001F195> /xf0/x9f/x86/x95 SQUARED NEW
++<U0001F196> /xf0/x9f/x86/x96 SQUARED NG
++<U0001F197> /xf0/x9f/x86/x97 SQUARED OK
++<U0001F198> /xf0/x9f/x86/x98 SQUARED SOS
++<U0001F199> /xf0/x9f/x86/x99 SQUARED UP WITH EXCLAMATION MARK
++<U0001F19A> /xf0/x9f/x86/x9a SQUARED VS
++<U0001F1E6> /xf0/x9f/x87/xa6 REGIONAL INDICATOR SYMBOL LETTER A
++<U0001F1E7> /xf0/x9f/x87/xa7 REGIONAL INDICATOR SYMBOL LETTER B
++<U0001F1E8> /xf0/x9f/x87/xa8 REGIONAL INDICATOR SYMBOL LETTER C
++<U0001F1E9> /xf0/x9f/x87/xa9 REGIONAL INDICATOR SYMBOL LETTER D
++<U0001F1EA> /xf0/x9f/x87/xaa REGIONAL INDICATOR SYMBOL LETTER E
++<U0001F1EB> /xf0/x9f/x87/xab REGIONAL INDICATOR SYMBOL LETTER F
++<U0001F1EC> /xf0/x9f/x87/xac REGIONAL INDICATOR SYMBOL LETTER G
++<U0001F1ED> /xf0/x9f/x87/xad REGIONAL INDICATOR SYMBOL LETTER H
++<U0001F1EE> /xf0/x9f/x87/xae REGIONAL INDICATOR SYMBOL LETTER I
++<U0001F1EF> /xf0/x9f/x87/xaf REGIONAL INDICATOR SYMBOL LETTER J
++<U0001F1F0> /xf0/x9f/x87/xb0 REGIONAL INDICATOR SYMBOL LETTER K
++<U0001F1F1> /xf0/x9f/x87/xb1 REGIONAL INDICATOR SYMBOL LETTER L
++<U0001F1F2> /xf0/x9f/x87/xb2 REGIONAL INDICATOR SYMBOL LETTER M
++<U0001F1F3> /xf0/x9f/x87/xb3 REGIONAL INDICATOR SYMBOL LETTER N
++<U0001F1F4> /xf0/x9f/x87/xb4 REGIONAL INDICATOR SYMBOL LETTER O
++<U0001F1F5> /xf0/x9f/x87/xb5 REGIONAL INDICATOR SYMBOL LETTER P
++<U0001F1F6> /xf0/x9f/x87/xb6 REGIONAL INDICATOR SYMBOL LETTER Q
++<U0001F1F7> /xf0/x9f/x87/xb7 REGIONAL INDICATOR SYMBOL LETTER R
++<U0001F1F8> /xf0/x9f/x87/xb8 REGIONAL INDICATOR SYMBOL LETTER S
++<U0001F1F9> /xf0/x9f/x87/xb9 REGIONAL INDICATOR SYMBOL LETTER T
++<U0001F1FA> /xf0/x9f/x87/xba REGIONAL INDICATOR SYMBOL LETTER U
++<U0001F1FB> /xf0/x9f/x87/xbb REGIONAL INDICATOR SYMBOL LETTER V
++<U0001F1FC> /xf0/x9f/x87/xbc REGIONAL INDICATOR SYMBOL LETTER W
++<U0001F1FD> /xf0/x9f/x87/xbd REGIONAL INDICATOR SYMBOL LETTER X
++<U0001F1FE> /xf0/x9f/x87/xbe REGIONAL INDICATOR SYMBOL LETTER Y
++<U0001F1FF> /xf0/x9f/x87/xbf REGIONAL INDICATOR SYMBOL LETTER Z
++<U0001F200> /xf0/x9f/x88/x80 SQUARE HIRAGANA HOKA
++<U0001F201> /xf0/x9f/x88/x81 SQUARED KATAKANA KOKO
++<U0001F202> /xf0/x9f/x88/x82 SQUARED KATAKANA SA
++<U0001F210> /xf0/x9f/x88/x90 SQUARED CJK UNIFIED IDEOGRAPH-624B
++<U0001F211> /xf0/x9f/x88/x91 SQUARED CJK UNIFIED IDEOGRAPH-5B57
++<U0001F212> /xf0/x9f/x88/x92 SQUARED CJK UNIFIED IDEOGRAPH-53CC
++<U0001F213> /xf0/x9f/x88/x93 SQUARED KATAKANA DE
++<U0001F214> /xf0/x9f/x88/x94 SQUARED CJK UNIFIED IDEOGRAPH-4E8C
++<U0001F215> /xf0/x9f/x88/x95 SQUARED CJK UNIFIED IDEOGRAPH-591A
++<U0001F216> /xf0/x9f/x88/x96 SQUARED CJK UNIFIED IDEOGRAPH-89E3
++<U0001F217> /xf0/x9f/x88/x97 SQUARED CJK UNIFIED IDEOGRAPH-5929
++<U0001F218> /xf0/x9f/x88/x98 SQUARED CJK UNIFIED IDEOGRAPH-4EA4
++<U0001F219> /xf0/x9f/x88/x99 SQUARED CJK UNIFIED IDEOGRAPH-6620
++<U0001F21A> /xf0/x9f/x88/x9a SQUARED CJK UNIFIED IDEOGRAPH-7121
++<U0001F21B> /xf0/x9f/x88/x9b SQUARED CJK UNIFIED IDEOGRAPH-6599
++<U0001F21C> /xf0/x9f/x88/x9c SQUARED CJK UNIFIED IDEOGRAPH-524D
++<U0001F21D> /xf0/x9f/x88/x9d SQUARED CJK UNIFIED IDEOGRAPH-5F8C
++<U0001F21E> /xf0/x9f/x88/x9e SQUARED CJK UNIFIED IDEOGRAPH-518D
++<U0001F21F> /xf0/x9f/x88/x9f SQUARED CJK UNIFIED IDEOGRAPH-65B0
++<U0001F220> /xf0/x9f/x88/xa0 SQUARED CJK UNIFIED IDEOGRAPH-521D
++<U0001F221> /xf0/x9f/x88/xa1 SQUARED CJK UNIFIED IDEOGRAPH-7D42
++<U0001F222> /xf0/x9f/x88/xa2 SQUARED CJK UNIFIED IDEOGRAPH-751F
++<U0001F223> /xf0/x9f/x88/xa3 SQUARED CJK UNIFIED IDEOGRAPH-8CA9
++<U0001F224> /xf0/x9f/x88/xa4 SQUARED CJK UNIFIED IDEOGRAPH-58F0
++<U0001F225> /xf0/x9f/x88/xa5 SQUARED CJK UNIFIED IDEOGRAPH-5439
++<U0001F226> /xf0/x9f/x88/xa6 SQUARED CJK UNIFIED IDEOGRAPH-6F14
++<U0001F227> /xf0/x9f/x88/xa7 SQUARED CJK UNIFIED IDEOGRAPH-6295
++<U0001F228> /xf0/x9f/x88/xa8 SQUARED CJK UNIFIED IDEOGRAPH-6355
++<U0001F229> /xf0/x9f/x88/xa9 SQUARED CJK UNIFIED IDEOGRAPH-4E00
++<U0001F22A> /xf0/x9f/x88/xaa SQUARED CJK UNIFIED IDEOGRAPH-4E09
++<U0001F22B> /xf0/x9f/x88/xab SQUARED CJK UNIFIED IDEOGRAPH-904A
++<U0001F22C> /xf0/x9f/x88/xac SQUARED CJK UNIFIED IDEOGRAPH-5DE6
++<U0001F22D> /xf0/x9f/x88/xad SQUARED CJK UNIFIED IDEOGRAPH-4E2D
++<U0001F22E> /xf0/x9f/x88/xae SQUARED CJK UNIFIED IDEOGRAPH-53F3
++<U0001F22F> /xf0/x9f/x88/xaf SQUARED CJK UNIFIED IDEOGRAPH-6307
++<U0001F230> /xf0/x9f/x88/xb0 SQUARED CJK UNIFIED IDEOGRAPH-8D70
++<U0001F231> /xf0/x9f/x88/xb1 SQUARED CJK UNIFIED IDEOGRAPH-6253
++<U0001F232> /xf0/x9f/x88/xb2 SQUARED CJK UNIFIED IDEOGRAPH-7981
++<U0001F233> /xf0/x9f/x88/xb3 SQUARED CJK UNIFIED IDEOGRAPH-7A7A
++<U0001F234> /xf0/x9f/x88/xb4 SQUARED CJK UNIFIED IDEOGRAPH-5408
++<U0001F235> /xf0/x9f/x88/xb5 SQUARED CJK UNIFIED IDEOGRAPH-6E80
++<U0001F236> /xf0/x9f/x88/xb6 SQUARED CJK UNIFIED IDEOGRAPH-6709
++<U0001F237> /xf0/x9f/x88/xb7 SQUARED CJK UNIFIED IDEOGRAPH-6708
++<U0001F238> /xf0/x9f/x88/xb8 SQUARED CJK UNIFIED IDEOGRAPH-7533
++<U0001F239> /xf0/x9f/x88/xb9 SQUARED CJK UNIFIED IDEOGRAPH-5272
++<U0001F23A> /xf0/x9f/x88/xba SQUARED CJK UNIFIED IDEOGRAPH-55B6
++<U0001F240> /xf0/x9f/x89/x80 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
++<U0001F241> /xf0/x9f/x89/x81 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
++<U0001F242> /xf0/x9f/x89/x82 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
++<U0001F243> /xf0/x9f/x89/x83 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
++<U0001F244> /xf0/x9f/x89/x84 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
++<U0001F245> /xf0/x9f/x89/x85 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
++<U0001F246> /xf0/x9f/x89/x86 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
++<U0001F247> /xf0/x9f/x89/x87 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
++<U0001F248> /xf0/x9f/x89/x88 TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
++<U0001F250> /xf0/x9f/x89/x90 CIRCLED IDEOGRAPH ADVANTAGE
++<U0001F251> /xf0/x9f/x89/x91 CIRCLED IDEOGRAPH ACCEPT
++<U0001F300> /xf0/x9f/x8c/x80 CYCLONE
++<U0001F301> /xf0/x9f/x8c/x81 FOGGY
++<U0001F302> /xf0/x9f/x8c/x82 CLOSED UMBRELLA
++<U0001F303> /xf0/x9f/x8c/x83 NIGHT WITH STARS
++<U0001F304> /xf0/x9f/x8c/x84 SUNRISE OVER MOUNTAINS
++<U0001F305> /xf0/x9f/x8c/x85 SUNRISE
++<U0001F306> /xf0/x9f/x8c/x86 CITYSCAPE AT DUSK
++<U0001F307> /xf0/x9f/x8c/x87 SUNSET OVER BUILDINGS
++<U0001F308> /xf0/x9f/x8c/x88 RAINBOW
++<U0001F309> /xf0/x9f/x8c/x89 BRIDGE AT NIGHT
++<U0001F30A> /xf0/x9f/x8c/x8a WATER WAVE
++<U0001F30B> /xf0/x9f/x8c/x8b VOLCANO
++<U0001F30C> /xf0/x9f/x8c/x8c MILKY WAY
++<U0001F30D> /xf0/x9f/x8c/x8d EARTH GLOBE EUROPE-AFRICA
++<U0001F30E> /xf0/x9f/x8c/x8e EARTH GLOBE AMERICAS
++<U0001F30F> /xf0/x9f/x8c/x8f EARTH GLOBE ASIA-AUSTRALIA
++<U0001F310> /xf0/x9f/x8c/x90 GLOBE WITH MERIDIANS
++<U0001F311> /xf0/x9f/x8c/x91 NEW MOON SYMBOL
++<U0001F312> /xf0/x9f/x8c/x92 WAXING CRESCENT MOON SYMBOL
++<U0001F313> /xf0/x9f/x8c/x93 FIRST QUARTER MOON SYMBOL
++<U0001F314> /xf0/x9f/x8c/x94 WAXING GIBBOUS MOON SYMBOL
++<U0001F315> /xf0/x9f/x8c/x95 FULL MOON SYMBOL
++<U0001F316> /xf0/x9f/x8c/x96 WANING GIBBOUS MOON SYMBOL
++<U0001F317> /xf0/x9f/x8c/x97 LAST QUARTER MOON SYMBOL
++<U0001F318> /xf0/x9f/x8c/x98 WANING CRESCENT MOON SYMBOL
++<U0001F319> /xf0/x9f/x8c/x99 CRESCENT MOON
++<U0001F31A> /xf0/x9f/x8c/x9a NEW MOON WITH FACE
++<U0001F31B> /xf0/x9f/x8c/x9b FIRST QUARTER MOON WITH FACE
++<U0001F31C> /xf0/x9f/x8c/x9c LAST QUARTER MOON WITH FACE
++<U0001F31D> /xf0/x9f/x8c/x9d FULL MOON WITH FACE
++<U0001F31E> /xf0/x9f/x8c/x9e SUN WITH FACE
++<U0001F31F> /xf0/x9f/x8c/x9f GLOWING STAR
++<U0001F320> /xf0/x9f/x8c/xa0 SHOOTING STAR
++<U0001F330> /xf0/x9f/x8c/xb0 CHESTNUT
++<U0001F331> /xf0/x9f/x8c/xb1 SEEDLING
++<U0001F332> /xf0/x9f/x8c/xb2 EVERGREEN TREE
++<U0001F333> /xf0/x9f/x8c/xb3 DECIDUOUS TREE
++<U0001F334> /xf0/x9f/x8c/xb4 PALM TREE
++<U0001F335> /xf0/x9f/x8c/xb5 CACTUS
++<U0001F337> /xf0/x9f/x8c/xb7 TULIP
++<U0001F338> /xf0/x9f/x8c/xb8 CHERRY BLOSSOM
++<U0001F339> /xf0/x9f/x8c/xb9 ROSE
++<U0001F33A> /xf0/x9f/x8c/xba HIBISCUS
++<U0001F33B> /xf0/x9f/x8c/xbb SUNFLOWER
++<U0001F33C> /xf0/x9f/x8c/xbc BLOSSOM
++<U0001F33D> /xf0/x9f/x8c/xbd EAR OF MAIZE
++<U0001F33E> /xf0/x9f/x8c/xbe EAR OF RICE
++<U0001F33F> /xf0/x9f/x8c/xbf HERB
++<U0001F340> /xf0/x9f/x8d/x80 FOUR LEAF CLOVER
++<U0001F341> /xf0/x9f/x8d/x81 MAPLE LEAF
++<U0001F342> /xf0/x9f/x8d/x82 FALLEN LEAF
++<U0001F343> /xf0/x9f/x8d/x83 LEAF FLUTTERING IN WIND
++<U0001F344> /xf0/x9f/x8d/x84 MUSHROOM
++<U0001F345> /xf0/x9f/x8d/x85 TOMATO
++<U0001F346> /xf0/x9f/x8d/x86 AUBERGINE
++<U0001F347> /xf0/x9f/x8d/x87 GRAPES
++<U0001F348> /xf0/x9f/x8d/x88 MELON
++<U0001F349> /xf0/x9f/x8d/x89 WATERMELON
++<U0001F34A> /xf0/x9f/x8d/x8a TANGERINE
++<U0001F34B> /xf0/x9f/x8d/x8b LEMON
++<U0001F34C> /xf0/x9f/x8d/x8c BANANA
++<U0001F34D> /xf0/x9f/x8d/x8d PINEAPPLE
++<U0001F34E> /xf0/x9f/x8d/x8e RED APPLE
++<U0001F34F> /xf0/x9f/x8d/x8f GREEN APPLE
++<U0001F350> /xf0/x9f/x8d/x90 PEAR
++<U0001F351> /xf0/x9f/x8d/x91 PEACH
++<U0001F352> /xf0/x9f/x8d/x92 CHERRIES
++<U0001F353> /xf0/x9f/x8d/x93 STRAWBERRY
++<U0001F354> /xf0/x9f/x8d/x94 HAMBURGER
++<U0001F355> /xf0/x9f/x8d/x95 SLICE OF PIZZA
++<U0001F356> /xf0/x9f/x8d/x96 MEAT ON BONE
++<U0001F357> /xf0/x9f/x8d/x97 POULTRY LEG
++<U0001F358> /xf0/x9f/x8d/x98 RICE CRACKER
++<U0001F359> /xf0/x9f/x8d/x99 RICE BALL
++<U0001F35A> /xf0/x9f/x8d/x9a COOKED RICE
++<U0001F35B> /xf0/x9f/x8d/x9b CURRY AND RICE
++<U0001F35C> /xf0/x9f/x8d/x9c STEAMING BOWL
++<U0001F35D> /xf0/x9f/x8d/x9d SPAGHETTI
++<U0001F35E> /xf0/x9f/x8d/x9e BREAD
++<U0001F35F> /xf0/x9f/x8d/x9f FRENCH FRIES
++<U0001F360> /xf0/x9f/x8d/xa0 ROASTED SWEET POTATO
++<U0001F361> /xf0/x9f/x8d/xa1 DANGO
++<U0001F362> /xf0/x9f/x8d/xa2 ODEN
++<U0001F363> /xf0/x9f/x8d/xa3 SUSHI
++<U0001F364> /xf0/x9f/x8d/xa4 FRIED SHRIMP
++<U0001F365> /xf0/x9f/x8d/xa5 FISH CAKE WITH SWIRL DESIGN
++<U0001F366> /xf0/x9f/x8d/xa6 SOFT ICE CREAM
++<U0001F367> /xf0/x9f/x8d/xa7 SHAVED ICE
++<U0001F368> /xf0/x9f/x8d/xa8 ICE CREAM
++<U0001F369> /xf0/x9f/x8d/xa9 DOUGHNUT
++<U0001F36A> /xf0/x9f/x8d/xaa COOKIE
++<U0001F36B> /xf0/x9f/x8d/xab CHOCOLATE BAR
++<U0001F36C> /xf0/x9f/x8d/xac CANDY
++<U0001F36D> /xf0/x9f/x8d/xad LOLLIPOP
++<U0001F36E> /xf0/x9f/x8d/xae CUSTARD
++<U0001F36F> /xf0/x9f/x8d/xaf HONEY POT
++<U0001F370> /xf0/x9f/x8d/xb0 SHORTCAKE
++<U0001F371> /xf0/x9f/x8d/xb1 BENTO BOX
++<U0001F372> /xf0/x9f/x8d/xb2 POT OF FOOD
++<U0001F373> /xf0/x9f/x8d/xb3 COOKING
++<U0001F374> /xf0/x9f/x8d/xb4 FORK AND KNIFE
++<U0001F375> /xf0/x9f/x8d/xb5 TEACUP WITHOUT HANDLE
++<U0001F376> /xf0/x9f/x8d/xb6 SAKE BOTTLE AND CUP
++<U0001F377> /xf0/x9f/x8d/xb7 WINE GLASS
++<U0001F378> /xf0/x9f/x8d/xb8 COCKTAIL GLASS
++<U0001F379> /xf0/x9f/x8d/xb9 TROPICAL DRINK
++<U0001F37A> /xf0/x9f/x8d/xba BEER MUG
++<U0001F37B> /xf0/x9f/x8d/xbb CLINKING BEER MUGS
++<U0001F37C> /xf0/x9f/x8d/xbc BABY BOTTLE
++<U0001F380> /xf0/x9f/x8e/x80 RIBBON
++<U0001F381> /xf0/x9f/x8e/x81 WRAPPED PRESENT
++<U0001F382> /xf0/x9f/x8e/x82 BIRTHDAY CAKE
++<U0001F383> /xf0/x9f/x8e/x83 JACK-O-LANTERN
++<U0001F384> /xf0/x9f/x8e/x84 CHRISTMAS TREE
++<U0001F385> /xf0/x9f/x8e/x85 FATHER CHRISTMAS
++<U0001F386> /xf0/x9f/x8e/x86 FIREWORKS
++<U0001F387> /xf0/x9f/x8e/x87 FIREWORK SPARKLER
++<U0001F388> /xf0/x9f/x8e/x88 BALLOON
++<U0001F389> /xf0/x9f/x8e/x89 PARTY POPPER
++<U0001F38A> /xf0/x9f/x8e/x8a CONFETTI BALL
++<U0001F38B> /xf0/x9f/x8e/x8b TANABATA TREE
++<U0001F38C> /xf0/x9f/x8e/x8c CROSSED FLAGS
++<U0001F38D> /xf0/x9f/x8e/x8d PINE DECORATION
++<U0001F38E> /xf0/x9f/x8e/x8e JAPANESE DOLLS
++<U0001F38F> /xf0/x9f/x8e/x8f CARP STREAMER
++<U0001F390> /xf0/x9f/x8e/x90 WIND CHIME
++<U0001F391> /xf0/x9f/x8e/x91 MOON VIEWING CEREMONY
++<U0001F392> /xf0/x9f/x8e/x92 SCHOOL SATCHEL
++<U0001F393> /xf0/x9f/x8e/x93 GRADUATION CAP
++<U0001F3A0> /xf0/x9f/x8e/xa0 CAROUSEL HORSE
++<U0001F3A1> /xf0/x9f/x8e/xa1 FERRIS WHEEL
++<U0001F3A2> /xf0/x9f/x8e/xa2 ROLLER COASTER
++<U0001F3A3> /xf0/x9f/x8e/xa3 FISHING POLE AND FISH
++<U0001F3A4> /xf0/x9f/x8e/xa4 MICROPHONE
++<U0001F3A5> /xf0/x9f/x8e/xa5 MOVIE CAMERA
++<U0001F3A6> /xf0/x9f/x8e/xa6 CINEMA
++<U0001F3A7> /xf0/x9f/x8e/xa7 HEADPHONE
++<U0001F3A8> /xf0/x9f/x8e/xa8 ARTIST PALETTE
++<U0001F3A9> /xf0/x9f/x8e/xa9 TOP HAT
++<U0001F3AA> /xf0/x9f/x8e/xaa CIRCUS TENT
++<U0001F3AB> /xf0/x9f/x8e/xab TICKET
++<U0001F3AC> /xf0/x9f/x8e/xac CLAPPER BOARD
++<U0001F3AD> /xf0/x9f/x8e/xad PERFORMING ARTS
++<U0001F3AE> /xf0/x9f/x8e/xae VIDEO GAME
++<U0001F3AF> /xf0/x9f/x8e/xaf DIRECT HIT
++<U0001F3B0> /xf0/x9f/x8e/xb0 SLOT MACHINE
++<U0001F3B1> /xf0/x9f/x8e/xb1 BILLIARDS
++<U0001F3B2> /xf0/x9f/x8e/xb2 GAME DIE
++<U0001F3B3> /xf0/x9f/x8e/xb3 BOWLING
++<U0001F3B4> /xf0/x9f/x8e/xb4 FLOWER PLAYING CARDS
++<U0001F3B5> /xf0/x9f/x8e/xb5 MUSICAL NOTE
++<U0001F3B6> /xf0/x9f/x8e/xb6 MULTIPLE MUSICAL NOTES
++<U0001F3B7> /xf0/x9f/x8e/xb7 SAXOPHONE
++<U0001F3B8> /xf0/x9f/x8e/xb8 GUITAR
++<U0001F3B9> /xf0/x9f/x8e/xb9 MUSICAL KEYBOARD
++<U0001F3BA> /xf0/x9f/x8e/xba TRUMPET
++<U0001F3BB> /xf0/x9f/x8e/xbb VIOLIN
++<U0001F3BC> /xf0/x9f/x8e/xbc MUSICAL SCORE
++<U0001F3BD> /xf0/x9f/x8e/xbd RUNNING SHIRT WITH SASH
++<U0001F3BE> /xf0/x9f/x8e/xbe TENNIS RACQUET AND BALL
++<U0001F3BF> /xf0/x9f/x8e/xbf SKI AND SKI BOOT
++<U0001F3C0> /xf0/x9f/x8f/x80 BASKETBALL AND HOOP
++<U0001F3C1> /xf0/x9f/x8f/x81 CHEQUERED FLAG
++<U0001F3C2> /xf0/x9f/x8f/x82 SNOWBOARDER
++<U0001F3C3> /xf0/x9f/x8f/x83 RUNNER
++<U0001F3C4> /xf0/x9f/x8f/x84 SURFER
++<U0001F3C6> /xf0/x9f/x8f/x86 TROPHY
++<U0001F3C7> /xf0/x9f/x8f/x87 HORSE RACING
++<U0001F3C8> /xf0/x9f/x8f/x88 AMERICAN FOOTBALL
++<U0001F3C9> /xf0/x9f/x8f/x89 RUGBY FOOTBALL
++<U0001F3CA> /xf0/x9f/x8f/x8a SWIMMER
++<U0001F3E0> /xf0/x9f/x8f/xa0 HOUSE BUILDING
++<U0001F3E1> /xf0/x9f/x8f/xa1 HOUSE WITH GARDEN
++<U0001F3E2> /xf0/x9f/x8f/xa2 OFFICE BUILDING
++<U0001F3E3> /xf0/x9f/x8f/xa3 JAPANESE POST OFFICE
++<U0001F3E4> /xf0/x9f/x8f/xa4 EUROPEAN POST OFFICE
++<U0001F3E5> /xf0/x9f/x8f/xa5 HOSPITAL
++<U0001F3E6> /xf0/x9f/x8f/xa6 BANK
++<U0001F3E7> /xf0/x9f/x8f/xa7 AUTOMATED TELLER MACHINE
++<U0001F3E8> /xf0/x9f/x8f/xa8 HOTEL
++<U0001F3E9> /xf0/x9f/x8f/xa9 LOVE HOTEL
++<U0001F3EA> /xf0/x9f/x8f/xaa CONVENIENCE STORE
++<U0001F3EB> /xf0/x9f/x8f/xab SCHOOL
++<U0001F3EC> /xf0/x9f/x8f/xac DEPARTMENT STORE
++<U0001F3ED> /xf0/x9f/x8f/xad FACTORY
++<U0001F3EE> /xf0/x9f/x8f/xae IZAKAYA LANTERN
++<U0001F3EF> /xf0/x9f/x8f/xaf JAPANESE CASTLE
++<U0001F3F0> /xf0/x9f/x8f/xb0 EUROPEAN CASTLE
++<U0001F400> /xf0/x9f/x90/x80 RAT
++<U0001F401> /xf0/x9f/x90/x81 MOUSE
++<U0001F402> /xf0/x9f/x90/x82 OX
++<U0001F403> /xf0/x9f/x90/x83 WATER BUFFALO
++<U0001F404> /xf0/x9f/x90/x84 COW
++<U0001F405> /xf0/x9f/x90/x85 TIGER
++<U0001F406> /xf0/x9f/x90/x86 LEOPARD
++<U0001F407> /xf0/x9f/x90/x87 RABBIT
++<U0001F408> /xf0/x9f/x90/x88 CAT
++<U0001F409> /xf0/x9f/x90/x89 DRAGON
++<U0001F40A> /xf0/x9f/x90/x8a CROCODILE
++<U0001F40B> /xf0/x9f/x90/x8b WHALE
++<U0001F40C> /xf0/x9f/x90/x8c SNAIL
++<U0001F40D> /xf0/x9f/x90/x8d SNAKE
++<U0001F40E> /xf0/x9f/x90/x8e HORSE
++<U0001F40F> /xf0/x9f/x90/x8f RAM
++<U0001F410> /xf0/x9f/x90/x90 GOAT
++<U0001F411> /xf0/x9f/x90/x91 SHEEP
++<U0001F412> /xf0/x9f/x90/x92 MONKEY
++<U0001F413> /xf0/x9f/x90/x93 ROOSTER
++<U0001F414> /xf0/x9f/x90/x94 CHICKEN
++<U0001F415> /xf0/x9f/x90/x95 DOG
++<U0001F416> /xf0/x9f/x90/x96 PIG
++<U0001F417> /xf0/x9f/x90/x97 BOAR
++<U0001F418> /xf0/x9f/x90/x98 ELEPHANT
++<U0001F419> /xf0/x9f/x90/x99 OCTOPUS
++<U0001F41A> /xf0/x9f/x90/x9a SPIRAL SHELL
++<U0001F41B> /xf0/x9f/x90/x9b BUG
++<U0001F41C> /xf0/x9f/x90/x9c ANT
++<U0001F41D> /xf0/x9f/x90/x9d HONEYBEE
++<U0001F41E> /xf0/x9f/x90/x9e LADY BEETLE
++<U0001F41F> /xf0/x9f/x90/x9f FISH
++<U0001F420> /xf0/x9f/x90/xa0 TROPICAL FISH
++<U0001F421> /xf0/x9f/x90/xa1 BLOWFISH
++<U0001F422> /xf0/x9f/x90/xa2 TURTLE
++<U0001F423> /xf0/x9f/x90/xa3 HATCHING CHICK
++<U0001F424> /xf0/x9f/x90/xa4 BABY CHICK
++<U0001F425> /xf0/x9f/x90/xa5 FRONT-FACING BABY CHICK
++<U0001F426> /xf0/x9f/x90/xa6 BIRD
++<U0001F427> /xf0/x9f/x90/xa7 PENGUIN
++<U0001F428> /xf0/x9f/x90/xa8 KOALA
++<U0001F429> /xf0/x9f/x90/xa9 POODLE
++<U0001F42A> /xf0/x9f/x90/xaa DROMEDARY CAMEL
++<U0001F42B> /xf0/x9f/x90/xab BACTRIAN CAMEL
++<U0001F42C> /xf0/x9f/x90/xac DOLPHIN
++<U0001F42D> /xf0/x9f/x90/xad MOUSE FACE
++<U0001F42E> /xf0/x9f/x90/xae COW FACE
++<U0001F42F> /xf0/x9f/x90/xaf TIGER FACE
++<U0001F430> /xf0/x9f/x90/xb0 RABBIT FACE
++<U0001F431> /xf0/x9f/x90/xb1 CAT FACE
++<U0001F432> /xf0/x9f/x90/xb2 DRAGON FACE
++<U0001F433> /xf0/x9f/x90/xb3 SPOUTING WHALE
++<U0001F434> /xf0/x9f/x90/xb4 HORSE FACE
++<U0001F435> /xf0/x9f/x90/xb5 MONKEY FACE
++<U0001F436> /xf0/x9f/x90/xb6 DOG FACE
++<U0001F437> /xf0/x9f/x90/xb7 PIG FACE
++<U0001F438> /xf0/x9f/x90/xb8 FROG FACE
++<U0001F439> /xf0/x9f/x90/xb9 HAMSTER FACE
++<U0001F43A> /xf0/x9f/x90/xba WOLF FACE
++<U0001F43B> /xf0/x9f/x90/xbb BEAR FACE
++<U0001F43C> /xf0/x9f/x90/xbc PANDA FACE
++<U0001F43D> /xf0/x9f/x90/xbd PIG NOSE
++<U0001F43E> /xf0/x9f/x90/xbe PAW PRINTS
++<U0001F440> /xf0/x9f/x91/x80 EYES
++<U0001F442> /xf0/x9f/x91/x82 EAR
++<U0001F443> /xf0/x9f/x91/x83 NOSE
++<U0001F444> /xf0/x9f/x91/x84 MOUTH
++<U0001F445> /xf0/x9f/x91/x85 TONGUE
++<U0001F446> /xf0/x9f/x91/x86 WHITE UP POINTING BACKHAND INDEX
++<U0001F447> /xf0/x9f/x91/x87 WHITE DOWN POINTING BACKHAND INDEX
++<U0001F448> /xf0/x9f/x91/x88 WHITE LEFT POINTING BACKHAND INDEX
++<U0001F449> /xf0/x9f/x91/x89 WHITE RIGHT POINTING BACKHAND INDEX
++<U0001F44A> /xf0/x9f/x91/x8a FISTED HAND SIGN
++<U0001F44B> /xf0/x9f/x91/x8b WAVING HAND SIGN
++<U0001F44C> /xf0/x9f/x91/x8c OK HAND SIGN
++<U0001F44D> /xf0/x9f/x91/x8d THUMBS UP SIGN
++<U0001F44E> /xf0/x9f/x91/x8e THUMBS DOWN SIGN
++<U0001F44F> /xf0/x9f/x91/x8f CLAPPING HANDS SIGN
++<U0001F450> /xf0/x9f/x91/x90 OPEN HANDS SIGN
++<U0001F451> /xf0/x9f/x91/x91 CROWN
++<U0001F452> /xf0/x9f/x91/x92 WOMANS HAT
++<U0001F453> /xf0/x9f/x91/x93 EYEGLASSES
++<U0001F454> /xf0/x9f/x91/x94 NECKTIE
++<U0001F455> /xf0/x9f/x91/x95 T-SHIRT
++<U0001F456> /xf0/x9f/x91/x96 JEANS
++<U0001F457> /xf0/x9f/x91/x97 DRESS
++<U0001F458> /xf0/x9f/x91/x98 KIMONO
++<U0001F459> /xf0/x9f/x91/x99 BIKINI
++<U0001F45A> /xf0/x9f/x91/x9a WOMANS CLOTHES
++<U0001F45B> /xf0/x9f/x91/x9b PURSE
++<U0001F45C> /xf0/x9f/x91/x9c HANDBAG
++<U0001F45D> /xf0/x9f/x91/x9d POUCH
++<U0001F45E> /xf0/x9f/x91/x9e MANS SHOE
++<U0001F45F> /xf0/x9f/x91/x9f ATHLETIC SHOE
++<U0001F460> /xf0/x9f/x91/xa0 HIGH-HEELED SHOE
++<U0001F461> /xf0/x9f/x91/xa1 WOMANS SANDAL
++<U0001F462> /xf0/x9f/x91/xa2 WOMANS BOOTS
++<U0001F463> /xf0/x9f/x91/xa3 FOOTPRINTS
++<U0001F464> /xf0/x9f/x91/xa4 BUST IN SILHOUETTE
++<U0001F465> /xf0/x9f/x91/xa5 BUSTS IN SILHOUETTE
++<U0001F466> /xf0/x9f/x91/xa6 BOY
++<U0001F467> /xf0/x9f/x91/xa7 GIRL
++<U0001F468> /xf0/x9f/x91/xa8 MAN
++<U0001F469> /xf0/x9f/x91/xa9 WOMAN
++<U0001F46A> /xf0/x9f/x91/xaa FAMILY
++<U0001F46B> /xf0/x9f/x91/xab MAN AND WOMAN HOLDING HANDS
++<U0001F46C> /xf0/x9f/x91/xac TWO MEN HOLDING HANDS
++<U0001F46D> /xf0/x9f/x91/xad TWO WOMEN HOLDING HANDS
++<U0001F46E> /xf0/x9f/x91/xae POLICE OFFICER
++<U0001F46F> /xf0/x9f/x91/xaf WOMAN WITH BUNNY EARS
++<U0001F470> /xf0/x9f/x91/xb0 BRIDE WITH VEIL
++<U0001F471> /xf0/x9f/x91/xb1 PERSON WITH BLOND HAIR
++<U0001F472> /xf0/x9f/x91/xb2 MAN WITH GUA PI MAO
++<U0001F473> /xf0/x9f/x91/xb3 MAN WITH TURBAN
++<U0001F474> /xf0/x9f/x91/xb4 OLDER MAN
++<U0001F475> /xf0/x9f/x91/xb5 OLDER WOMAN
++<U0001F476> /xf0/x9f/x91/xb6 BABY
++<U0001F477> /xf0/x9f/x91/xb7 CONSTRUCTION WORKER
++<U0001F478> /xf0/x9f/x91/xb8 PRINCESS
++<U0001F479> /xf0/x9f/x91/xb9 JAPANESE OGRE
++<U0001F47A> /xf0/x9f/x91/xba JAPANESE GOBLIN
++<U0001F47B> /xf0/x9f/x91/xbb GHOST
++<U0001F47C> /xf0/x9f/x91/xbc BABY ANGEL
++<U0001F47D> /xf0/x9f/x91/xbd EXTRATERRESTRIAL ALIEN
++<U0001F47E> /xf0/x9f/x91/xbe ALIEN MONSTER
++<U0001F47F> /xf0/x9f/x91/xbf IMP
++<U0001F480> /xf0/x9f/x92/x80 SKULL
++<U0001F481> /xf0/x9f/x92/x81 INFORMATION DESK PERSON
++<U0001F482> /xf0/x9f/x92/x82 GUARDSMAN
++<U0001F483> /xf0/x9f/x92/x83 DANCER
++<U0001F484> /xf0/x9f/x92/x84 LIPSTICK
++<U0001F485> /xf0/x9f/x92/x85 NAIL POLISH
++<U0001F486> /xf0/x9f/x92/x86 FACE MASSAGE
++<U0001F487> /xf0/x9f/x92/x87 HAIRCUT
++<U0001F488> /xf0/x9f/x92/x88 BARBER POLE
++<U0001F489> /xf0/x9f/x92/x89 SYRINGE
++<U0001F48A> /xf0/x9f/x92/x8a PILL
++<U0001F48B> /xf0/x9f/x92/x8b KISS MARK
++<U0001F48C> /xf0/x9f/x92/x8c LOVE LETTER
++<U0001F48D> /xf0/x9f/x92/x8d RING
++<U0001F48E> /xf0/x9f/x92/x8e GEM STONE
++<U0001F48F> /xf0/x9f/x92/x8f KISS
++<U0001F490> /xf0/x9f/x92/x90 BOUQUET
++<U0001F491> /xf0/x9f/x92/x91 COUPLE WITH HEART
++<U0001F492> /xf0/x9f/x92/x92 WEDDING
++<U0001F493> /xf0/x9f/x92/x93 BEATING HEART
++<U0001F494> /xf0/x9f/x92/x94 BROKEN HEART
++<U0001F495> /xf0/x9f/x92/x95 TWO HEARTS
++<U0001F496> /xf0/x9f/x92/x96 SPARKLING HEART
++<U0001F497> /xf0/x9f/x92/x97 GROWING HEART
++<U0001F498> /xf0/x9f/x92/x98 HEART WITH ARROW
++<U0001F499> /xf0/x9f/x92/x99 BLUE HEART
++<U0001F49A> /xf0/x9f/x92/x9a GREEN HEART
++<U0001F49B> /xf0/x9f/x92/x9b YELLOW HEART
++<U0001F49C> /xf0/x9f/x92/x9c PURPLE HEART
++<U0001F49D> /xf0/x9f/x92/x9d HEART WITH RIBBON
++<U0001F49E> /xf0/x9f/x92/x9e REVOLVING HEARTS
++<U0001F49F> /xf0/x9f/x92/x9f HEART DECORATION
++<U0001F4A0> /xf0/x9f/x92/xa0 DIAMOND SHAPE WITH A DOT INSIDE
++<U0001F4A1> /xf0/x9f/x92/xa1 ELECTRIC LIGHT BULB
++<U0001F4A2> /xf0/x9f/x92/xa2 ANGER SYMBOL
++<U0001F4A3> /xf0/x9f/x92/xa3 BOMB
++<U0001F4A4> /xf0/x9f/x92/xa4 SLEEPING SYMBOL
++<U0001F4A5> /xf0/x9f/x92/xa5 COLLISION SYMBOL
++<U0001F4A6> /xf0/x9f/x92/xa6 SPLASHING SWEAT SYMBOL
++<U0001F4A7> /xf0/x9f/x92/xa7 DROPLET
++<U0001F4A8> /xf0/x9f/x92/xa8 DASH SYMBOL
++<U0001F4A9> /xf0/x9f/x92/xa9 PILE OF POO
++<U0001F4AA> /xf0/x9f/x92/xaa FLEXED BICEPS
++<U0001F4AB> /xf0/x9f/x92/xab DIZZY SYMBOL
++<U0001F4AC> /xf0/x9f/x92/xac SPEECH BALLOON
++<U0001F4AD> /xf0/x9f/x92/xad THOUGHT BALLOON
++<U0001F4AE> /xf0/x9f/x92/xae WHITE FLOWER
++<U0001F4AF> /xf0/x9f/x92/xaf HUNDRED POINTS SYMBOL
++<U0001F4B0> /xf0/x9f/x92/xb0 MONEY BAG
++<U0001F4B1> /xf0/x9f/x92/xb1 CURRENCY EXCHANGE
++<U0001F4B2> /xf0/x9f/x92/xb2 HEAVY DOLLAR SIGN
++<U0001F4B3> /xf0/x9f/x92/xb3 CREDIT CARD
++<U0001F4B4> /xf0/x9f/x92/xb4 BANKNOTE WITH YEN SIGN
++<U0001F4B5> /xf0/x9f/x92/xb5 BANKNOTE WITH DOLLAR SIGN
++<U0001F4B6> /xf0/x9f/x92/xb6 BANKNOTE WITH EURO SIGN
++<U0001F4B7> /xf0/x9f/x92/xb7 BANKNOTE WITH POUND SIGN
++<U0001F4B8> /xf0/x9f/x92/xb8 MONEY WITH WINGS
++<U0001F4B9> /xf0/x9f/x92/xb9 CHART WITH UPWARDS TREND AND YEN SIGN
++<U0001F4BA> /xf0/x9f/x92/xba SEAT
++<U0001F4BB> /xf0/x9f/x92/xbb PERSONAL COMPUTER
++<U0001F4BC> /xf0/x9f/x92/xbc BRIEFCASE
++<U0001F4BD> /xf0/x9f/x92/xbd MINIDISC
++<U0001F4BE> /xf0/x9f/x92/xbe FLOPPY DISK
++<U0001F4BF> /xf0/x9f/x92/xbf OPTICAL DISC
++<U0001F4C0> /xf0/x9f/x93/x80 DVD
++<U0001F4C1> /xf0/x9f/x93/x81 FILE FOLDER
++<U0001F4C2> /xf0/x9f/x93/x82 OPEN FILE FOLDER
++<U0001F4C3> /xf0/x9f/x93/x83 PAGE WITH CURL
++<U0001F4C4> /xf0/x9f/x93/x84 PAGE FACING UP
++<U0001F4C5> /xf0/x9f/x93/x85 CALENDAR
++<U0001F4C6> /xf0/x9f/x93/x86 TEAR-OFF CALENDAR
++<U0001F4C7> /xf0/x9f/x93/x87 CARD INDEX
++<U0001F4C8> /xf0/x9f/x93/x88 CHART WITH UPWARDS TREND
++<U0001F4C9> /xf0/x9f/x93/x89 CHART WITH DOWNWARDS TREND
++<U0001F4CA> /xf0/x9f/x93/x8a BAR CHART
++<U0001F4CB> /xf0/x9f/x93/x8b CLIPBOARD
++<U0001F4CC> /xf0/x9f/x93/x8c PUSHPIN
++<U0001F4CD> /xf0/x9f/x93/x8d ROUND PUSHPIN
++<U0001F4CE> /xf0/x9f/x93/x8e PAPERCLIP
++<U0001F4CF> /xf0/x9f/x93/x8f STRAIGHT RULER
++<U0001F4D0> /xf0/x9f/x93/x90 TRIANGULAR RULER
++<U0001F4D1> /xf0/x9f/x93/x91 BOOKMARK TABS
++<U0001F4D2> /xf0/x9f/x93/x92 LEDGER
++<U0001F4D3> /xf0/x9f/x93/x93 NOTEBOOK
++<U0001F4D4> /xf0/x9f/x93/x94 NOTEBOOK WITH DECORATIVE COVER
++<U0001F4D5> /xf0/x9f/x93/x95 CLOSED BOOK
++<U0001F4D6> /xf0/x9f/x93/x96 OPEN BOOK
++<U0001F4D7> /xf0/x9f/x93/x97 GREEN BOOK
++<U0001F4D8> /xf0/x9f/x93/x98 BLUE BOOK
++<U0001F4D9> /xf0/x9f/x93/x99 ORANGE BOOK
++<U0001F4DA> /xf0/x9f/x93/x9a BOOKS
++<U0001F4DB> /xf0/x9f/x93/x9b NAME BADGE
++<U0001F4DC> /xf0/x9f/x93/x9c SCROLL
++<U0001F4DD> /xf0/x9f/x93/x9d MEMO
++<U0001F4DE> /xf0/x9f/x93/x9e TELEPHONE RECEIVER
++<U0001F4DF> /xf0/x9f/x93/x9f PAGER
++<U0001F4E0> /xf0/x9f/x93/xa0 FAX MACHINE
++<U0001F4E1> /xf0/x9f/x93/xa1 SATELLITE ANTENNA
++<U0001F4E2> /xf0/x9f/x93/xa2 PUBLIC ADDRESS LOUDSPEAKER
++<U0001F4E3> /xf0/x9f/x93/xa3 CHEERING MEGAPHONE
++<U0001F4E4> /xf0/x9f/x93/xa4 OUTBOX TRAY
++<U0001F4E5> /xf0/x9f/x93/xa5 INBOX TRAY
++<U0001F4E6> /xf0/x9f/x93/xa6 PACKAGE
++<U0001F4E7> /xf0/x9f/x93/xa7 E-MAIL SYMBOL
++<U0001F4E8> /xf0/x9f/x93/xa8 INCOMING ENVELOPE
++<U0001F4E9> /xf0/x9f/x93/xa9 ENVELOPE WITH DOWNWARDS ARROW ABOVE
++<U0001F4EA> /xf0/x9f/x93/xaa CLOSED MAILBOX WITH LOWERED FLAG
++<U0001F4EB> /xf0/x9f/x93/xab CLOSED MAILBOX WITH RAISED FLAG
++<U0001F4EC> /xf0/x9f/x93/xac OPEN MAILBOX WITH RAISED FLAG
++<U0001F4ED> /xf0/x9f/x93/xad OPEN MAILBOX WITH LOWERED FLAG
++<U0001F4EE> /xf0/x9f/x93/xae POSTBOX
++<U0001F4EF> /xf0/x9f/x93/xaf POSTAL HORN
++<U0001F4F0> /xf0/x9f/x93/xb0 NEWSPAPER
++<U0001F4F1> /xf0/x9f/x93/xb1 MOBILE PHONE
++<U0001F4F2> /xf0/x9f/x93/xb2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
++<U0001F4F3> /xf0/x9f/x93/xb3 VIBRATION MODE
++<U0001F4F4> /xf0/x9f/x93/xb4 MOBILE PHONE OFF
++<U0001F4F5> /xf0/x9f/x93/xb5 NO MOBILE PHONES
++<U0001F4F6> /xf0/x9f/x93/xb6 ANTENNA WITH BARS
++<U0001F4F7> /xf0/x9f/x93/xb7 CAMERA
++<U0001F4F9> /xf0/x9f/x93/xb9 VIDEO CAMERA
++<U0001F4FA> /xf0/x9f/x93/xba TELEVISION
++<U0001F4FB> /xf0/x9f/x93/xbb RADIO
++<U0001F4FC> /xf0/x9f/x93/xbc VIDEOCASSETTE
++<U0001F500> /xf0/x9f/x94/x80 TWISTED RIGHTWARDS ARROWS
++<U0001F501> /xf0/x9f/x94/x81 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
++<U0001F502> /xf0/x9f/x94/x82 CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
++<U0001F503> /xf0/x9f/x94/x83 CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
++<U0001F504> /xf0/x9f/x94/x84 ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
++<U0001F505> /xf0/x9f/x94/x85 LOW BRIGHTNESS SYMBOL
++<U0001F506> /xf0/x9f/x94/x86 HIGH BRIGHTNESS SYMBOL
++<U0001F507> /xf0/x9f/x94/x87 SPEAKER WITH CANCELLATION STROKE
++<U0001F508> /xf0/x9f/x94/x88 SPEAKER
++<U0001F509> /xf0/x9f/x94/x89 SPEAKER WITH ONE SOUND WAVE
++<U0001F50A> /xf0/x9f/x94/x8a SPEAKER WITH THREE SOUND WAVES
++<U0001F50B> /xf0/x9f/x94/x8b BATTERY
++<U0001F50C> /xf0/x9f/x94/x8c ELECTRIC PLUG
++<U0001F50D> /xf0/x9f/x94/x8d LEFT-POINTING MAGNIFYING GLASS
++<U0001F50E> /xf0/x9f/x94/x8e RIGHT-POINTING MAGNIFYING GLASS
++<U0001F50F> /xf0/x9f/x94/x8f LOCK WITH INK PEN
++<U0001F510> /xf0/x9f/x94/x90 CLOSED LOCK WITH KEY
++<U0001F511> /xf0/x9f/x94/x91 KEY
++<U0001F512> /xf0/x9f/x94/x92 LOCK
++<U0001F513> /xf0/x9f/x94/x93 OPEN LOCK
++<U0001F514> /xf0/x9f/x94/x94 BELL
++<U0001F515> /xf0/x9f/x94/x95 BELL WITH CANCELLATION STROKE
++<U0001F516> /xf0/x9f/x94/x96 BOOKMARK
++<U0001F517> /xf0/x9f/x94/x97 LINK SYMBOL
++<U0001F518> /xf0/x9f/x94/x98 RADIO BUTTON
++<U0001F519> /xf0/x9f/x94/x99 BACK WITH LEFTWARDS ARROW ABOVE
++<U0001F51A> /xf0/x9f/x94/x9a END WITH LEFTWARDS ARROW ABOVE
++<U0001F51B> /xf0/x9f/x94/x9b ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
++<U0001F51C> /xf0/x9f/x94/x9c SOON WITH RIGHTWARDS ARROW ABOVE
++<U0001F51D> /xf0/x9f/x94/x9d TOP WITH UPWARDS ARROW ABOVE
++<U0001F51E> /xf0/x9f/x94/x9e NO ONE UNDER EIGHTEEN SYMBOL
++<U0001F51F> /xf0/x9f/x94/x9f KEYCAP TEN
++<U0001F520> /xf0/x9f/x94/xa0 INPUT SYMBOL FOR LATIN CAPITAL LETTERS
++<U0001F521> /xf0/x9f/x94/xa1 INPUT SYMBOL FOR LATIN SMALL LETTERS
++<U0001F522> /xf0/x9f/x94/xa2 INPUT SYMBOL FOR NUMBERS
++<U0001F523> /xf0/x9f/x94/xa3 INPUT SYMBOL FOR SYMBOLS
++<U0001F524> /xf0/x9f/x94/xa4 INPUT SYMBOL FOR LATIN LETTERS
++<U0001F525> /xf0/x9f/x94/xa5 FIRE
++<U0001F526> /xf0/x9f/x94/xa6 ELECTRIC TORCH
++<U0001F527> /xf0/x9f/x94/xa7 WRENCH
++<U0001F528> /xf0/x9f/x94/xa8 HAMMER
++<U0001F529> /xf0/x9f/x94/xa9 NUT AND BOLT
++<U0001F52A> /xf0/x9f/x94/xaa HOCHO
++<U0001F52B> /xf0/x9f/x94/xab PISTOL
++<U0001F52C> /xf0/x9f/x94/xac MICROSCOPE
++<U0001F52D> /xf0/x9f/x94/xad TELESCOPE
++<U0001F52E> /xf0/x9f/x94/xae CRYSTAL BALL
++<U0001F52F> /xf0/x9f/x94/xaf SIX POINTED STAR WITH MIDDLE DOT
++<U0001F530> /xf0/x9f/x94/xb0 JAPANESE SYMBOL FOR BEGINNER
++<U0001F531> /xf0/x9f/x94/xb1 TRIDENT EMBLEM
++<U0001F532> /xf0/x9f/x94/xb2 BLACK SQUARE BUTTON
++<U0001F533> /xf0/x9f/x94/xb3 WHITE SQUARE BUTTON
++<U0001F534> /xf0/x9f/x94/xb4 LARGE RED CIRCLE
++<U0001F535> /xf0/x9f/x94/xb5 LARGE BLUE CIRCLE
++<U0001F536> /xf0/x9f/x94/xb6 LARGE ORANGE DIAMOND
++<U0001F537> /xf0/x9f/x94/xb7 LARGE BLUE DIAMOND
++<U0001F538> /xf0/x9f/x94/xb8 SMALL ORANGE DIAMOND
++<U0001F539> /xf0/x9f/x94/xb9 SMALL BLUE DIAMOND
++<U0001F53A> /xf0/x9f/x94/xba UP-POINTING RED TRIANGLE
++<U0001F53B> /xf0/x9f/x94/xbb DOWN-POINTING RED TRIANGLE
++<U0001F53C> /xf0/x9f/x94/xbc UP-POINTING SMALL RED TRIANGLE
++<U0001F53D> /xf0/x9f/x94/xbd DOWN-POINTING SMALL RED TRIANGLE
++<U0001F550> /xf0/x9f/x95/x90 CLOCK FACE ONE OCLOCK
++<U0001F551> /xf0/x9f/x95/x91 CLOCK FACE TWO OCLOCK
++<U0001F552> /xf0/x9f/x95/x92 CLOCK FACE THREE OCLOCK
++<U0001F553> /xf0/x9f/x95/x93 CLOCK FACE FOUR OCLOCK
++<U0001F554> /xf0/x9f/x95/x94 CLOCK FACE FIVE OCLOCK
++<U0001F555> /xf0/x9f/x95/x95 CLOCK FACE SIX OCLOCK
++<U0001F556> /xf0/x9f/x95/x96 CLOCK FACE SEVEN OCLOCK
++<U0001F557> /xf0/x9f/x95/x97 CLOCK FACE EIGHT OCLOCK
++<U0001F558> /xf0/x9f/x95/x98 CLOCK FACE NINE OCLOCK
++<U0001F559> /xf0/x9f/x95/x99 CLOCK FACE TEN OCLOCK
++<U0001F55A> /xf0/x9f/x95/x9a CLOCK FACE ELEVEN OCLOCK
++<U0001F55B> /xf0/x9f/x95/x9b CLOCK FACE TWELVE OCLOCK
++<U0001F55C> /xf0/x9f/x95/x9c CLOCK FACE ONE-THIRTY
++<U0001F55D> /xf0/x9f/x95/x9d CLOCK FACE TWO-THIRTY
++<U0001F55E> /xf0/x9f/x95/x9e CLOCK FACE THREE-THIRTY
++<U0001F55F> /xf0/x9f/x95/x9f CLOCK FACE FOUR-THIRTY
++<U0001F560> /xf0/x9f/x95/xa0 CLOCK FACE FIVE-THIRTY
++<U0001F561> /xf0/x9f/x95/xa1 CLOCK FACE SIX-THIRTY
++<U0001F562> /xf0/x9f/x95/xa2 CLOCK FACE SEVEN-THIRTY
++<U0001F563> /xf0/x9f/x95/xa3 CLOCK FACE EIGHT-THIRTY
++<U0001F564> /xf0/x9f/x95/xa4 CLOCK FACE NINE-THIRTY
++<U0001F565> /xf0/x9f/x95/xa5 CLOCK FACE TEN-THIRTY
++<U0001F566> /xf0/x9f/x95/xa6 CLOCK FACE ELEVEN-THIRTY
++<U0001F567> /xf0/x9f/x95/xa7 CLOCK FACE TWELVE-THIRTY
++<U0001F5FB> /xf0/x9f/x97/xbb MOUNT FUJI
++<U0001F5FC> /xf0/x9f/x97/xbc TOKYO TOWER
++<U0001F5FD> /xf0/x9f/x97/xbd STATUE OF LIBERTY
++<U0001F5FE> /xf0/x9f/x97/xbe SILHOUETTE OF JAPAN
++<U0001F5FF> /xf0/x9f/x97/xbf MOYAI
++<U0001F601> /xf0/x9f/x98/x81 GRINNING FACE WITH SMILING EYES
++<U0001F602> /xf0/x9f/x98/x82 FACE WITH TEARS OF JOY
++<U0001F603> /xf0/x9f/x98/x83 SMILING FACE WITH OPEN MOUTH
++<U0001F604> /xf0/x9f/x98/x84 SMILING FACE WITH OPEN MOUTH AND SMILING EYES
++<U0001F605> /xf0/x9f/x98/x85 SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
++<U0001F606> /xf0/x9f/x98/x86 SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
++<U0001F607> /xf0/x9f/x98/x87 SMILING FACE WITH HALO
++<U0001F608> /xf0/x9f/x98/x88 SMILING FACE WITH HORNS
++<U0001F609> /xf0/x9f/x98/x89 WINKING FACE
++<U0001F60A> /xf0/x9f/x98/x8a SMILING FACE WITH SMILING EYES
++<U0001F60B> /xf0/x9f/x98/x8b FACE SAVOURING DELICIOUS FOOD
++<U0001F60C> /xf0/x9f/x98/x8c RELIEVED FACE
++<U0001F60D> /xf0/x9f/x98/x8d SMILING FACE WITH HEART-SHAPED EYES
++<U0001F60E> /xf0/x9f/x98/x8e SMILING FACE WITH SUNGLASSES
++<U0001F60F> /xf0/x9f/x98/x8f SMIRKING FACE
++<U0001F610> /xf0/x9f/x98/x90 NEUTRAL FACE
++<U0001F612> /xf0/x9f/x98/x92 UNAMUSED FACE
++<U0001F613> /xf0/x9f/x98/x93 FACE WITH COLD SWEAT
++<U0001F614> /xf0/x9f/x98/x94 PENSIVE FACE
++<U0001F616> /xf0/x9f/x98/x96 CONFOUNDED FACE
++<U0001F618> /xf0/x9f/x98/x98 FACE THROWING A KISS
++<U0001F61A> /xf0/x9f/x98/x9a KISSING FACE WITH CLOSED EYES
++<U0001F61C> /xf0/x9f/x98/x9c FACE WITH STUCK-OUT TONGUE AND WINKING EYE
++<U0001F61D> /xf0/x9f/x98/x9d FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
++<U0001F61E> /xf0/x9f/x98/x9e DISAPPOINTED FACE
++<U0001F620> /xf0/x9f/x98/xa0 ANGRY FACE
++<U0001F621> /xf0/x9f/x98/xa1 POUTING FACE
++<U0001F622> /xf0/x9f/x98/xa2 CRYING FACE
++<U0001F623> /xf0/x9f/x98/xa3 PERSEVERING FACE
++<U0001F624> /xf0/x9f/x98/xa4 FACE WITH LOOK OF TRIUMPH
++<U0001F625> /xf0/x9f/x98/xa5 DISAPPOINTED BUT RELIEVED FACE
++<U0001F628> /xf0/x9f/x98/xa8 FEARFUL FACE
++<U0001F629> /xf0/x9f/x98/xa9 WEARY FACE
++<U0001F62A> /xf0/x9f/x98/xaa SLEEPY FACE
++<U0001F62B> /xf0/x9f/x98/xab TIRED FACE
++<U0001F62D> /xf0/x9f/x98/xad LOUDLY CRYING FACE
++<U0001F630> /xf0/x9f/x98/xb0 FACE WITH OPEN MOUTH AND COLD SWEAT
++<U0001F631> /xf0/x9f/x98/xb1 FACE SCREAMING IN FEAR
++<U0001F632> /xf0/x9f/x98/xb2 ASTONISHED FACE
++<U0001F633> /xf0/x9f/x98/xb3 FLUSHED FACE
++<U0001F635> /xf0/x9f/x98/xb5 DIZZY FACE
++<U0001F636> /xf0/x9f/x98/xb6 FACE WITHOUT MOUTH
++<U0001F637> /xf0/x9f/x98/xb7 FACE WITH MEDICAL MASK
++<U0001F638> /xf0/x9f/x98/xb8 GRINNING CAT FACE WITH SMILING EYES
++<U0001F639> /xf0/x9f/x98/xb9 CAT FACE WITH TEARS OF JOY
++<U0001F63A> /xf0/x9f/x98/xba SMILING CAT FACE WITH OPEN MOUTH
++<U0001F63B> /xf0/x9f/x98/xbb SMILING CAT FACE WITH HEART-SHAPED EYES
++<U0001F63C> /xf0/x9f/x98/xbc CAT FACE WITH WRY SMILE
++<U0001F63D> /xf0/x9f/x98/xbd KISSING CAT FACE WITH CLOSED EYES
++<U0001F63E> /xf0/x9f/x98/xbe POUTING CAT FACE
++<U0001F63F> /xf0/x9f/x98/xbf CRYING CAT FACE
++<U0001F640> /xf0/x9f/x99/x80 WEARY CAT FACE
++<U0001F645> /xf0/x9f/x99/x85 FACE WITH NO GOOD GESTURE
++<U0001F646> /xf0/x9f/x99/x86 FACE WITH OK GESTURE
++<U0001F647> /xf0/x9f/x99/x87 PERSON BOWING DEEPLY
++<U0001F648> /xf0/x9f/x99/x88 SEE-NO-EVIL MONKEY
++<U0001F649> /xf0/x9f/x99/x89 HEAR-NO-EVIL MONKEY
++<U0001F64A> /xf0/x9f/x99/x8a SPEAK-NO-EVIL MONKEY
++<U0001F64B> /xf0/x9f/x99/x8b HAPPY PERSON RAISING ONE HAND
++<U0001F64C> /xf0/x9f/x99/x8c PERSON RAISING BOTH HANDS IN CELEBRATION
++<U0001F64D> /xf0/x9f/x99/x8d PERSON FROWNING
++<U0001F64E> /xf0/x9f/x99/x8e PERSON WITH POUTING FACE
++<U0001F64F> /xf0/x9f/x99/x8f PERSON WITH FOLDED HANDS
++<U0001F680> /xf0/x9f/x9a/x80 ROCKET
++<U0001F681> /xf0/x9f/x9a/x81 HELICOPTER
++<U0001F682> /xf0/x9f/x9a/x82 STEAM LOCOMOTIVE
++<U0001F683> /xf0/x9f/x9a/x83 RAILWAY CAR
++<U0001F684> /xf0/x9f/x9a/x84 HIGH-SPEED TRAIN
++<U0001F685> /xf0/x9f/x9a/x85 HIGH-SPEED TRAIN WITH BULLET NOSE
++<U0001F686> /xf0/x9f/x9a/x86 TRAIN
++<U0001F687> /xf0/x9f/x9a/x87 METRO
++<U0001F688> /xf0/x9f/x9a/x88 LIGHT RAIL
++<U0001F689> /xf0/x9f/x9a/x89 STATION
++<U0001F68A> /xf0/x9f/x9a/x8a TRAM
++<U0001F68B> /xf0/x9f/x9a/x8b TRAM CAR
++<U0001F68C> /xf0/x9f/x9a/x8c BUS
++<U0001F68D> /xf0/x9f/x9a/x8d ONCOMING BUS
++<U0001F68E> /xf0/x9f/x9a/x8e TROLLEYBUS
++<U0001F68F> /xf0/x9f/x9a/x8f BUS STOP
++<U0001F690> /xf0/x9f/x9a/x90 MINIBUS
++<U0001F691> /xf0/x9f/x9a/x91 AMBULANCE
++<U0001F692> /xf0/x9f/x9a/x92 FIRE ENGINE
++<U0001F693> /xf0/x9f/x9a/x93 POLICE CAR
++<U0001F694> /xf0/x9f/x9a/x94 ONCOMING POLICE CAR
++<U0001F695> /xf0/x9f/x9a/x95 TAXI
++<U0001F696> /xf0/x9f/x9a/x96 ONCOMING TAXI
++<U0001F697> /xf0/x9f/x9a/x97 AUTOMOBILE
++<U0001F698> /xf0/x9f/x9a/x98 ONCOMING AUTOMOBILE
++<U0001F699> /xf0/x9f/x9a/x99 RECREATIONAL VEHICLE
++<U0001F69A> /xf0/x9f/x9a/x9a DELIVERY TRUCK
++<U0001F69B> /xf0/x9f/x9a/x9b ARTICULATED LORRY
++<U0001F69C> /xf0/x9f/x9a/x9c TRACTOR
++<U0001F69D> /xf0/x9f/x9a/x9d MONORAIL
++<U0001F69E> /xf0/x9f/x9a/x9e MOUNTAIN RAILWAY
++<U0001F69F> /xf0/x9f/x9a/x9f SUSPENSION RAILWAY
++<U0001F6A0> /xf0/x9f/x9a/xa0 MOUNTAIN CABLEWAY
++<U0001F6A1> /xf0/x9f/x9a/xa1 AERIAL TRAMWAY
++<U0001F6A2> /xf0/x9f/x9a/xa2 SHIP
++<U0001F6A3> /xf0/x9f/x9a/xa3 ROWBOAT
++<U0001F6A4> /xf0/x9f/x9a/xa4 SPEEDBOAT
++<U0001F6A5> /xf0/x9f/x9a/xa5 HORIZONTAL TRAFFIC LIGHT
++<U0001F6A6> /xf0/x9f/x9a/xa6 VERTICAL TRAFFIC LIGHT
++<U0001F6A7> /xf0/x9f/x9a/xa7 CONSTRUCTION SIGN
++<U0001F6A8> /xf0/x9f/x9a/xa8 POLICE CARS REVOLVING LIGHT
++<U0001F6A9> /xf0/x9f/x9a/xa9 TRIANGULAR FLAG ON POST
++<U0001F6AA> /xf0/x9f/x9a/xaa DOOR
++<U0001F6AB> /xf0/x9f/x9a/xab NO ENTRY SIGN
++<U0001F6AC> /xf0/x9f/x9a/xac SMOKING SYMBOL
++<U0001F6AD> /xf0/x9f/x9a/xad NO SMOKING SYMBOL
++<U0001F6AE> /xf0/x9f/x9a/xae PUT LITTER IN ITS PLACE SYMBOL
++<U0001F6AF> /xf0/x9f/x9a/xaf DO NOT LITTER SYMBOL
++<U0001F6B0> /xf0/x9f/x9a/xb0 POTABLE WATER SYMBOL
++<U0001F6B1> /xf0/x9f/x9a/xb1 NON-POTABLE WATER SYMBOL
++<U0001F6B2> /xf0/x9f/x9a/xb2 BICYCLE
++<U0001F6B3> /xf0/x9f/x9a/xb3 NO BICYCLES
++<U0001F6B4> /xf0/x9f/x9a/xb4 BICYCLIST
++<U0001F6B5> /xf0/x9f/x9a/xb5 MOUNTAIN BICYCLIST
++<U0001F6B6> /xf0/x9f/x9a/xb6 PEDESTRIAN
++<U0001F6B7> /xf0/x9f/x9a/xb7 NO PEDESTRIANS
++<U0001F6B8> /xf0/x9f/x9a/xb8 CHILDREN CROSSING
++<U0001F6B9> /xf0/x9f/x9a/xb9 MENS SYMBOL
++<U0001F6BA> /xf0/x9f/x9a/xba WOMENS SYMBOL
++<U0001F6BB> /xf0/x9f/x9a/xbb RESTROOM
++<U0001F6BC> /xf0/x9f/x9a/xbc BABY SYMBOL
++<U0001F6BD> /xf0/x9f/x9a/xbd TOILET
++<U0001F6BE> /xf0/x9f/x9a/xbe WATER CLOSET
++<U0001F6BF> /xf0/x9f/x9a/xbf SHOWER
++<U0001F6C0> /xf0/x9f/x9b/x80 BATH
++<U0001F6C1> /xf0/x9f/x9b/x81 BATHTUB
++<U0001F6C2> /xf0/x9f/x9b/x82 PASSPORT CONTROL
++<U0001F6C3> /xf0/x9f/x9b/x83 CUSTOMS
++<U0001F6C4> /xf0/x9f/x9b/x84 BAGGAGE CLAIM
++<U0001F6C5> /xf0/x9f/x9b/x85 LEFT LUGGAGE
++<U0001F700> /xf0/x9f/x9c/x80 ALCHEMICAL SYMBOL FOR QUINTESSENCE
++<U0001F701> /xf0/x9f/x9c/x81 ALCHEMICAL SYMBOL FOR AIR
++<U0001F702> /xf0/x9f/x9c/x82 ALCHEMICAL SYMBOL FOR FIRE
++<U0001F703> /xf0/x9f/x9c/x83 ALCHEMICAL SYMBOL FOR EARTH
++<U0001F704> /xf0/x9f/x9c/x84 ALCHEMICAL SYMBOL FOR WATER
++<U0001F705> /xf0/x9f/x9c/x85 ALCHEMICAL SYMBOL FOR AQUAFORTIS
++<U0001F706> /xf0/x9f/x9c/x86 ALCHEMICAL SYMBOL FOR AQUA REGIA
++<U0001F707> /xf0/x9f/x9c/x87 ALCHEMICAL SYMBOL FOR AQUA REGIA-2
++<U0001F708> /xf0/x9f/x9c/x88 ALCHEMICAL SYMBOL FOR AQUA VITAE
++<U0001F709> /xf0/x9f/x9c/x89 ALCHEMICAL SYMBOL FOR AQUA VITAE-2
++<U0001F70A> /xf0/x9f/x9c/x8a ALCHEMICAL SYMBOL FOR VINEGAR
++<U0001F70B> /xf0/x9f/x9c/x8b ALCHEMICAL SYMBOL FOR VINEGAR-2
++<U0001F70C> /xf0/x9f/x9c/x8c ALCHEMICAL SYMBOL FOR VINEGAR-3
++<U0001F70D> /xf0/x9f/x9c/x8d ALCHEMICAL SYMBOL FOR SULFUR
++<U0001F70E> /xf0/x9f/x9c/x8e ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
++<U0001F70F> /xf0/x9f/x9c/x8f ALCHEMICAL SYMBOL FOR BLACK SULFUR
++<U0001F710> /xf0/x9f/x9c/x90 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
++<U0001F711> /xf0/x9f/x9c/x91 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
++<U0001F712> /xf0/x9f/x9c/x92 ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
++<U0001F713> /xf0/x9f/x9c/x93 ALCHEMICAL SYMBOL FOR CINNABAR
++<U0001F714> /xf0/x9f/x9c/x94 ALCHEMICAL SYMBOL FOR SALT
++<U0001F715> /xf0/x9f/x9c/x95 ALCHEMICAL SYMBOL FOR NITRE
++<U0001F716> /xf0/x9f/x9c/x96 ALCHEMICAL SYMBOL FOR VITRIOL
++<U0001F717> /xf0/x9f/x9c/x97 ALCHEMICAL SYMBOL FOR VITRIOL-2
++<U0001F718> /xf0/x9f/x9c/x98 ALCHEMICAL SYMBOL FOR ROCK SALT
++<U0001F719> /xf0/x9f/x9c/x99 ALCHEMICAL SYMBOL FOR ROCK SALT-2
++<U0001F71A> /xf0/x9f/x9c/x9a ALCHEMICAL SYMBOL FOR GOLD
++<U0001F71B> /xf0/x9f/x9c/x9b ALCHEMICAL SYMBOL FOR SILVER
++<U0001F71C> /xf0/x9f/x9c/x9c ALCHEMICAL SYMBOL FOR IRON ORE
++<U0001F71D> /xf0/x9f/x9c/x9d ALCHEMICAL SYMBOL FOR IRON ORE-2
++<U0001F71E> /xf0/x9f/x9c/x9e ALCHEMICAL SYMBOL FOR CROCUS OF IRON
++<U0001F71F> /xf0/x9f/x9c/x9f ALCHEMICAL SYMBOL FOR REGULUS OF IRON
++<U0001F720> /xf0/x9f/x9c/xa0 ALCHEMICAL SYMBOL FOR COPPER ORE
++<U0001F721> /xf0/x9f/x9c/xa1 ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
++<U0001F722> /xf0/x9f/x9c/xa2 ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
++<U0001F723> /xf0/x9f/x9c/xa3 ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
++<U0001F724> /xf0/x9f/x9c/xa4 ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
++<U0001F725> /xf0/x9f/x9c/xa5 ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
++<U0001F726> /xf0/x9f/x9c/xa6 ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
++<U0001F727> /xf0/x9f/x9c/xa7 ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
++<U0001F728> /xf0/x9f/x9c/xa8 ALCHEMICAL SYMBOL FOR VERDIGRIS
++<U0001F729> /xf0/x9f/x9c/xa9 ALCHEMICAL SYMBOL FOR TIN ORE
++<U0001F72A> /xf0/x9f/x9c/xaa ALCHEMICAL SYMBOL FOR LEAD ORE
++<U0001F72B> /xf0/x9f/x9c/xab ALCHEMICAL SYMBOL FOR ANTIMONY ORE
++<U0001F72C> /xf0/x9f/x9c/xac ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
++<U0001F72D> /xf0/x9f/x9c/xad ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
++<U0001F72E> /xf0/x9f/x9c/xae ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
++<U0001F72F> /xf0/x9f/x9c/xaf ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
++<U0001F730> /xf0/x9f/x9c/xb0 ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
++<U0001F731> /xf0/x9f/x9c/xb1 ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
++<U0001F732> /xf0/x9f/x9c/xb2 ALCHEMICAL SYMBOL FOR REGULUS
++<U0001F733> /xf0/x9f/x9c/xb3 ALCHEMICAL SYMBOL FOR REGULUS-2
++<U0001F734> /xf0/x9f/x9c/xb4 ALCHEMICAL SYMBOL FOR REGULUS-3
++<U0001F735> /xf0/x9f/x9c/xb5 ALCHEMICAL SYMBOL FOR REGULUS-4
++<U0001F736> /xf0/x9f/x9c/xb6 ALCHEMICAL SYMBOL FOR ALKALI
++<U0001F737> /xf0/x9f/x9c/xb7 ALCHEMICAL SYMBOL FOR ALKALI-2
++<U0001F738> /xf0/x9f/x9c/xb8 ALCHEMICAL SYMBOL FOR MARCASITE
++<U0001F739> /xf0/x9f/x9c/xb9 ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
++<U0001F73A> /xf0/x9f/x9c/xba ALCHEMICAL SYMBOL FOR ARSENIC
++<U0001F73B> /xf0/x9f/x9c/xbb ALCHEMICAL SYMBOL FOR REALGAR
++<U0001F73C> /xf0/x9f/x9c/xbc ALCHEMICAL SYMBOL FOR REALGAR-2
++<U0001F73D> /xf0/x9f/x9c/xbd ALCHEMICAL SYMBOL FOR AURIPIGMENT
++<U0001F73E> /xf0/x9f/x9c/xbe ALCHEMICAL SYMBOL FOR BISMUTH ORE
++<U0001F73F> /xf0/x9f/x9c/xbf ALCHEMICAL SYMBOL FOR TARTAR
++<U0001F740> /xf0/x9f/x9d/x80 ALCHEMICAL SYMBOL FOR TARTAR-2
++<U0001F741> /xf0/x9f/x9d/x81 ALCHEMICAL SYMBOL FOR QUICK LIME
++<U0001F742> /xf0/x9f/x9d/x82 ALCHEMICAL SYMBOL FOR BORAX
++<U0001F743> /xf0/x9f/x9d/x83 ALCHEMICAL SYMBOL FOR BORAX-2
++<U0001F744> /xf0/x9f/x9d/x84 ALCHEMICAL SYMBOL FOR BORAX-3
++<U0001F745> /xf0/x9f/x9d/x85 ALCHEMICAL SYMBOL FOR ALUM
++<U0001F746> /xf0/x9f/x9d/x86 ALCHEMICAL SYMBOL FOR OIL
++<U0001F747> /xf0/x9f/x9d/x87 ALCHEMICAL SYMBOL FOR SPIRIT
++<U0001F748> /xf0/x9f/x9d/x88 ALCHEMICAL SYMBOL FOR TINCTURE
++<U0001F749> /xf0/x9f/x9d/x89 ALCHEMICAL SYMBOL FOR GUM
++<U0001F74A> /xf0/x9f/x9d/x8a ALCHEMICAL SYMBOL FOR WAX
++<U0001F74B> /xf0/x9f/x9d/x8b ALCHEMICAL SYMBOL FOR POWDER
++<U0001F74C> /xf0/x9f/x9d/x8c ALCHEMICAL SYMBOL FOR CALX
++<U0001F737> /xf0/x9f/x9c/xb7 ALCHEMICAL SYMBOL FOR ALKALI-2
++<U0001F738> /xf0/x9f/x9c/xb8 ALCHEMICAL SYMBOL FOR MARCASITE
++<U0001F739> /xf0/x9f/x9c/xb9 ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
++<U0001F73A> /xf0/x9f/x9c/xba ALCHEMICAL SYMBOL FOR ARSENIC
++<U0001F73B> /xf0/x9f/x9c/xbb ALCHEMICAL SYMBOL FOR REALGAR
++<U0001F73C> /xf0/x9f/x9c/xbc ALCHEMICAL SYMBOL FOR REALGAR-2
++<U0001F73D> /xf0/x9f/x9c/xbd ALCHEMICAL SYMBOL FOR AURIPIGMENT
++<U0001F73E> /xf0/x9f/x9c/xbe ALCHEMICAL SYMBOL FOR BISMUTH ORE
++<U0001F73F> /xf0/x9f/x9c/xbf ALCHEMICAL SYMBOL FOR TARTAR
++<U0001F740> /xf0/x9f/x9d/x80 ALCHEMICAL SYMBOL FOR TARTAR-2
++<U0001F741> /xf0/x9f/x9d/x81 ALCHEMICAL SYMBOL FOR QUICK LIME
++<U0001F742> /xf0/x9f/x9d/x82 ALCHEMICAL SYMBOL FOR BORAX
++<U0001F743> /xf0/x9f/x9d/x83 ALCHEMICAL SYMBOL FOR BORAX-2
++<U0001F744> /xf0/x9f/x9d/x84 ALCHEMICAL SYMBOL FOR BORAX-3
++<U0001F745> /xf0/x9f/x9d/x85 ALCHEMICAL SYMBOL FOR ALUM
++<U0001F746> /xf0/x9f/x9d/x86 ALCHEMICAL SYMBOL FOR OIL
++<U0001F747> /xf0/x9f/x9d/x87 ALCHEMICAL SYMBOL FOR SPIRIT
++<U0001F748> /xf0/x9f/x9d/x88 ALCHEMICAL SYMBOL FOR TINCTURE
++<U0001F749> /xf0/x9f/x9d/x89 ALCHEMICAL SYMBOL FOR GUM
++<U0001F74A> /xf0/x9f/x9d/x8a ALCHEMICAL SYMBOL FOR WAX
++<U0001F74B> /xf0/x9f/x9d/x8b ALCHEMICAL SYMBOL FOR POWDER
++<U0001F74C> /xf0/x9f/x9d/x8c ALCHEMICAL SYMBOL FOR CALX
++<U0001F74D> /xf0/x9f/x9d/x8d ALCHEMICAL SYMBOL FOR TUTTY
++<U0001F74E> /xf0/x9f/x9d/x8e ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
++<U0001F74F> /xf0/x9f/x9d/x8f ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
++<U0001F750> /xf0/x9f/x9d/x90 ALCHEMICAL SYMBOL FOR CADUCEUS
++<U0001F751> /xf0/x9f/x9d/x91 ALCHEMICAL SYMBOL FOR TRIDENT
++<U0001F752> /xf0/x9f/x9d/x92 ALCHEMICAL SYMBOL FOR STARRED TRIDENT
++<U0001F753> /xf0/x9f/x9d/x93 ALCHEMICAL SYMBOL FOR LODESTONE
++<U0001F754> /xf0/x9f/x9d/x94 ALCHEMICAL SYMBOL FOR SOAP
++<U0001F755> /xf0/x9f/x9d/x95 ALCHEMICAL SYMBOL FOR URINE
++<U0001F756> /xf0/x9f/x9d/x96 ALCHEMICAL SYMBOL FOR HORSE DUNG
++<U0001F757> /xf0/x9f/x9d/x97 ALCHEMICAL SYMBOL FOR ASHES
++<U0001F758> /xf0/x9f/x9d/x98 ALCHEMICAL SYMBOL FOR POT ASHES
++<U0001F759> /xf0/x9f/x9d/x99 ALCHEMICAL SYMBOL FOR BRICK
++<U0001F75A> /xf0/x9f/x9d/x9a ALCHEMICAL SYMBOL FOR POWDERED BRICK
++<U0001F75B> /xf0/x9f/x9d/x9b ALCHEMICAL SYMBOL FOR AMALGAM
++<U0001F75C> /xf0/x9f/x9d/x9c ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
++<U0001F75D> /xf0/x9f/x9d/x9d ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
++<U0001F75E> /xf0/x9f/x9d/x9e ALCHEMICAL SYMBOL FOR SUBLIMATION
++<U0001F75F> /xf0/x9f/x9d/x9f ALCHEMICAL SYMBOL FOR PRECIPITATE
++<U0001F760> /xf0/x9f/x9d/xa0 ALCHEMICAL SYMBOL FOR DISTILL
++<U0001F761> /xf0/x9f/x9d/xa1 ALCHEMICAL SYMBOL FOR DISSOLVE
++<U0001F762> /xf0/x9f/x9d/xa2 ALCHEMICAL SYMBOL FOR DISSOLVE-2
++<U0001F763> /xf0/x9f/x9d/xa3 ALCHEMICAL SYMBOL FOR PURIFY
++<U0001F764> /xf0/x9f/x9d/xa4 ALCHEMICAL SYMBOL FOR PUTREFACTION
++<U0001F765> /xf0/x9f/x9d/xa5 ALCHEMICAL SYMBOL FOR CRUCIBLE
++<U0001F766> /xf0/x9f/x9d/xa6 ALCHEMICAL SYMBOL FOR CRUCIBLE-2
++<U0001F767> /xf0/x9f/x9d/xa7 ALCHEMICAL SYMBOL FOR CRUCIBLE-3
++<U0001F768> /xf0/x9f/x9d/xa8 ALCHEMICAL SYMBOL FOR CRUCIBLE-4
++<U0001F769> /xf0/x9f/x9d/xa9 ALCHEMICAL SYMBOL FOR CRUCIBLE-5
++<U0001F76A> /xf0/x9f/x9d/xaa ALCHEMICAL SYMBOL FOR ALEMBIC
++<U0001F76B> /xf0/x9f/x9d/xab ALCHEMICAL SYMBOL FOR BATH OF MARY
++<U0001F76C> /xf0/x9f/x9d/xac ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
++<U0001F76D> /xf0/x9f/x9d/xad ALCHEMICAL SYMBOL FOR RETORT
++<U0001F76E> /xf0/x9f/x9d/xae ALCHEMICAL SYMBOL FOR HOUR
++<U0001F76F> /xf0/x9f/x9d/xaf ALCHEMICAL SYMBOL FOR NIGHT
++<U0001F770> /xf0/x9f/x9d/xb0 ALCHEMICAL SYMBOL FOR DAY-NIGHT
++<U0001F771> /xf0/x9f/x9d/xb1 ALCHEMICAL SYMBOL FOR MONTH
++<U0001F772> /xf0/x9f/x9d/xb2 ALCHEMICAL SYMBOL FOR HALF DRAM
++<U0001F773> /xf0/x9f/x9d/xb3 ALCHEMICAL SYMBOL FOR HALF OUNCE
+ <U00020000>..<U0002003F> /xf0/xa0/x80/x80 <CJK>
+ <U00020040>..<U0002007F> /xf0/xa0/x81/x80 <CJK>
+ <U00020080>..<U000200BF> /xf0/xa0/x82/x80 <CJK>
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/ar_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ar_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/ar_IN
+@@ -52,7 +52,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U20A8>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/as_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/as_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/as_IN
+@@ -51,7 +51,7 @@ END LC_NUMERIC
+ %%%%%%%%%%%%%
+ LC_MONETARY
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U099F><U0995><U09BE>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/bn_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/bn_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/bn_IN
+@@ -53,7 +53,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U099F><U09BE><U0995><U09BE>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          2;3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/en_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/en_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/en_IN
+@@ -52,7 +52,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U20A8>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/gu_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/gu_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/gu_IN
+@@ -71,7 +71,7 @@ LC_MONETARY
+ % for IBM Class for Unicode/Java
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0AB0><U0AC1>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/hi_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/hi_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/hi_IN
+@@ -69,7 +69,7 @@ LC_MONETARY
+ % for IBM Class for Unicode/Java
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0930><U0942>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/kn_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/kn_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/kn_IN
+@@ -71,8 +71,7 @@ LC_MONETARY
+ % for IBM Class for Unicode/Java
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-% *** Change this to reflect Kannada , in Dev it is RA with VS U attached
+-currency_symbol       "<U0CB0><U0CC2>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/kok_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/kok_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/kok_IN
+@@ -49,7 +49,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0930><U0941>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/ks_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ks_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/ks_IN
+@@ -57,7 +57,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U20A8>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/ml_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ml_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/ml_IN
+@@ -69,7 +69,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol     "<U0049><U004E><U0052><U0020>"
+-currency_symbol     "<U0D30><U0D42>"
++currency_symbol     "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/mr_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/mr_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/mr_IN
+@@ -70,7 +70,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0930><U0941>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/or_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/or_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/or_IN
+@@ -607,7 +607,7 @@ END LC_NUMERIC
+ %%%%%%%%%%%%%
+ LC_MONETARY
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U003D><U0030><U0023><U0052><U0073><U002E><U007C><U0031><U0023><U0052><U0065><U002E><U007C><U0031><U003C><U0052><U0073><U002E>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/pa_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/pa_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/pa_IN
+@@ -66,7 +66,7 @@ END LC_COLLATE
+ LC_MONETARY
+ % This is the POSIX Locale definition the LC_MONETARY category.
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0A30><U0A41><U0A2A><U0A0F>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/sa_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/sa_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/sa_IN
+@@ -52,7 +52,7 @@ LC_MONETARY
+ % for IBM Class for Unicode/Java
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0930><U0942>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/sd_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/sd_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/sd_IN
+@@ -57,7 +57,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U20A8>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/ta_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/ta_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/ta_IN
+@@ -74,7 +74,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U20A8>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
+Index: glibc-2.12-2-gc4ccff1/localedata/locales/te_IN
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/localedata/locales/te_IN
++++ glibc-2.12-2-gc4ccff1/localedata/locales/te_IN
+@@ -73,7 +73,7 @@ LC_MONETARY
+ % for IBM Class for Unicode.
+ %
+ int_curr_symbol       "<U0049><U004E><U0052><U0020>"
+-currency_symbol       "<U0C30><U0C42><U002E>"
++currency_symbol       "<U20B9>"
+ mon_decimal_point     "<U002E>"
+ mon_thousands_sep     "<U002C>"
+ mon_grouping          3;2
diff --git a/src/patches/glibc/glibc-rh694386.patch b/src/patches/glibc/glibc-rh694386.patch
new file mode 100644 (file)
index 0000000..3932eb8
--- /dev/null
@@ -0,0 +1,86 @@
+2011-03-28  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * sysdeps/powerpc/powerpc32/power4/strncmp.S: Don't read past
+       differing bytes.
+       * sysdeps/powerpc/powerpc64/power4/strncmp.S: Likewise.
+
+diff --git a/sysdeps/powerpc/powerpc32/power4/strncmp.S b/sysdeps/powerpc/powerpc32/power4/strncmp.S
+index fc0835e..f5d47af 100644
+--- a/sysdeps/powerpc/powerpc32/power4/strncmp.S
++++ b/sysdeps/powerpc/powerpc32/power4/strncmp.S
+@@ -139,30 +139,31 @@ L(u1):
+       bdz     L(u4)
+       cmpw    rWORD1, rWORD2
+       beq-    cr1, L(u4)
++      bne-    L(u4)
+       lbzu    rWORD3, 1(rSTR1)
+       lbzu    rWORD4, 1(rSTR2)
+-      bne-    L(u4)
+       cmpwi   cr1, rWORD3, 0
+       bdz     L(u3)
+       cmpw    rWORD3, rWORD4
+       beq-    cr1, L(u3)
++      bne-    L(u3)
+       lbzu    rWORD1, 1(rSTR1)
+       lbzu    rWORD2, 1(rSTR2)
+-      bne-    L(u3)
+       cmpwi   cr1, rWORD1, 0
+       bdz     L(u4)
+       cmpw    rWORD1, rWORD2
+       beq-    cr1, L(u4)
++      bne-    L(u4)
+       lbzu    rWORD3, 1(rSTR1)
+       lbzu    rWORD4, 1(rSTR2)
+-      bne-    L(u4)
+       cmpwi   cr1, rWORD3, 0
+       bdz     L(u3)
+       cmpw    rWORD3, rWORD4
+       beq-    cr1, L(u3)
++      bne-    L(u3)
+       lbzu    rWORD1, 1(rSTR1)
+       lbzu    rWORD2, 1(rSTR2)
+-      beq+    L(u1)
++      b       L(u1)
+ L(u3):  sub     rRTN, rWORD3, rWORD4
+         blr
+diff --git a/sysdeps/powerpc/powerpc64/power4/strncmp.S b/sysdeps/powerpc/powerpc64/power4/strncmp.S
+index 7a1665d..94ae85b 100644
+--- a/sysdeps/powerpc/powerpc64/power4/strncmp.S
++++ b/sysdeps/powerpc/powerpc64/power4/strncmp.S
+@@ -143,30 +143,31 @@ L(u1):
+       bdz     L(u4)
+       cmpd    rWORD1, rWORD2
+       beq-    cr1, L(u4)
++      bne-    L(u4)
+       lbzu    rWORD3, 1(rSTR1)
+       lbzu    rWORD4, 1(rSTR2)
+-      bne-    L(u4)
+       cmpdi   cr1, rWORD3, 0
+       bdz     L(u3)
+       cmpd    rWORD3, rWORD4
+       beq-    cr1, L(u3)
++      bne-    L(u3)
+       lbzu    rWORD1, 1(rSTR1)
+       lbzu    rWORD2, 1(rSTR2)
+-      bne-    L(u3)
+       cmpdi   cr1, rWORD1, 0
+       bdz     L(u4)
+       cmpd    rWORD1, rWORD2
+       beq-    cr1, L(u4)
++      bne-    L(u4)
+       lbzu    rWORD3, 1(rSTR1)
+       lbzu    rWORD4, 1(rSTR2)
+-      bne-    L(u4)
+       cmpdi   cr1, rWORD3, 0
+       bdz     L(u3)
+       cmpd    rWORD3, rWORD4
+       beq-    cr1, L(u3)
++      bne-    L(u3)
+       lbzu    rWORD1, 1(rSTR1)
+       lbzu    rWORD2, 1(rSTR2)
+-      beq+    L(u1)
++      b       L(u1)
+ L(u3):  sub     rRTN, rWORD3, rWORD4
+         blr
diff --git a/src/patches/glibc/glibc-rh695595.patch b/src/patches/glibc/glibc-rh695595.patch
new file mode 100644 (file)
index 0000000..0e6c72b
--- /dev/null
@@ -0,0 +1,17 @@
+2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+       Support Intel processor model 6 and model 0x2c.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+@@ -81,6 +81,7 @@ __init_cpu_features (void)
+           case 0x1e:
+           case 0x1f:
+           case 0x25:
++          case 0x2c:
+           case 0x2e:
+           case 0x2f:
+             /* Rep string instructions are fast on Intel Core i3, i5
diff --git a/src/patches/glibc/glibc-rh695963.patch b/src/patches/glibc/glibc-rh695963.patch
new file mode 100644 (file)
index 0000000..e8053dc
--- /dev/null
@@ -0,0 +1,1284 @@
+2010-08-27  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Move to .text.slow section.
+
+       * sysdeps/x86_64/strlen.S: Minimal code improvement.
+
+2010-08-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/strlen.S: Unroll the loop.
+       * sysdeps/x86_64/multiarch/Makefile (sysdep_routines): Add
+       strlen-sse2 strlen-sse2-bsf.
+       * sysdeps/x86_64/multiarch/strlen.S ((strlen): Return
+       __strlen_no_bsf if bit_Slow_BSF is set.
+       (__strlen_sse42): Removed.
+       * sysdeps/x86_64/multiarch/strlen-no-bsf.S: New file.
+       * sysdeps/x86_64/multiarch/strlen-sse4.S: New file.
+
+2010-08-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Add
+       strlen-sse2 strlen-sse2-bsf.
+       * sysdeps/i386/i686/multiarch/strlen.S (strlen): Return
+       __strlen_sse2_bsf if bit_Slow_BSF is unset.
+       (__strlen_sse2): Removed.
+       * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: New file.
+       * sysdeps/i386/i686/multiarch/strlen-sse2.S: New file.
+       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Set
+       bit_Slow_BSF for Atom.
+       * sysdeps/x86_64/multiarch/init-arch.h (bit_Slow_BSF): Define.
+       (index_Slow_BSF): Define.
+       (HAS_SLOW_BSF): Define.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/Makefile
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/Makefile
+@@ -9,7 +9,8 @@ sysdep_routines += bzero-sse2 memset-sse
+                  memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \
+                  memset-sse2-rep bzero-sse2-rep strcmp-ssse3 \
+                  strcmp-sse4 strncmp-c strncmp-ssse3 strncmp-sse4 \
+-                 memcmp-ssse3 memcmp-sse4 strcasestr-nonascii
++                 memcmp-ssse3 memcmp-sse4 strcasestr-nonascii \
++                 strlen-sse2 strlen-sse2-bsf
+ ifeq (yes,$(config-cflags-sse4))
+ sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
+ CFLAGS-strcspn-c.c += -msse4
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S
+@@ -0,0 +1,127 @@
++/* strlen with SSE2 and BSF
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   Contributed by Intel Corporation.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#if defined SHARED && !defined NOT_IN_libc
++
++#include <sysdep.h>
++#include "asm-syntax.h"
++
++#define CFI_PUSH(REG)                                         \
++  cfi_adjust_cfa_offset (4);                                  \
++  cfi_rel_offset (REG, 0)
++
++#define CFI_POP(REG)                                          \
++  cfi_adjust_cfa_offset (-4);                                 \
++  cfi_restore (REG)
++
++#define PUSH(REG)     pushl REG; CFI_PUSH (REG)
++#define POP(REG)      popl REG; CFI_POP (REG)
++#define PARMS         4 + 8   /* Preserve ESI and EDI.  */
++#define       STR             PARMS
++#define ENTRANCE      PUSH (%esi); PUSH (%edi); cfi_remember_state
++#define RETURN                POP (%edi); POP (%esi); ret; \
++                      cfi_restore_state; cfi_remember_state
++
++      .text
++ENTRY ( __strlen_sse2_bsf)
++      ENTRANCE
++      mov     STR(%esp), %edi
++      xor     %eax, %eax
++      mov     %edi, %ecx
++      and     $0x3f, %ecx
++      pxor    %xmm0, %xmm0
++      cmp     $0x30, %ecx
++      ja      L(next)
++      movdqu  (%edi), %xmm1
++      pcmpeqb %xmm1, %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      jnz     L(exit_less16)
++      mov     %edi, %eax
++      and     $-16, %eax
++      jmp     L(align16_start)
++L(next):
++
++      mov     %edi, %eax
++      and     $-16, %eax
++      pcmpeqb (%eax), %xmm0
++      mov     $-1, %esi
++      sub     %eax, %ecx
++      shl     %cl, %esi
++      pmovmskb %xmm0, %edx
++      and     %esi, %edx
++      jnz     L(exit)
++L(align16_start):
++      pxor    %xmm0, %xmm0
++      pxor    %xmm1, %xmm1
++      pxor    %xmm2, %xmm2
++      pxor    %xmm3, %xmm3
++      .p2align 4
++L(align16_loop):
++      pcmpeqb 16(%eax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      jnz     L(exit16)
++
++      pcmpeqb 32(%eax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      jnz     L(exit32)
++
++      pcmpeqb 48(%eax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      jnz     L(exit48)
++
++      pcmpeqb 64(%eax), %xmm3
++      pmovmskb %xmm3, %edx
++      lea     64(%eax), %eax
++      test    %edx, %edx
++      jz      L(align16_loop)
++L(exit):
++      sub     %edi, %eax
++L(exit_less16):
++      bsf     %edx, %edx
++      add     %edx, %eax
++      RETURN
++L(exit16):
++      sub     %edi, %eax
++      bsf     %edx, %edx
++      add     %edx, %eax
++      add     $16, %eax
++      RETURN
++L(exit32):
++      sub     %edi, %eax
++      bsf     %edx, %edx
++      add     %edx, %eax
++      add     $32, %eax
++      RETURN
++L(exit48):
++      sub     %edi, %eax
++      bsf     %edx, %edx
++      add     %edx, %eax
++      add     $48, %eax
++      POP (%edi)
++      POP (%esi)
++      ret
++
++END ( __strlen_sse2_bsf)
++
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen-sse2.S
+@@ -0,0 +1,347 @@
++/* strlen with SSE2
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   Contributed by Intel Corporation.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#if defined SHARED && !defined NOT_IN_libc
++
++#include <sysdep.h>
++#include "asm-syntax.h"
++
++#define CFI_PUSH(REG)                                         \
++  cfi_adjust_cfa_offset (4);                                  \
++  cfi_rel_offset (REG, 0)
++
++#define CFI_POP(REG)                                          \
++  cfi_adjust_cfa_offset (-4);                                 \
++  cfi_restore (REG)
++
++#define PUSH(REG)     pushl REG; CFI_PUSH (REG)
++#define POP(REG)      popl REG; CFI_POP (REG)
++#define PARMS         4
++#define       STR             PARMS
++#define ENTRANCE
++#define RETURN                ret
++
++      .text
++ENTRY (__strlen_sse2)
++      ENTRANCE
++      mov     STR(%esp), %edx
++      xor     %eax, %eax
++      cmpb    $0, (%edx)
++      jz      L(exit_tail0)
++      cmpb    $0, 1(%edx)
++      jz      L(exit_tail1)
++      cmpb    $0, 2(%edx)
++      jz      L(exit_tail2)
++      cmpb    $0, 3(%edx)
++      jz      L(exit_tail3)
++      cmpb    $0, 4(%edx)
++      jz      L(exit_tail4)
++      cmpb    $0, 5(%edx)
++      jz      L(exit_tail5)
++      cmpb    $0, 6(%edx)
++      jz      L(exit_tail6)
++      cmpb    $0, 7(%edx)
++      jz      L(exit_tail7)
++      cmpb    $0, 8(%edx)
++      jz      L(exit_tail8)
++      cmpb    $0, 9(%edx)
++      jz      L(exit_tail9)
++      cmpb    $0, 10(%edx)
++      jz      L(exit_tail10)
++      cmpb    $0, 11(%edx)
++      jz      L(exit_tail11)
++      cmpb    $0, 12(%edx)
++      jz      L(exit_tail12)
++      cmpb    $0, 13(%edx)
++      jz      L(exit_tail13)
++      cmpb    $0, 14(%edx)
++      jz      L(exit_tail14)
++      cmpb    $0, 15(%edx)
++      jz      L(exit_tail15)
++      pxor    %xmm0, %xmm0
++      mov     %edx, %eax
++      mov     %edx, %ecx
++      and     $-16, %eax
++      add     $16, %ecx
++      add     $16, %eax
++
++      pcmpeqb (%eax), %xmm0
++      pmovmskb %xmm0, %edx
++      pxor    %xmm1, %xmm1
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm1
++      pmovmskb %xmm1, %edx
++      pxor    %xmm2, %xmm2
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++
++      pcmpeqb (%eax), %xmm2
++      pmovmskb %xmm2, %edx
++      pxor    %xmm3, %xmm3
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      pcmpeqb (%eax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%eax), %eax
++      jnz     L(exit)
++
++      and     $-0x40, %eax
++      PUSH (%esi)
++      PUSH (%edi)
++      PUSH (%ebx)
++      PUSH (%ebp)
++      xor     %ebp, %ebp
++L(aligned_64):
++      pcmpeqb (%eax), %xmm0
++      pcmpeqb 16(%eax), %xmm1
++      pcmpeqb 32(%eax), %xmm2
++      pcmpeqb 48(%eax), %xmm3
++      pmovmskb %xmm0, %edx
++      pmovmskb %xmm1, %esi
++      pmovmskb %xmm2, %edi
++      pmovmskb %xmm3, %ebx
++      or      %edx, %ebp
++      or      %esi, %ebp
++      or      %edi, %ebp
++      or      %ebx, %ebp
++      lea     64(%eax), %eax
++      jz      L(aligned_64)
++L(48leave):
++      test    %edx, %edx
++      jnz     L(aligned_64_exit_16)
++      test    %esi, %esi
++      jnz     L(aligned_64_exit_32)
++      test    %edi, %edi
++      jnz     L(aligned_64_exit_48)
++      mov     %ebx, %edx
++      lea     (%eax), %eax
++      jmp     L(aligned_64_exit)
++L(aligned_64_exit_48):
++      lea     -16(%eax), %eax
++      mov     %edi, %edx
++      jmp     L(aligned_64_exit)
++L(aligned_64_exit_32):
++      lea     -32(%eax), %eax
++      mov     %esi, %edx
++      jmp     L(aligned_64_exit)
++L(aligned_64_exit_16):
++      lea     -48(%eax), %eax
++L(aligned_64_exit):
++      POP (%ebp)
++      POP (%ebx)
++      POP (%edi)
++      POP (%esi)
++L(exit):
++      sub     %ecx, %eax
++      test    %dl, %dl
++      jz      L(exit_high)
++      test    $0x01, %dl
++      jnz     L(exit_tail0)
++
++      test    $0x02, %dl
++      jnz     L(exit_tail1)
++
++      test    $0x04, %dl
++      jnz     L(exit_tail2)
++
++      test    $0x08, %dl
++      jnz     L(exit_tail3)
++
++      test    $0x10, %dl
++      jnz     L(exit_tail4)
++
++      test    $0x20, %dl
++      jnz     L(exit_tail5)
++
++      test    $0x40, %dl
++      jnz     L(exit_tail6)
++      add     $7, %eax
++L(exit_tail0):
++      RETURN
++
++L(exit_high):
++      add     $8, %eax
++      test    $0x01, %dh
++      jnz     L(exit_tail0)
++
++      test    $0x02, %dh
++      jnz     L(exit_tail1)
++
++      test    $0x04, %dh
++      jnz     L(exit_tail2)
++
++      test    $0x08, %dh
++      jnz     L(exit_tail3)
++
++      test    $0x10, %dh
++      jnz     L(exit_tail4)
++
++      test    $0x20, %dh
++      jnz     L(exit_tail5)
++
++      test    $0x40, %dh
++      jnz     L(exit_tail6)
++      add     $7, %eax
++      RETURN
++
++      .p2align 4
++L(exit_tail1):
++      add     $1, %eax
++      RETURN
++
++L(exit_tail2):
++      add     $2, %eax
++      RETURN
++
++L(exit_tail3):
++      add     $3, %eax
++      RETURN
++
++L(exit_tail4):
++      add     $4, %eax
++      RETURN
++
++L(exit_tail5):
++      add     $5, %eax
++      RETURN
++
++L(exit_tail6):
++      add     $6, %eax
++      RETURN
++
++L(exit_tail7):
++      add     $7, %eax
++      RETURN
++
++L(exit_tail8):
++      add     $8, %eax
++      RETURN
++
++L(exit_tail9):
++      add     $9, %eax
++      RETURN
++
++L(exit_tail10):
++      add     $10, %eax
++      RETURN
++
++L(exit_tail11):
++      add     $11, %eax
++      RETURN
++
++L(exit_tail12):
++      add     $12, %eax
++      RETURN
++
++L(exit_tail13):
++      add     $13, %eax
++      RETURN
++
++L(exit_tail14):
++      add     $14, %eax
++      RETURN
++
++L(exit_tail15):
++      add     $15, %eax
++      ret
++
++END (__strlen_sse2)
++
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/i386/i686/multiarch/strlen.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/i386/i686/multiarch/strlen.S
+@@ -48,6 +48,9 @@ ENTRY(strlen)
+ 1:    leal    __strlen_ia32@GOTOFF(%ebx), %eax
+       testl   $bit_SSE2, CPUID_OFFSET+index_SSE2+__cpu_features@GOTOFF(%ebx)
+       jz      2f
++      leal    __strlen_sse2_bsf@GOTOFF(%ebx), %eax
++      testl   $bit_Slow_BSF, FEATURE_OFFSET+index_Slow_BSF+__cpu_features@GOTOFF(%ebx)
++      jz      2f
+       leal    __strlen_sse2@GOTOFF(%ebx), %eax
+ 2:    popl    %ebx
+       cfi_adjust_cfa_offset (-4);
+@@ -55,84 +58,6 @@ ENTRY(strlen)
+       ret
+ END(strlen)
+-#define CFI_POP(REG)                                          \
+-  cfi_adjust_cfa_offset (-4);                                 \
+-  cfi_restore (REG)
+-
+-#define RETURN                popl %esi; CFI_POP (esi); ret
+-
+-      .text
+-ENTRY (__strlen_sse2)
+-/*
+- * This implementation uses SSE instructions to compare up to 16 bytes
+- * at a time looking for the end of string (null char).
+- */
+-      pushl   %esi
+-      cfi_adjust_cfa_offset (4)
+-      cfi_rel_offset (%esi, 0)
+-      mov     8(%esp), %eax
+-      mov     %eax, %ecx
+-      pxor    %xmm0, %xmm0            /* 16 null chars */
+-      mov     %eax, %esi
+-      and     $15, %ecx
+-      jz      1f                      /* string is 16 byte aligned */
+-
+-      /*
+-      * Unaligned case. Round down to 16-byte boundary before comparing
+-      * 16 bytes for a null char. The code then compensates for any extra chars
+-      * preceding the start of the string.
+-      */
+-      and     $-16, %esi
+-
+-      pcmpeqb (%esi), %xmm0
+-      lea     16(%eax), %esi
+-      pmovmskb %xmm0, %edx
+-
+-      shr     %cl, %edx               /* Compensate for bytes preceding the string */
+-      test    %edx, %edx
+-      jnz     2f
+-      sub     %ecx, %esi              /* no null, adjust to next 16-byte boundary */
+-      pxor    %xmm0, %xmm0            /* clear xmm0, may have been changed... */
+-
+-      .p2align 4
+-1:                                    /* 16 byte aligned */
+-      pcmpeqb (%esi), %xmm0           /* look for null bytes */
+-      pmovmskb %xmm0, %edx            /* move each byte mask of %xmm0 to edx */
+-
+-      add     $16, %esi               /* prepare to search next 16 bytes */
+-      test    %edx, %edx              /* if no null byte, %edx must be 0 */
+-      jnz     2f                      /* found a null */
+-
+-      pcmpeqb (%esi), %xmm0
+-      pmovmskb %xmm0, %edx
+-      add     $16, %esi
+-      test    %edx, %edx
+-      jnz     2f
+-
+-      pcmpeqb (%esi), %xmm0
+-      pmovmskb %xmm0, %edx
+-      add     $16, %esi
+-      test    %edx, %edx
+-      jnz     2f
+-
+-      pcmpeqb (%esi), %xmm0
+-      pmovmskb %xmm0, %edx
+-      add     $16, %esi
+-      test    %edx, %edx
+-      jz      1b
+-
+-2:
+-      neg     %eax
+-      lea     -16(%eax, %esi), %eax   /* calculate exact offset */
+-      bsf     %edx, %ecx              /* Least significant 1 bit is index of null */
+-      add     %ecx, %eax
+-      popl    %esi
+-      cfi_adjust_cfa_offset (-4)
+-      cfi_restore (%esi)
+-      ret
+-
+-END (__strlen_sse2)
+-
+ # undef ENTRY
+ # define ENTRY(name) \
+       .type __strlen_ia32, @function; \
+--- a/sysdeps/x86_64/multiarch/Makefile        2012-03-01 10:43:30.060487726 -0700
++++ b/sysdeps/x86_64/multiarch/Makefile        2012-03-01 10:45:57.894692115 -0700
+@@ -7,7 +7,7 @@ ifeq ($(subdir),string)
+ sysdep_routines += stpncpy-c strncpy-c strcmp-ssse3 strncmp-ssse3 \
+                  strend-sse4 memcmp-sse4 \
+                  strcasestr-nonascii strcasecmp_l-ssse3 \
+-                 strncase_l-ssse3 \
++                 strncase_l-ssse3 strlen-sse4 strlen-no-bsf \
+                  memset-x86-64
+ ifeq (yes,$(config-cflags-sse4))
+ sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/init-arch.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/init-arch.c
+@@ -77,6 +77,12 @@ __init_cpu_features (void)
+         model += extended_model;
+         switch (model)
+           {
++          case 0x1c:
++          case 0x26:
++            /* BSF is slow on Atom.  */
++            __cpu_features.feature[index_Slow_BSF] |= bit_Slow_BSF;
++            break;
++
+           case 0x1a:
+           case 0x1e:
+           case 0x1f:
+--- a/sysdeps/x86_64/multiarch/init-arch.h     2012-03-01 10:43:30.061487720 -0700
++++ b/sysdeps/x86_64/multiarch/init-arch.h     2012-03-01 10:48:13.371963005 -0700
+@@ -17,6 +17,7 @@
+    02111-1307 USA.  */
+ #define bit_Fast_Rep_String           (1 << 0)
++#define bit_Slow_BSF                   (1 << 2)
+ #define bit_Prefer_SSE_for_memop      (1 << 3)
+ #ifdef        __ASSEMBLER__
+@@ -34,6 +35,7 @@
+ # define index_SSE4_2 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
+ #define index_Fast_Rep_String FEATURE_INDEX_1*FEATURE_SIZE
++# define index_Slow_BSF                        FEATURE_INDEX_1*FEATURE_SIZE
+ # define index_Prefer_SSE_for_memop   FEATURE_INDEX_1*FEATURE_SIZE
+ #else /* __ASSEMBLER__ */
+@@ -105,11 +107,15 @@ extern const struct cpu_features *__get_
+ # define HAS_FMA      HAS_CPU_FEATURE (COMMON_CPUID_INDEX_1, ecx, 12)
+ # define index_Fast_Rep_String        FEATURE_INDEX_1
++# define index_Slow_BSF                        FEATURE_INDEX_1
+ # define index_Prefer_SSE_for_memop   FEATURE_INDEX_1
+ #define HAS_ARCH_FEATURE(idx, bit) \
+   ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
++#define HAS_SLOW_BSF \
++  HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF)
++
+ #define HAS_PREFER_SSE_FOR_MEMOP \
+   HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-no-bsf.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-no-bsf.S
+@@ -0,0 +1,309 @@
++/* strlen without BSF
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   Contributed by Intel Corporation.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#if defined SHARED && !defined NOT_IN_libc
++
++#include <sysdep.h>
++
++      .section .text.slow,"ax",@progbits
++ENTRY (__strlen_no_bsf)
++      xor     %eax, %eax
++      cmpb    $0, (%rdi)
++      jz      L(exit_tail0)
++      cmpb    $0, 1(%rdi)
++      jz      L(exit_tail1)
++      cmpb    $0, 2(%rdi)
++      jz      L(exit_tail2)
++      cmpb    $0, 3(%rdi)
++      jz      L(exit_tail3)
++      cmpb    $0, 4(%rdi)
++      jz      L(exit_tail4)
++      cmpb    $0, 5(%rdi)
++      jz      L(exit_tail5)
++      cmpb    $0, 6(%rdi)
++      jz      L(exit_tail6)
++      cmpb    $0, 7(%rdi)
++      jz      L(exit_tail7)
++      cmpb    $0, 8(%rdi)
++      jz      L(exit_tail8)
++      cmpb    $0, 9(%rdi)
++      jz      L(exit_tail9)
++      cmpb    $0, 10(%rdi)
++      jz      L(exit_tail10)
++      cmpb    $0, 11(%rdi)
++      jz      L(exit_tail11)
++      cmpb    $0, 12(%rdi)
++      jz      L(exit_tail12)
++      cmpb    $0, 13(%rdi)
++      jz      L(exit_tail13)
++      cmpb    $0, 14(%rdi)
++      jz      L(exit_tail14)
++      cmpb    $0, 15(%rdi)
++      jz      L(exit_tail15)
++      pxor    %xmm0, %xmm0
++      mov     %rdi, %rcx
++      mov     %rdi, %rax
++      and     $-16, %rax
++      add     $16, %rax
++      add     $16, %rcx
++
++      pcmpeqb (%rax), %xmm0
++      pmovmskb %xmm0, %edx
++      pxor    %xmm1, %xmm1
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm1
++      pmovmskb %xmm1, %edx
++      pxor    %xmm2, %xmm2
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++
++      pcmpeqb (%rax), %xmm2
++      pmovmskb %xmm2, %edx
++      pxor    %xmm3, %xmm3
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      pcmpeqb (%rax), %xmm3
++      pmovmskb %xmm3, %edx
++      test    %edx, %edx
++      lea     16(%rax), %rax
++      jnz     L(exit)
++
++      and     $-0x40, %rax
++      xor     %r8d, %r8d
++L(aligned_64):
++      pcmpeqb (%rax), %xmm0
++      pcmpeqb 16(%rax), %xmm1
++      pcmpeqb 32(%rax), %xmm2
++      pcmpeqb 48(%rax), %xmm3
++      pmovmskb %xmm0, %edx
++      pmovmskb %xmm1, %esi
++      pmovmskb %xmm2, %edi
++      pmovmskb %xmm3, %r9d
++      or      %edx, %r8d
++      or      %esi, %r8d
++      or      %edi, %r8d
++      or      %r9d, %r8d
++      lea     64(%rax), %rax
++      jz      L(aligned_64)
++
++      test    %edx, %edx
++      jnz     L(aligned_64_exit_16)
++      test    %esi, %esi
++      jnz     L(aligned_64_exit_32)
++      test    %edi, %edi
++      jnz     L(aligned_64_exit_48)
++L(aligned_64_exit_64):
++      mov     %r9d, %edx
++      jmp     L(aligned_64_exit)
++L(aligned_64_exit_48):
++      lea     -16(%rax), %rax
++      mov     %edi, %edx
++      jmp     L(aligned_64_exit)
++L(aligned_64_exit_32):
++      lea     -32(%rax), %rax
++      mov     %esi, %edx
++      jmp     L(aligned_64_exit)
++L(aligned_64_exit_16):
++      lea     -48(%rax), %rax
++L(aligned_64_exit):
++L(exit):
++      sub     %rcx, %rax
++      test    %dl, %dl
++      jz      L(exit_high)
++      test    $0x01, %dl
++      jnz     L(exit_tail0)
++
++      test    $0x02, %dl
++      jnz     L(exit_tail1)
++
++      test    $0x04, %dl
++      jnz     L(exit_tail2)
++
++      test    $0x08, %dl
++      jnz     L(exit_tail3)
++
++      test    $0x10, %dl
++      jnz     L(exit_tail4)
++
++      test    $0x20, %dl
++      jnz     L(exit_tail5)
++
++      test    $0x40, %dl
++      jnz     L(exit_tail6)
++      add     $7, %eax
++L(exit_tail0):
++      ret
++
++L(exit_high):
++      add     $8, %eax
++      test    $0x01, %dh
++      jnz     L(exit_tail0)
++
++      test    $0x02, %dh
++      jnz     L(exit_tail1)
++
++      test    $0x04, %dh
++      jnz     L(exit_tail2)
++
++      test    $0x08, %dh
++      jnz     L(exit_tail3)
++
++      test    $0x10, %dh
++      jnz     L(exit_tail4)
++
++      test    $0x20, %dh
++      jnz     L(exit_tail5)
++
++      test    $0x40, %dh
++      jnz     L(exit_tail6)
++      add     $7, %eax
++      ret
++      .p2align 4
++L(exit_tail1):
++      add     $1, %eax
++      ret
++
++L(exit_tail2):
++      add     $2, %eax
++      ret
++
++L(exit_tail3):
++      add     $3, %eax
++      ret
++
++L(exit_tail4):
++      add     $4, %eax
++      ret
++
++L(exit_tail5):
++      add     $5, %eax
++      ret
++L(exit_tail6):
++      add     $6, %eax
++      ret
++L(exit_tail7):
++      add     $7, %eax
++      ret
++L(exit_tail8):
++      add     $8, %eax
++      ret
++L(exit_tail9):
++      add     $9, %eax
++      ret
++L(exit_tail10):
++      add     $10, %eax
++      ret
++L(exit_tail11):
++      add     $11, %eax
++      ret
++L(exit_tail12):
++      add     $12, %eax
++      ret
++L(exit_tail13):
++      add     $13, %eax
++      ret
++L(exit_tail14):
++      add     $14, %eax
++      ret
++L(exit_tail15):
++      add     $15, %eax
++      ret
++END (__strlen_no_bsf)
++
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-sse4.S
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen-sse4.S
+@@ -0,0 +1,85 @@
++/* strlen with SSE4
++   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
++   Contributed by Ulrich Drepper <drepper@redhat.com>.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#if defined SHARED && !defined NOT_IN_libc
++
++#include <sysdep.h>
++
++      .section .text.sse4.2,"ax",@progbits
++ENTRY (__strlen_sse42)
++      pxor    %xmm1, %xmm1
++      movl    %edi, %ecx
++      movq    %rdi, %r8
++      andq    $~15, %rdi
++      xor     %edi, %ecx
++      pcmpeqb (%rdi), %xmm1
++      pmovmskb %xmm1, %edx
++      shrl    %cl, %edx
++      shll    %cl, %edx
++      andl    %edx, %edx
++      jnz     L(less16bytes)
++      pxor    %xmm1, %xmm1
++
++      .p2align 4
++L(more64bytes_loop):
++      pcmpistri $0x08, 16(%rdi), %xmm1
++      jz      L(more32bytes)
++
++      pcmpistri $0x08, 32(%rdi), %xmm1
++      jz      L(more48bytes)
++
++      pcmpistri $0x08, 48(%rdi), %xmm1
++      jz      L(more64bytes)
++
++      add     $64, %rdi
++      pcmpistri $0x08, (%rdi), %xmm1
++      jnz     L(more64bytes_loop)
++      leaq    (%rdi,%rcx), %rax
++      subq    %r8, %rax
++      ret
++
++      .p2align 4
++L(more32bytes):
++      leaq    16(%rdi,%rcx, 1), %rax
++      subq    %r8, %rax
++      ret
++
++      .p2align 4
++L(more48bytes):
++      leaq    32(%rdi,%rcx, 1), %rax
++      subq    %r8, %rax
++      ret
++
++      .p2align 4
++L(more64bytes):
++      leaq    48(%rdi,%rcx, 1), %rax
++      subq    %r8, %rax
++      ret
++
++      .p2align 4
++L(less16bytes):
++      subq    %r8, %rdi
++      bsfl    %edx, %eax
++      addq    %rdi, %rax
++      ret
++
++END (__strlen_sse42)
++
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/multiarch/strlen.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/multiarch/strlen.S
+@@ -36,74 +36,12 @@ ENTRY(strlen)
+       testl   $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip)
+       jz      2f
+       leaq    __strlen_sse42(%rip), %rax
+-2:    ret
+-END(strlen)
+-
+-
+-      .section .text.sse4.2,"ax",@progbits
+-      .align  16
+-      .type   __strlen_sse42, @function
+-__strlen_sse42:
+-      cfi_startproc
+-      CALL_MCOUNT
+-      pxor    %xmm1, %xmm1
+-      movl    %edi, %ecx
+-      movq    %rdi, %r8
+-      andq    $~15, %rdi
+-      xor     %edi, %ecx
+-      pcmpeqb (%rdi), %xmm1
+-      pmovmskb %xmm1, %edx
+-      shrl    %cl, %edx
+-      shll    %cl, %edx
+-      andl    %edx, %edx
+-      jnz     L(less16bytes)
+-      pxor    %xmm1, %xmm1
+-
+-      .p2align 4
+-L(more64bytes_loop):
+-      pcmpistri $0x08, 16(%rdi), %xmm1
+-      jz      L(more32bytes)
+-
+-      pcmpistri $0x08, 32(%rdi), %xmm1
+-      jz      L(more48bytes)
+-
+-      pcmpistri $0x08, 48(%rdi), %xmm1
+-      jz      L(more64bytes)
+-
+-      add     $64, %rdi
+-      pcmpistri $0x08, (%rdi), %xmm1
+-      jnz     L(more64bytes_loop)
+-      leaq    (%rdi,%rcx), %rax
+-      subq    %r8, %rax
+-      ret
+-
+-      .p2align 4
+-L(more32bytes):
+-      leaq    16(%rdi,%rcx, 1), %rax
+-      subq    %r8, %rax
+-      ret
+-
+-      .p2align 4
+-L(more48bytes):
+-      leaq    32(%rdi,%rcx, 1), %rax
+-      subq    %r8, %rax
+-      ret
+-
+-      .p2align 4
+-L(more64bytes):
+-      leaq    48(%rdi,%rcx, 1), %rax
+-      subq    %r8, %rax
+       ret
+-
+-      .p2align 4
+-L(less16bytes):
+-      subq    %r8, %rdi
+-      bsfl    %edx, %eax
+-      addq    %rdi, %rax
+-      ret
+-      cfi_endproc
+-      .size   __strlen_sse42, .-__strlen_sse42
+-
++2:    testl   $bit_Slow_BSF, __cpu_features+FEATURE_OFFSET+index_Slow_BSF(%rip)
++      jz      3f
++      leaq    __strlen_no_bsf(%rip), %rax
++3:    ret
++END(strlen)
+ # undef ENTRY
+ # define ENTRY(name) \
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strlen.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/strlen.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/strlen.S
+@@ -23,29 +23,80 @@
+       .text
+ ENTRY(strlen)
+-      pxor    %xmm2, %xmm2
+-      movq    %rdi, %rcx
+-      movq    %rdi, %r8
+-      andq    $~15, %rdi
+-      movdqa  %xmm2, %xmm1
+-      pcmpeqb (%rdi), %xmm2
+-      orl     $0xffffffff, %esi
+-      subq    %rdi, %rcx
+-      shll    %cl, %esi
+-      pmovmskb %xmm2, %edx
+-      andl    %esi, %edx
+-      jnz     1f
+-
+-2:    movdqa  16(%rdi), %xmm0
+-      leaq    16(%rdi), %rdi
++      xor     %rax, %rax
++      mov     %edi, %ecx
++      and     $0x3f, %ecx
++      pxor    %xmm0, %xmm0
++      cmp     $0x30, %ecx
++      ja      L(next)
++      movdqu  (%rdi), %xmm1
+       pcmpeqb %xmm1, %xmm0
+       pmovmskb %xmm0, %edx
+-      testl   %edx, %edx
+-      jz      2b
++      test    %edx, %edx
++      jnz     L(exit_less16)
++      mov     %rdi, %rax
++      and     $-16, %rax
++      jmp     L(align16_start)
++L(next):
++      mov     %rdi, %rax
++      and     $-16, %rax
++      pcmpeqb (%rax), %xmm0
++      mov     $-1, %esi
++      sub     %rax, %rcx
++      shl     %cl, %esi
++      pmovmskb %xmm0, %edx
++      and     %esi, %edx
++      jnz     L(exit)
++L(align16_start):
++      pxor    %xmm0, %xmm0
++      pxor    %xmm1, %xmm1
++      pxor    %xmm2, %xmm2
++      pxor    %xmm3, %xmm3
++      .p2align 4
++L(align16_loop):
++      pcmpeqb 16(%rax), %xmm0
++      pmovmskb %xmm0, %edx
++      test    %edx, %edx
++      jnz     L(exit16)
+-1:    subq    %r8, %rdi
+-      bsfl    %edx, %eax
+-      addq    %rdi, %rax
++      pcmpeqb 32(%rax), %xmm1
++      pmovmskb %xmm1, %edx
++      test    %edx, %edx
++      jnz     L(exit32)
++
++      pcmpeqb 48(%rax), %xmm2
++      pmovmskb %xmm2, %edx
++      test    %edx, %edx
++      jnz     L(exit48)
++
++      pcmpeqb 64(%rax), %xmm3
++      pmovmskb %xmm3, %edx
++      lea     64(%rax), %rax
++      test    %edx, %edx
++      jz      L(align16_loop)
++L(exit):
++      sub     %rdi, %rax
++L(exit_less16):
++      bsf     %rdx, %rdx
++      add     %rdx, %rax
++      ret
++      .p2align 4
++L(exit16):
++      sub     %rdi, %rax
++      bsf     %rdx, %rdx
++      lea     16(%rdx,%rax), %rax
++      ret
++      .p2align 4
++L(exit32):
++      sub     %rdi, %rax
++      bsf     %rdx, %rdx
++      lea     32(%rdx,%rax), %rax
++      ret
++      .p2align 4
++L(exit48):
++      sub     %rdi, %rax
++      bsf     %rdx, %rdx
++      lea     48(%rdx,%rax), %rax
+       ret
+ END(strlen)
+ libc_hidden_builtin_def (strlen)
diff --git a/src/patches/glibc/glibc-rh696472.patch b/src/patches/glibc/glibc-rh696472.patch
new file mode 100644 (file)
index 0000000..9d30d38
--- /dev/null
@@ -0,0 +1,36 @@
+commit 3d29045b5e8329d97693eda8d98f1d1e60b99c8f
+Author: H.J. Lu <hongjiu.lu@intel.com>
+Date:   Fri Jun 3 07:01:25 2011 -0400
+
+    Assume Intel Core i3/i5/i7 processor if AVX is available
+
+2011-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
+       Assume Intel Core i3/i5/i7 processor if AVX is available.
+
+diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
+index 34ec2df..809d105 100644
+--- a/sysdeps/x86_64/multiarch/init-arch.c
++++ b/sysdeps/x86_64/multiarch/init-arch.c
+@@ -74,6 +74,7 @@ __init_cpu_features (void)
+       }
+       else if (family == 0x06)
+       {
++        ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
+         model += extended_model;
+         switch (model)
+           {
+@@ -83,6 +84,12 @@ __init_cpu_features (void)
+             __cpu_features.feature[index_Slow_BSF] |= bit_Slow_BSF;
+             break;
++          default:
++            /* Unknown family 0x06 processors.  Assuming this is one
++               of Core i3/i5/i7 processors if AVX is available.  */
++            if ((ecx & bit_AVX) == 0)
++              break;
++
+           case 0x1a:
+           case 0x1e:
+           case 0x1f:
diff --git a/src/patches/glibc/glibc-rh697421.patch b/src/patches/glibc/glibc-rh697421.patch
new file mode 100644 (file)
index 0000000..961c805
--- /dev/null
@@ -0,0 +1,10 @@
+diff -rup a/iconvdata/gconv-modules b/iconvdata/gconv-modules
+--- a/iconvdata/gconv-modules  2010-05-04 05:27:23.000000000 -0600
++++ b/iconvdata/gconv-modules  2012-01-26 10:58:24.181895489 -0700
+@@ -1954,3 +1954,6 @@ alias    HPGREEK8//              HP-GREEK8//
+ alias OSF10010004//           HP-GREEK8//
+ module        HP-GREEK8//             INTERNAL                HP-GREEK8       1
+ module        INTERNAL                HP-GREEK8//             HP-GREEK8       1
++
++alias ISO-10646-UCS-2//       UNICODE//
++alias ISO-10646-UCS-2//       ISO-10646/UTF8/
diff --git a/src/patches/glibc/glibc-rh699724.patch b/src/patches/glibc/glibc-rh699724.patch
new file mode 100644 (file)
index 0000000..d25ce84
--- /dev/null
@@ -0,0 +1,188 @@
+2011-02-23  Andreas Schwab  <schwab@redhat.com>
+
+       [BZ #12509]
+       * elf/dl-load.c (_dl_map_object_from_fd): Free realname before
+       returning unsuccessfully.
+       * elf/Makefile ($(objpfx)noload-mem): New rule.
+       (noload-ENV): Define.
+       (tests): Add $(objpfx)noload-mem.
+       * elf/noload.c: Include <memcheck.h>.
+       (main): Call mtrace.  Close all opened handles.
+
+2010-09-27  Andreas Schwab  <schwab@redhat.com>
+
+       * include/link.h (struct link_map): Add l_free_initfini.
+       * elf/dl-deps.c (_dl_map_object_deps): Set it when assigning
+       l_initfini.
+       * elf/rtld.c (dl_main): Clear it on all objects loaded on startup.
+       * elf/dl-libc.c (free_mem): Free l_initfini if l_free_initfini is
+       set.
+
+Index: glibc-2.12-2-gc4ccff1/elf/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
++++ glibc-2.12-2-gc4ccff1/elf/Makefile
+@@ -211,7 +211,7 @@ endif
+ ifeq (yesyes,$(have-fpie)$(build-shared))
+ tests: $(objpfx)tst-pie1.out
+ endif
+-tests: $(objpfx)tst-leaks1-mem
++tests: $(objpfx)tst-leaks1-mem $(objpfx)noload-mem
+ tlsmod17a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ tlsmod18a-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
+@@ -664,6 +664,10 @@ $(objpfx)noload: $(objpfx)testobj1.so $(
+ LDFLAGS-noload = -rdynamic
+ $(objpfx)noload.out: $(objpfx)testobj5.so
++$(objpfx)noload-mem: $(objpfx)noload.out
++      $(common-objpfx)malloc/mtrace $(objpfx)noload.mtrace > $@
++noload-ENV = MALLOC_TRACE=$(objpfx)noload.mtrace
++
+ LDFLAGS-nodelete = -rdynamic
+ LDFLAGS-nodelmod1.so = -Wl,--enable-new-dtags,-z,nodelete
+ LDFLAGS-nodelmod4.so = -Wl,--enable-new-dtags,-z,nodelete
+Index: glibc-2.12-2-gc4ccff1/elf/dl-deps.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-deps.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-deps.c
+@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *ma
+                 nneeded * sizeof needed[0]);
+         atomic_write_barrier ();
+         l->l_initfini = l_initfini;
++        l->l_free_initfini = 1;
+       }
+       /* If we have no auxiliary objects just go on to the next map.  */
+@@ -662,6 +663,7 @@ Filters not supported with LD_TRACE_PREL
+   l_initfini[nlist] = NULL;
+   atomic_write_barrier ();
+   map->l_initfini = l_initfini;
++  map->l_free_initfini = 1;
+   if (l_reldeps != NULL)
+     {
+       atomic_write_barrier ();
+Index: glibc-2.12-2-gc4ccff1/elf/dl-libc.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-libc.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-libc.c
+@@ -250,5 +250,9 @@ libc_freeres_fn (free_mem)
+           if (! old->dont_free)
+           free (old);
+         }
++
++      /* Free the initfini dependency list.  */
++      if (l->l_free_initfini)
++        free (l->l_initfini);
+       }
+ }
+Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
+@@ -907,6 +907,7 @@ _dl_map_object_from_fd (const char *name
+     {
+       /* We are not supposed to load the object unless it is already
+        loaded.  So return now.  */
++      free (realname);
+       __close (fd);
+       return NULL;
+     }
+@@ -925,6 +926,7 @@ _dl_map_object_from_fd (const char *name
+       _dl_zerofd = _dl_sysdep_open_zero_fill ();
+       if (_dl_zerofd == -1)
+       {
++        free (realname);
+         __close (fd);
+         _dl_signal_error (errno, NULL, NULL,
+                           N_("cannot open zero fill device"));
+Index: glibc-2.12-2-gc4ccff1/elf/noload.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/noload.c
++++ glibc-2.12-2-gc4ccff1/elf/noload.c
+@@ -1,20 +1,28 @@
+ #include <dlfcn.h>
+ #include <stdio.h>
++#include <mcheck.h>
+ int
+ main (void)
+ {
+   int result = 0;
++  void *p;
++
++  mtrace ();
+   /* First try to load an object which is a dependency.  This should
+      succeed.  */
+-  if (dlopen ("testobj1.so", RTLD_LAZY | RTLD_NOLOAD) == NULL)
++  p = dlopen ("testobj1.so", RTLD_LAZY | RTLD_NOLOAD);
++  if (p == NULL)
+     {
+       printf ("cannot open \"testobj1.so\": %s\n", dlerror ());
+       result = 1;
+     }
+   else
+-    puts ("loading \"testobj1.so\" succeeded, OK");
++    {
++      puts ("loading \"testobj1.so\" succeeded, OK");
++      dlclose (p);
++    }
+   /* Now try loading an object which is not already loaded.  */
+   if (dlopen ("testobj5.so", RTLD_LAZY | RTLD_NOLOAD) != NULL)
+@@ -25,8 +33,6 @@ main (void)
+   else
+     {
+       /* Load the object and run the same test again.  */
+-      void *p;
+-
+       puts ("\"testobj5.so\" wasn't loaded and RTLD_NOLOAD prevented it, OK");
+       p = dlopen ("testobj5.so", RTLD_LAZY);
+@@ -41,13 +47,17 @@ main (void)
+       {
+         puts ("loading \"testobj5.so\" succeeded, OK");
+-        if (dlopen ("testobj5.so", RTLD_LAZY | RTLD_NOLOAD) == NULL)
++        void *q = dlopen ("testobj5.so", RTLD_LAZY | RTLD_NOLOAD);
++        if (q == NULL)
+           {
+             printf ("cannot open \"testobj5.so\": %s\n", dlerror ());
+             result = 1;
+           }
+         else
+-          puts ("loading \"testobj5.so\" with RTLD_NOLOAD succeeded, OK");
++          {
++            puts ("loading \"testobj5.so\" with RTLD_NOLOAD succeeded, OK");
++            dlclose (q);
++          }
+         if (dlclose (p) != 0)
+           {
+Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
++++ glibc-2.12-2-gc4ccff1/elf/rtld.c
+@@ -2249,6 +2249,7 @@ ERROR: ld.so: object '%s' cannot be load
+             lnp->dont_free = 1;
+             lnp = lnp->next;
+           }
++        l->l_free_initfini = 0;
+         if (l != &GL(dl_rtld_map))
+           _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
+Index: glibc-2.12-2-gc4ccff1/include/link.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/include/link.h
++++ glibc-2.12-2-gc4ccff1/include/link.h
+@@ -192,6 +192,9 @@ struct link_map
+                                                during LD_TRACE_PRELINKING=1
+                                                contains any DT_SYMBOLIC
+                                                libraries.  */
++    unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
++                                     freed, ie. not allocated with
++                                     the dummy malloc in ld.so.  */
+     /* Collected information about own RPATH directories.  */
+     struct r_search_path_struct l_rpath_dirs;
diff --git a/src/patches/glibc/glibc-rh700507.patch b/src/patches/glibc/glibc-rh700507.patch
new file mode 100644 (file)
index 0000000..0660431
--- /dev/null
@@ -0,0 +1,26 @@
+Index: glibc-2.12-2-gc4ccff1/nscd/nscd.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/nscd.c
++++ glibc-2.12-2-gc4ccff1/nscd/nscd.c
+@@ -260,10 +260,6 @@ main (int argc, char **argv)
+     /* In foreground mode we are not paranoid.  */
+     paranoia = 0;
+-  /* Start the SELinux AVC.  */
+-  if (selinux_enabled)
+-    nscd_avc_init ();
+-
+   signal (SIGINT, termination_handler);
+   signal (SIGQUIT, termination_handler);
+   signal (SIGTERM, termination_handler);
+@@ -278,6 +274,10 @@ main (int argc, char **argv)
+   /* Init databases.  */
+   nscd_init ();
++  /* Start the SELinux AVC.  */
++  if (selinux_enabled)
++    nscd_avc_init ();
++
+   /* Handle incoming requests */
+   start_threads ();
diff --git a/src/patches/glibc/glibc-rh703480.patch b/src/patches/glibc/glibc-rh703480.patch
new file mode 100644 (file)
index 0000000..742a79a
--- /dev/null
@@ -0,0 +1,68 @@
+2011-01-15  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #6812]
+       * nscd/hstcache.c (tryagain): Define.
+       (cache_addhst): Return tryagain not notfound for temporary errors.
+       (addhstbyX): Also set h_errno to TRY_AGAIN when memory allocation
+       failed.
+
+Index: glibc-2.12-2-gc4ccff1/nscd/hstcache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/hstcache.c
++++ glibc-2.12-2-gc4ccff1/nscd/hstcache.c
+@@ -77,6 +77,20 @@ static const hst_response_header notfoun
+ };
++/* This is the standard reply in case there are temporary problems.  */
++static const hst_response_header tryagain =
++{
++  .version = NSCD_VERSION,
++  .found = 0,
++  .h_name_len = 0,
++  .h_aliases_cnt = 0,
++  .h_addrtype = -1,
++  .h_length = -1,
++  .h_addr_list_cnt = 0,
++  .error = TRY_AGAIN
++};
++
++
+ static void
+ cache_addhst (struct database_dyn *db, int fd, request_header *req,
+             const void *key, struct hostent *hst, uid_t owner,
+@@ -111,11 +125,15 @@ cache_addhst (struct database_dyn *db, i
+       else
+       {
+         /* We have no data.  This means we send the standard reply for this
+-           case.  */
++           case.  Possibly this is only temporary.  */
+         ssize_t total = sizeof (notfound);
++        assert (sizeof (notfound) == sizeof (tryagain));
++
++        const hst_response_header *resp = (errval == EAGAIN
++                                           ? &tryagain : &notfound);
+         if (fd != -1 &&
+-            TEMP_FAILURE_RETRY (send (fd, &notfound, total,
++            TEMP_FAILURE_RETRY (send (fd, resp, total,
+                                       MSG_NOSIGNAL)) != total)
+           all_written = false;
+@@ -135,7 +153,7 @@ cache_addhst (struct database_dyn *db, i
+                                          ? db->negtimeout : ttl);
+             /* This is the reply.  */
+-            memcpy (&dataset->resp, &notfound, total);
++            memcpy (&dataset->resp, resp, total);
+             /* Copy the key data.  */
+             memcpy (dataset->strdata, key, req->key_len);
+@@ -490,6 +508,7 @@ addhstbyX (struct database_dyn *db, int 
+             /* We set the error to indicate this is (possibly) a
+                temporary error and that it does not mean the entry
+                is not available at all.  */
++            h_errno = TRY_AGAIN;
+             errval = EAGAIN;
+             break;
+           }
diff --git a/src/patches/glibc/glibc-rh703481.patch b/src/patches/glibc/glibc-rh703481.patch
new file mode 100644 (file)
index 0000000..fdde4b5
--- /dev/null
@@ -0,0 +1,875 @@
+2011-02-05  Ulrich Drepper  <drepper@gmail.com>
+
+       * nscd/nscd-client.h: Define MAX_TIMEOUT_VALUE.
+       (struct datahead): Reuse 32 bits of the alignment for a TTL field.
+       * nscd/aicache.c (addhstaiX): Return timeout of added value.
+       (readdhstai): Return value of addhstaiX call.
+       * nscd/grpcache.c (cache_addgr): Return timeout of added value.
+       (addgrbyX): Return value returned by cache_addgr.
+       (readdgrbyname): Return value returned by addgrbyX.
+       (readdgrbygid): Likewise.
+       * nscd/pwdcache.c (cache_addpw): Return timeout of added value.
+       (addpwbyX): Return value returned by cache_addpw.
+       (readdpwbyname): Return value returned by addhstbyX.
+       (readdpwbyuid): Likewise.
+       * nscd/servicescache.c (cache_addserv): Return timeout of added value.
+       (addservbyX): Return value returned by cache_addserv.
+       (readdservbyname): Return value returned by addservbyX:
+       (readdservbyport): Likewise.
+       * nscd/hstcache.c (cache_addhst): Return timeout of added value.
+       (addhstbyX): Return value returned by cache_addhst.
+       (readdhstbyname): Return value returned by addhstbyX.
+       (readdhstbyaddr): Likewise.
+       (readdhstbynamev6): Likewise.
+       (readdhstbyaddrv6): Likewise.
+       * nscd/initgrcache.c (addinitgroupsX): Return timeout of added value.
+       (readdinitgroups): Return value returned by addinitgroupsX.
+       * nscd/cache.c (readdfcts): Change return value of functions to time_t.
+       (prune_cache): Keep track of timeout value of re-added entries.
+       * nscd/connections.c (nscd_run_prune): Use MAX_TIMEOUT_VALUE.
+       * nscd/nscd.h: Adjust prototypes of readd* functions.
+
+Index: glibc-2.12-2-gc4ccff1/nscd/aicache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/aicache.c
++++ glibc-2.12-2-gc4ccff1/nscd/aicache.c
+@@ -58,7 +58,7 @@ static const ai_response_header notfound
+ };
+-static void
++static time_t
+ addhstaiX (struct database_dyn *db, int fd, request_header *req,
+          void *key, uid_t uid, struct hashentry *const he,
+          struct datahead *dh)
+@@ -119,6 +119,7 @@ addhstaiX (struct database_dyn *db, int 
+   ssize_t total = 0;
+   char *key_copy = NULL;
+   bool alloca_used = false;
++  time_t timeout = MAX_TIMEOUT_VALUE;
+   while (!no_more)
+     {
+@@ -388,8 +389,8 @@ addhstaiX (struct database_dyn *db, int 
+       dataset->head.usable = true;
+       /* Compute the timeout time.  */
+-      dataset->head.timeout = time (NULL) + (ttl == INT32_MAX
+-                                           ? db->postimeout : ttl);
++      dataset->head.ttl = ttl == INT32_MAX ? db->postimeout : ttl;
++      timeout = dataset->head.timeout = time (NULL) + dataset->head.ttl;
+       dataset->resp.version = NSCD_VERSION;
+       dataset->resp.found = 1;
+@@ -421,6 +422,7 @@ addhstaiX (struct database_dyn *db, int 
+                timeout value.  Note that the new record has been
+                allocated on the stack and need not be freed.  */
+             dh->timeout = dataset->head.timeout;
++            dh->ttl = dataset->head.ttl;
+             ++dh->nreloads;
+           }
+         else
+@@ -496,6 +498,9 @@ next_nip:
+       if (reload_count != UINT_MAX && dh->nreloads == reload_count)
+       /* Do not reset the value if we never not reload the record.  */
+       dh->nreloads = reload_count - 1;
++
++      /* Reload with the same time-to-live value.  */
++      timeout = dh->timeout = time (NULL) + dh->ttl;
+     }
+   else
+     {
+@@ -517,7 +522,8 @@ next_nip:
+         dataset->head.usable = true;
+         /* Compute the timeout time.  */
+-        dataset->head.timeout = time (NULL) + db->negtimeout;
++        timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
++        dataset->head.ttl = db->negtimeout;
+         /* This is the reply.  */
+         memcpy (&dataset->resp, &notfound, total);
+@@ -551,6 +557,8 @@ next_nip:
+       if (dh != NULL)
+       dh->usable = false;
+     }
++
++  return timeout;
+ }
+@@ -562,7 +570,7 @@ addhstai (struct database_dyn *db, int f
+ }
+-void
++time_t
+ readdhstai (struct database_dyn *db, struct hashentry *he, struct datahead *dh)
+ {
+   request_header req =
+@@ -571,5 +579,5 @@ readdhstai (struct database_dyn *db, str
+       .key_len = he->len
+     };
+-  addhstaiX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addhstaiX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+Index: glibc-2.12-2-gc4ccff1/nscd/cache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/cache.c
++++ glibc-2.12-2-gc4ccff1/nscd/cache.c
+@@ -45,9 +45,9 @@ extern void *xcalloc (size_t n, size_t s
+ unsigned int reload_count = DEFAULT_RELOAD_LIMIT;
+-static void (*const readdfcts[LASTREQ]) (struct database_dyn *,
+-                                       struct hashentry *,
+-                                       struct datahead *) =
++static time_t (*const readdfcts[LASTREQ]) (struct database_dyn *,
++                                         struct hashentry *,
++                                         struct datahead *) =
+ {
+   [GETPWBYNAME] = readdpwbyname,
+   [GETPWBYUID] = readdpwbyuid,
+@@ -389,7 +389,8 @@ prune_cache (struct database_dyn *table,
+                     assert (runp->type < LASTREQ
+                             && readdfcts[runp->type] != NULL);
+-                    readdfcts[runp->type] (table, runp, dh);
++                    time_t timeout = readdfcts[runp->type] (table, runp, dh);
++                    next_timeout = MIN (next_timeout, timeout);
+                     /* If the entry has been replaced, we might need
+                        cleanup.  */
+Index: glibc-2.12-2-gc4ccff1/nscd/connections.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/connections.c
++++ glibc-2.12-2-gc4ccff1/nscd/connections.c
+@@ -1533,10 +1533,7 @@ nscd_run_prune (void *p)
+            pruning we want to know about it.  Therefore set the
+            timeout to the maximum.  It will be descreased when adding
+            new entries to the cache, if necessary.  */
+-        if (sizeof (time_t) == sizeof (long int))
+-          dbs[my_number].wakeup_time = LONG_MAX;
+-        else
+-          dbs[my_number].wakeup_time = INT_MAX;
++        dbs[my_number].wakeup_time = MAX_TIMEOUT_VALUE;
+         /* Unconditionally reset the flag.  */
+         time_t prune_now = dbs[my_number].clear_cache ? LONG_MAX : now;
+Index: glibc-2.12-2-gc4ccff1/nscd/grpcache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/grpcache.c
++++ glibc-2.12-2-gc4ccff1/nscd/grpcache.c
+@@ -71,7 +71,7 @@ static const gr_response_header notfound
+ };
+-static void
++static time_t
+ cache_addgr (struct database_dyn *db, int fd, request_header *req,
+            const void *key, struct group *grp, uid_t owner,
+            struct hashentry *const he, struct datahead *dh, int errval)
+@@ -91,6 +91,7 @@ cache_addgr (struct database_dyn *db, in
+   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
++  time_t timeout = MAX_TIMEOUT_VALUE;
+   if (grp == NULL)
+     {
+       if (he != NULL && errval == EAGAIN)
+@@ -102,6 +103,9 @@ cache_addgr (struct database_dyn *db, in
+           /* Do not reset the value if we never not reload the record.  */
+           dh->nreloads = reload_count - 1;
++        /* Reload with the same time-to-live value.  */
++        timeout = dh->timeout = t + db->postimeout;
++
+         written = total = 0;
+       }
+       else
+@@ -125,7 +129,7 @@ cache_addgr (struct database_dyn *db, in
+             dataset->head.usable = true;
+             /* Compute the timeout time.  */
+-            dataset->head.timeout = t + db->negtimeout;
++            timeout = dataset->head.timeout = t + db->negtimeout;
+             /* This is the reply.  */
+             memcpy (&dataset->resp, &notfound, total);
+@@ -217,7 +221,7 @@ cache_addgr (struct database_dyn *db, in
+       dataset->head.usable = true;
+       /* Compute the timeout time.  */
+-      dataset->head.timeout = t + db->postimeout;
++      timeout = dataset->head.timeout = t + db->postimeout;
+       dataset->resp.version = NSCD_VERSION;
+       dataset->resp.found = 1;
+@@ -379,6 +383,8 @@ cache_addgr (struct database_dyn *db, in
+       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
+              strerror_r (errno, buf, sizeof (buf)));
+     }
++
++  return timeout;
+ }
+@@ -400,7 +406,7 @@ lookup (int type, union keytype key, str
+ }
+-static void
++static time_t
+ addgrbyX (struct database_dyn *db, int fd, request_header *req,
+         union keytype key, const char *keystr, uid_t uid,
+         struct hashentry *he, struct datahead *dh)
+@@ -456,10 +462,12 @@ addgrbyX (struct database_dyn *db, int f
+       buffer = (char *) extend_alloca (buffer, buflen, 2 * buflen);
+     }
+-  cache_addgr (db, fd, req, keystr, grp, uid, he, dh, errval);
++  time_t timeout = cache_addgr (db, fd, req, keystr, grp, uid, he, dh, errval);
+   if (use_malloc)
+     free (buffer);
++
++  return timeout;
+ }
+@@ -473,7 +481,7 @@ addgrbyname (struct database_dyn *db, in
+ }
+-void
++time_t
+ readdgrbyname (struct database_dyn *db, struct hashentry *he,
+              struct datahead *dh)
+ {
+@@ -484,7 +492,7 @@ readdgrbyname (struct database_dyn *db, 
+     };
+   union keytype u = { .v = db->data + he->key };
+-  addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
++  return addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
+ }
+@@ -510,7 +518,7 @@ addgrbygid (struct database_dyn *db, int
+ }
+-void
++time_t
+ readdgrbygid (struct database_dyn *db, struct hashentry *he,
+             struct datahead *dh)
+ {
+@@ -527,5 +535,5 @@ readdgrbygid (struct database_dyn *db, s
+     };
+   union keytype u = { .g = gid };
+-  addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
++  return addgrbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
+ }
+Index: glibc-2.12-2-gc4ccff1/nscd/hstcache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/hstcache.c
++++ glibc-2.12-2-gc4ccff1/nscd/hstcache.c
+@@ -91,7 +91,7 @@ static const hst_response_header tryagai
+ };
+-static void
++static time_t
+ cache_addhst (struct database_dyn *db, int fd, request_header *req,
+             const void *key, struct hostent *hst, uid_t owner,
+             struct hashentry *const he, struct datahead *dh, int errval,
+@@ -111,6 +111,7 @@ cache_addhst (struct database_dyn *db, i
+   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
++  time_t timeout = MAX_TIMEOUT_VALUE;
+   if (hst == NULL)
+     {
+       if (he != NULL && errval == EAGAIN)
+@@ -121,6 +122,9 @@ cache_addhst (struct database_dyn *db, i
+         if (reload_count != UINT_MAX)
+           /* Do not reset the value if we never not reload the record.  */
+           dh->nreloads = reload_count - 1;
++
++        /* Reload with the same time-to-live value.  */
++        timeout = dh->timeout = t + dh->ttl;
+       }
+       else
+       {
+@@ -149,8 +153,8 @@ cache_addhst (struct database_dyn *db, i
+             dataset->head.usable = true;
+             /* Compute the timeout time.  */
+-            dataset->head.timeout = t + (ttl == INT32_MAX
+-                                         ? db->negtimeout : ttl);
++            dataset->head.ttl = ttl == INT32_MAX ? db->negtimeout : ttl;
++            timeout = dataset->head.timeout = t + dataset->head.ttl;
+             /* This is the reply.  */
+             memcpy (&dataset->resp, resp, total);
+@@ -214,7 +218,7 @@ cache_addhst (struct database_dyn *db, i
+       if (h_addr_list_cnt == 0)
+       /* Invalid entry.  */
+-      return;
++      return MAX_TIMEOUT_VALUE;
+       total += (sizeof (struct dataset)
+               + h_name_len
+@@ -255,7 +259,8 @@ cache_addhst (struct database_dyn *db, i
+       dataset->head.usable = true;
+       /* Compute the timeout time.  */
+-      dataset->head.timeout = t + (ttl == INT32_MAX ? db->postimeout : ttl);
++      dataset->head.ttl = ttl == INT32_MAX ? db->postimeout : ttl;
++      timeout = dataset->head.timeout = t + dataset->head.ttl;
+       dataset->resp.version = NSCD_VERSION;
+       dataset->resp.found = 1;
+@@ -312,6 +317,7 @@ cache_addhst (struct database_dyn *db, i
+                timeout value.  Note that the new record has been
+                allocated on the stack and need not be freed.  */
+             assert (h_addr_list_cnt == 1);
++            dh->ttl = dataset->head.ttl;
+             dh->timeout = dataset->head.timeout;
+             ++dh->nreloads;
+           }
+@@ -433,6 +439,8 @@ cache_addhst (struct database_dyn *db, i
+       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
+              strerror_r (errno, buf, sizeof (buf)));
+     }
++
++  return timeout;
+ }
+@@ -454,7 +462,7 @@ lookup (int type, void *key, struct host
+ }
+-static void
++static time_t
+ addhstbyX (struct database_dyn *db, int fd, request_header *req,
+          void *key, uid_t uid, struct hashentry *he, struct datahead *dh)
+ {
+@@ -520,11 +528,13 @@ addhstbyX (struct database_dyn *db, int 
+       buffer = (char *) extend_alloca (buffer, buflen, 2 * buflen);
+     }
+-  cache_addhst (db, fd, req, key, hst, uid, he, dh,
+-              h_errno == TRY_AGAIN ? errval : 0, ttl);
++  time_t timeout = cache_addhst (db, fd, req, key, hst, uid, he, dh,
++                               h_errno == TRY_AGAIN ? errval : 0, ttl);
+   if (use_malloc)
+     free (buffer);
++
++  return timeout;
+ }
+@@ -536,7 +546,7 @@ addhstbyname (struct database_dyn *db, i
+ }
+-void
++time_t
+ readdhstbyname (struct database_dyn *db, struct hashentry *he,
+               struct datahead *dh)
+ {
+@@ -546,7 +556,7 @@ readdhstbyname (struct database_dyn *db,
+       .key_len = he->len
+     };
+-  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+@@ -558,7 +568,7 @@ addhstbyaddr (struct database_dyn *db, i
+ }
+-void
++time_t
+ readdhstbyaddr (struct database_dyn *db, struct hashentry *he,
+               struct datahead *dh)
+ {
+@@ -568,7 +578,7 @@ readdhstbyaddr (struct database_dyn *db,
+       .key_len = he->len
+     };
+-  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+@@ -580,7 +590,7 @@ addhstbynamev6 (struct database_dyn *db,
+ }
+-void
++time_t
+ readdhstbynamev6 (struct database_dyn *db, struct hashentry *he,
+                 struct datahead *dh)
+ {
+@@ -590,7 +600,7 @@ readdhstbynamev6 (struct database_dyn *d
+       .key_len = he->len
+     };
+-  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+@@ -602,7 +612,7 @@ addhstbyaddrv6 (struct database_dyn *db,
+ }
+-void
++time_t
+ readdhstbyaddrv6 (struct database_dyn *db, struct hashentry *he,
+                 struct datahead *dh)
+ {
+@@ -612,5 +622,5 @@ readdhstbyaddrv6 (struct database_dyn *d
+       .key_len = he->len
+     };
+-  addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addhstbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+Index: glibc-2.12-2-gc4ccff1/nscd/initgrcache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/initgrcache.c
++++ glibc-2.12-2-gc4ccff1/nscd/initgrcache.c
+@@ -52,7 +52,7 @@ static const initgr_response_header notf
+ #include "../grp/compat-initgroups.c"
+-static void
++static time_t
+ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
+               void *key, uid_t uid, struct hashentry *const he,
+               struct datahead *dh)
+@@ -174,7 +174,9 @@ addinitgroupsX (struct database_dyn *db,
+   ssize_t total;
+   ssize_t written;
++  time_t timeout;
+  out:
++  timeout = MAX_TIMEOUT_VALUE;
+   if (!any_success)
+     {
+       /* Nothing found.  Create a negative result record.  */
+@@ -188,6 +190,9 @@ addinitgroupsX (struct database_dyn *db,
+         if (reload_count != UINT_MAX && dh->nreloads == reload_count)
+           /* Do not reset the value if we never not reload the record.  */
+           dh->nreloads = reload_count - 1;
++
++        /* Reload with the same time-to-live value.  */
++        timeout = dh->timeout = time (NULL) + db->postimeout;
+       }
+       else
+       {
+@@ -209,7 +214,7 @@ addinitgroupsX (struct database_dyn *db,
+             dataset->head.usable = true;
+             /* Compute the timeout time.  */
+-            dataset->head.timeout = time (NULL) + db->negtimeout;
++            timeout = dataset->head.timeout = time (NULL) + db->negtimeout;
+             /* This is the reply.  */
+             memcpy (&dataset->resp, &notfound, total);
+@@ -273,7 +278,7 @@ addinitgroupsX (struct database_dyn *db,
+       dataset->head.usable = true;
+       /* Compute the timeout time.  */
+-      dataset->head.timeout = time (NULL) + db->postimeout;
++      timeout = dataset->head.timeout = time (NULL) + db->postimeout;
+       dataset->resp.version = NSCD_VERSION;
+       dataset->resp.found = 1;
+@@ -401,6 +406,8 @@ addinitgroupsX (struct database_dyn *db,
+       dbg_log (_("short write in %s: %s"), __FUNCTION__,
+              strerror_r (errno, buf, sizeof (buf)));
+     }
++
++  return timeout;
+ }
+@@ -412,7 +419,7 @@ addinitgroups (struct database_dyn *db, 
+ }
+-void
++time_t
+ readdinitgroups (struct database_dyn *db, struct hashentry *he,
+                struct datahead *dh)
+ {
+@@ -422,5 +429,5 @@ readdinitgroups (struct database_dyn *db
+       .key_len = he->len
+     };
+-  addinitgroupsX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addinitgroupsX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+Index: glibc-2.12-2-gc4ccff1/nscd/nscd-client.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/nscd-client.h
++++ glibc-2.12-2-gc4ccff1/nscd/nscd-client.h
+@@ -179,6 +179,10 @@ typedef uint32_t ref_t;
+ /* Timestamp type.  */
+ typedef uint64_t nscd_time_t;
++/* Maximum timestamp.  */
++#define MAX_TIMEOUT_VALUE \
++  (sizeof (time_t) == sizeof (long int) ? LONG_MAX : INT_MAX)
++
+ /* Alignment requirement of the beginning of the data region.  */
+ #define ALIGN 16
+@@ -192,7 +196,8 @@ struct datahead
+   uint8_t notfound;           /* Nonzero if data has not been found.  */
+   uint8_t nreloads;           /* Reloads without use.  */
+   uint8_t usable;             /* False if the entry must be ignored.  */
+-  uint64_t :40;                       /* Alignment.  */
++  uint8_t unused;             /* Unused.  */
++  uint32_t ttl;                       /* TTL value used.  */
+   /* We need to have the following element aligned for the response
+      header data types and their use in the 'struct dataset' types
+Index: glibc-2.12-2-gc4ccff1/nscd/nscd.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/nscd.h
++++ glibc-2.12-2-gc4ccff1/nscd/nscd.h
+@@ -217,20 +217,20 @@ extern void addpwbyname (struct database
+                        void *key, uid_t uid);
+ extern void addpwbyuid (struct database_dyn *db, int fd, request_header *req,
+                       void *key, uid_t uid);
+-extern void readdpwbyname (struct database_dyn *db, struct hashentry *he,
+-                         struct datahead *dh);
+-extern void readdpwbyuid (struct database_dyn *db, struct hashentry *he,
+-                        struct datahead *dh);
++extern time_t readdpwbyname (struct database_dyn *db, struct hashentry *he,
++                           struct datahead *dh);
++extern time_t readdpwbyuid (struct database_dyn *db, struct hashentry *he,
++                          struct datahead *dh);
+ /* grpcache.c */
+ extern void addgrbyname (struct database_dyn *db, int fd, request_header *req,
+                        void *key, uid_t uid);
+ extern void addgrbygid (struct database_dyn *db, int fd, request_header *req,
+                       void *key, uid_t uid);
+-extern void readdgrbyname (struct database_dyn *db, struct hashentry *he,
+-                         struct datahead *dh);
+-extern void readdgrbygid (struct database_dyn *db, struct hashentry *he,
+-                        struct datahead *dh);
++extern time_t readdgrbyname (struct database_dyn *db, struct hashentry *he,
++                           struct datahead *dh);
++extern time_t readdgrbygid (struct database_dyn *db, struct hashentry *he,
++                          struct datahead *dh);
+ /* hstcache.c */
+ extern void addhstbyname (struct database_dyn *db, int fd, request_header *req,
+@@ -241,37 +241,37 @@ extern void addhstbynamev6 (struct datab
+                           request_header *req, void *key, uid_t uid);
+ extern void addhstbyaddrv6 (struct database_dyn *db, int fd,
+                           request_header *req, void *key, uid_t uid);
+-extern void readdhstbyname (struct database_dyn *db, struct hashentry *he,
+-                          struct datahead *dh);
+-extern void readdhstbyaddr (struct database_dyn *db, struct hashentry *he,
+-                          struct datahead *dh);
+-extern void readdhstbynamev6 (struct database_dyn *db, struct hashentry *he,
++extern time_t readdhstbyname (struct database_dyn *db, struct hashentry *he,
+                             struct datahead *dh);
+-extern void readdhstbyaddrv6 (struct database_dyn *db, struct hashentry *he,
++extern time_t readdhstbyaddr (struct database_dyn *db, struct hashentry *he,
+                             struct datahead *dh);
++extern time_t readdhstbynamev6 (struct database_dyn *db, struct hashentry *he,
++                              struct datahead *dh);
++extern time_t readdhstbyaddrv6 (struct database_dyn *db, struct hashentry *he,
++                              struct datahead *dh);
+ /* aicache.c */
+ extern void addhstai (struct database_dyn *db, int fd, request_header *req,
+                     void *key, uid_t uid);
+-extern void readdhstai (struct database_dyn *db, struct hashentry *he,
+-                      struct datahead *dh);
++extern time_t readdhstai (struct database_dyn *db, struct hashentry *he,
++                        struct datahead *dh);
+ /* initgrcache.c */
+ extern void addinitgroups (struct database_dyn *db, int fd,
+                          request_header *req, void *key, uid_t uid);
+-extern void readdinitgroups (struct database_dyn *db, struct hashentry *he,
+-                           struct datahead *dh);
++extern time_t readdinitgroups (struct database_dyn *db, struct hashentry *he,
++                             struct datahead *dh);
+ /* servicecache.c */
+ extern void addservbyname (struct database_dyn *db, int fd,
+                          request_header *req, void *key, uid_t uid);
+-extern void readdservbyname (struct database_dyn *db, struct hashentry *he,
+-                           struct datahead *dh);
++extern time_t readdservbyname (struct database_dyn *db, struct hashentry *he,
++                             struct datahead *dh);
+ extern void addservbyport (struct database_dyn *db, int fd,
+                          request_header *req, void *key, uid_t uid);
+-extern void readdservbyport (struct database_dyn *db, struct hashentry *he,
+-                           struct datahead *dh);
++extern time_t readdservbyport (struct database_dyn *db, struct hashentry *he,
++                             struct datahead *dh);
+ /* mem.c */
+ extern void *mempool_alloc (struct database_dyn *db, size_t len,
+Index: glibc-2.12-2-gc4ccff1/nscd/pwdcache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/pwdcache.c
++++ glibc-2.12-2-gc4ccff1/nscd/pwdcache.c
+@@ -77,7 +77,7 @@ static const pw_response_header notfound
+ };
+-static void
++static time_t
+ cache_addpw (struct database_dyn *db, int fd, request_header *req,
+            const void *key, struct passwd *pwd, uid_t owner,
+            struct hashentry *const he, struct datahead *dh, int errval)
+@@ -97,6 +97,7 @@ cache_addpw (struct database_dyn *db, in
+   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
++  time_t timeout = MAX_TIMEOUT_VALUE;
+   if (pwd == NULL)
+     {
+       if (he != NULL && errval == EAGAIN)
+@@ -108,6 +109,9 @@ cache_addpw (struct database_dyn *db, in
+           /* Do not reset the value if we never not reload the record.  */
+           dh->nreloads = reload_count - 1;
++        /* Reload with the same time-to-live value.  */
++        timeout = dh->timeout = t + db->postimeout;
++
+         written = total = 0;
+       }
+       else
+@@ -132,7 +136,7 @@ cache_addpw (struct database_dyn *db, in
+             dataset->head.usable = true;
+             /* Compute the timeout time.  */
+-            dataset->head.timeout = t + db->negtimeout;
++            timeout = dataset->head.timeout = t + db->negtimeout;
+             /* This is the reply.  */
+             memcpy (&dataset->resp, &notfound, total);
+@@ -212,7 +216,7 @@ cache_addpw (struct database_dyn *db, in
+       dataset->head.usable = true;
+       /* Compute the timeout time.  */
+-      dataset->head.timeout = t + db->postimeout;
++      timeout = dataset->head.timeout = t + db->postimeout;
+       dataset->resp.version = NSCD_VERSION;
+       dataset->resp.found = 1;
+@@ -293,8 +297,8 @@ cache_addpw (struct database_dyn *db, in
+             assert ((char *) dataset - (char *) db->head
+                     + total
+                     <= (sizeof (struct database_pers_head)
+-                          + db->head->module * sizeof (ref_t)
+-                          + db->head->data_size));
++                        + db->head->module * sizeof (ref_t)
++                        + db->head->data_size));
+             written = sendfileall (fd, db->wr_fd,
+                                    (char *) &dataset->resp
+                                    - (char *) db->head, dataset->head.recsize );
+@@ -374,6 +378,8 @@ cache_addpw (struct database_dyn *db, in
+       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
+              strerror_r (errno, buf, sizeof (buf)));
+     }
++
++  return timeout;
+ }
+@@ -395,7 +401,7 @@ lookup (int type, union keytype key, str
+ }
+-static void
++static time_t
+ addpwbyX (struct database_dyn *db, int fd, request_header *req,
+         union keytype key, const char *keystr, uid_t c_uid,
+         struct hashentry *he, struct datahead *dh)
+@@ -452,10 +458,13 @@ addpwbyX (struct database_dyn *db, int f
+     }
+   /* Add the entry to the cache.  */
+-  cache_addpw (db, fd, req, keystr, pwd, c_uid, he, dh, errval);
++  time_t timeout = cache_addpw (db, fd, req, keystr, pwd, c_uid, he, dh,
++                              errval);
+   if (use_malloc)
+     free (buffer);
++
++  return timeout;
+ }
+@@ -469,7 +478,7 @@ addpwbyname (struct database_dyn *db, in
+ }
+-void
++time_t
+ readdpwbyname (struct database_dyn *db, struct hashentry *he,
+              struct datahead *dh)
+ {
+@@ -480,7 +489,7 @@ readdpwbyname (struct database_dyn *db, 
+     };
+   union keytype u = { .v = db->data + he->key };
+-  addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
++  return addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
+ }
+@@ -506,7 +515,7 @@ addpwbyuid (struct database_dyn *db, int
+ }
+-void
++time_t
+ readdpwbyuid (struct database_dyn *db, struct hashentry *he,
+             struct datahead *dh)
+ {
+@@ -523,5 +532,5 @@ readdpwbyuid (struct database_dyn *db, s
+     };
+   union keytype u = { .u = uid };
+-  addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
++  return addpwbyX (db, -1, &req, u, db->data + he->key, he->owner, he, dh);
+ }
+Index: glibc-2.12-2-gc4ccff1/nscd/servicescache.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nscd/servicescache.c
++++ glibc-2.12-2-gc4ccff1/nscd/servicescache.c
+@@ -61,7 +61,7 @@ static const serv_response_header notfou
+ };
+-static void
++static time_t
+ cache_addserv (struct database_dyn *db, int fd, request_header *req,
+              const void *key, struct servent *serv, uid_t owner,
+              struct hashentry *const he, struct datahead *dh, int errval)
+@@ -81,6 +81,7 @@ cache_addserv (struct database_dyn *db, 
+   assert (offsetof (struct dataset, resp) == offsetof (struct datahead, data));
++  time_t timeout = MAX_TIMEOUT_VALUE;
+   if (serv == NULL)
+     {
+       if (he != NULL && errval == EAGAIN)
+@@ -92,6 +93,9 @@ cache_addserv (struct database_dyn *db, 
+           /* Do not reset the value if we never not reload the record.  */
+           dh->nreloads = reload_count - 1;
++        /* Reload with the same time-to-live value.  */
++        timeout = dh->timeout = t + db->postimeout;
++
+         written = total = 0;
+       }
+       else
+@@ -115,7 +119,7 @@ cache_addserv (struct database_dyn *db, 
+             dataset->head.usable = true;
+             /* Compute the timeout time.  */
+-            dataset->head.timeout = t + db->negtimeout;
++            timeout = dataset->head.timeout = t + db->negtimeout;
+             /* This is the reply.  */
+             memcpy (&dataset->resp, &notfound, total);
+@@ -203,7 +207,7 @@ cache_addserv (struct database_dyn *db, 
+       dataset->head.usable = true;
+       /* Compute the timeout time.  */
+-      dataset->head.timeout = t + db->postimeout;
++      timeout = dataset->head.timeout = t + db->postimeout;
+       dataset->resp.version = NSCD_VERSION;
+       dataset->resp.found = 1;
+@@ -328,6 +332,8 @@ cache_addserv (struct database_dyn *db, 
+       dbg_log (_("short write in %s: %s"),  __FUNCTION__,
+              strerror_r (errno, buf, sizeof (buf)));
+     }
++
++  return timeout;
+ }
+@@ -354,7 +360,7 @@ lookup (int type, char *key, struct serv
+ }
+-static void
++static time_t
+ addservbyX (struct database_dyn *db, int fd, request_header *req,
+           char *key, uid_t uid, struct hashentry *he, struct datahead *dh)
+ {
+@@ -409,10 +415,12 @@ addservbyX (struct database_dyn *db, int
+       buffer = (char *) extend_alloca (buffer, buflen, 2 * buflen);
+     }
+-  cache_addserv (db, fd, req, key, serv, uid, he, dh, errval);
++  time_t timeout = cache_addserv (db, fd, req, key, serv, uid, he, dh, errval);
+   if (use_malloc)
+     free (buffer);
++
++  return timeout;
+ }
+@@ -424,7 +432,7 @@ addservbyname (struct database_dyn *db, 
+ }
+-void
++time_t
+ readdservbyname (struct database_dyn *db, struct hashentry *he,
+                struct datahead *dh)
+ {
+@@ -434,7 +442,7 @@ readdservbyname (struct database_dyn *db
+       .key_len = he->len
+     };
+-  addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
+@@ -446,7 +454,7 @@ addservbyport (struct database_dyn *db, 
+ }
+-void
++time_t
+ readdservbyport (struct database_dyn *db, struct hashentry *he,
+                struct datahead *dh)
+ {
+@@ -456,5 +464,5 @@ readdservbyport (struct database_dyn *db
+       .key_len = he->len
+     };
+-  addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
++  return addservbyX (db, -1, &req, db->data + he->key, he->owner, he, dh);
+ }
diff --git a/src/patches/glibc/glibc-rh705465.patch b/src/patches/glibc/glibc-rh705465.patch
new file mode 100644 (file)
index 0000000..63b971e
--- /dev/null
@@ -0,0 +1,449 @@
+2011-11-07  Andreas Schwab  <schwab@redhat.com>
+
+       * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn):
+       Fix size of allocated buffer.
+
+2011-05-10  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #11257]
+       * grp/initgroups.c (internal_getgrouplist): When we found the service
+       list through the initgroups entry in nsswitch.conf do not always
+       continue on a successful lookup.  Don't always use the
+       __nss_group_data-ase value if it is set.
+       * nss/nsswitch.conf (initgroups): Change action for successful db
+       lookup to continue for compatibility.
+
+2011-05-06  Ulrich Drepper  <drepper@gmail.com>
+
+       * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Return
+       NSS_STATUS_NOTFOUND if no record was found.
+
+2011-04-29  Ulrich Drepper  <drepper@gmail.com>
+
+       * grp/initgroups.c (internal_getgrouplist): Prefer initgroups setting
+       to groups setting in database lookup.
+       * nss/nsswitch.conf: Add initgroups entry.
+
+2011-04-21  Ulrich Drepper  <drepper@gmail.com>
+
+       * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Fix
+       problem in reallocation in last patch.
+
+2011-04-19  Ulrich Drepper  <drepper@gmail.com>
+
+       * nss/nss_files/files-initgroups.c: New file.
+       * nss/Makefile (libnss_files-routines): Add files-initgroups.
+       * nss/Versions (libnss_files) [GLIBC_PRIVATE]: Export
+       _nss_files_initgroups_dyn.
+
+2011-01-13  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #10484]
+       * nss/nss_files/files-hosts.c (HOST_DB_LOOKUP): Handle overflows of
+       temporary buffer used to handle multi lookups locally.
+       * include/alloca.h: Add libc_hidden_proto for __libc_alloca_cutoff.
+
+2011-01-13  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #10484]
+       * Versions [libc] (GLIBC_PRIVATE): Export __libc_alloca_cutoff.
+       * alloca_cutoff.c: Add libc_hidden_def.
+
+Index: glibc-2.12-2-gc4ccff1/grp/initgroups.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/grp/initgroups.c
++++ glibc-2.12-2-gc4ccff1/grp/initgroups.c
+@@ -43,6 +43,8 @@ extern int __nss_group_lookup (service_u
+ extern void *__nss_lookup_function (service_user *ni, const char *fct_name);
+ extern service_user *__nss_group_database attribute_hidden;
++static service_user *initgroups_database;
++static bool use_initgroups_entry;
+ #include "compat-initgroups.c"
+@@ -67,32 +69,41 @@ internal_getgrouplist (const char *user,
+     }
+ #endif
+-  service_user *nip = NULL;
+-  initgroups_dyn_function fct;
+   enum nss_status status = NSS_STATUS_UNAVAIL;
+-  int no_more;
+-  /* Start is one, because we have the first group as parameter.  */
+-  long int start = 1;
++  int no_more = 0;
+   /* Never store more than the starting *SIZE number of elements.  */
+   assert (*size > 0);
+   (*groupsp)[0] = group;
++  /* Start is one, because we have the first group as parameter.  */
++  long int start = 1;
+-  if (__nss_group_database != NULL)
++  if (initgroups_database == NULL)
+     {
+-      no_more = 0;
+-      nip = __nss_group_database;
++      no_more = __nss_database_lookup ("initgroups", NULL, "",
++                                     &initgroups_database);
++      if (no_more == 0 && initgroups_database == NULL)
++      {
++        if (__nss_group_database == NULL)
++          no_more = __nss_database_lookup ("group", NULL, "compat files",
++                                           &__nss_group_database);
++
++        initgroups_database = __nss_group_database;
++      }
++      else if (initgroups_database != NULL)
++      {
++        assert (no_more == 0);
++        use_initgroups_entry = true;
++      }
+     }
+-  else
+-    no_more = __nss_database_lookup ("group", NULL,
+-                                   "compat [NOTFOUND=return] files", &nip);
++  service_user *nip = initgroups_database;
+   while (! no_more)
+     {
+       long int prev_start = start;
+-      fct = __nss_lookup_function (nip, "initgroups_dyn");
+-
++      initgroups_dyn_function fct = __nss_lookup_function (nip,
++                                                         "initgroups_dyn");
+       if (fct == NULL)
+       status = compat_call (nip, user, group, &start, size, groupsp,
+                             limit, &errno);
+@@ -119,7 +130,13 @@ internal_getgrouplist (const char *user,
+       if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN)
+       __libc_fatal ("illegal status in internal_getgrouplist");
+-      if (status != NSS_STATUS_SUCCESS
++      /* For compatibility reason we will continue to look for more
++       entries using the next service even though data has already
++       been found if the nsswitch.conf file contained only a 'groups'
++       line and no 'initgroups' line.  If the latter is available
++       we always respect the status.  This means that the default
++       for successful lookups is to return.  */
++      if ((use_initgroups_entry || status != NSS_STATUS_SUCCESS)
+         && nss_next_action (nip, status) == NSS_ACTION_RETURN)
+        break;
+Index: glibc-2.12-2-gc4ccff1/include/alloca.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/include/alloca.h
++++ glibc-2.12-2-gc4ccff1/include/alloca.h
+@@ -14,6 +14,7 @@ extern void *__alloca (size_t __size);
+ extern int __libc_use_alloca (size_t size) __attribute__ ((const));
+ extern int __libc_alloca_cutoff (size_t size) __attribute__ ((const));
++libc_hidden_proto (__libc_alloca_cutoff)
+ #define __MAX_ALLOCA_CUTOFF   65536
+Index: glibc-2.12-2-gc4ccff1/nptl/Versions
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/Versions
++++ glibc-2.12-2-gc4ccff1/nptl/Versions
+@@ -27,6 +27,7 @@ libc {
+     pthread_cond_broadcast; pthread_cond_timedwait;
+   }
+   GLIBC_PRIVATE {
++    __libc_alloca_cutoff;
+     # Internal libc interface to libpthread
+     __libc_dl_error_tsd;
+   }
+Index: glibc-2.12-2-gc4ccff1/nptl/alloca_cutoff.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/alloca_cutoff.c
++++ glibc-2.12-2-gc4ccff1/nptl/alloca_cutoff.c
+@@ -34,3 +34,4 @@ __libc_alloca_cutoff (size_t size)
+                         assume the maximum available stack space.  */
+                      ?: __MAX_ALLOCA_CUTOFF * 4));
+ }
++libc_hidden_def (__libc_alloca_cutoff)
+Index: glibc-2.12-2-gc4ccff1/nss/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nss/Makefile
++++ glibc-2.12-2-gc4ccff1/nss/Makefile
+@@ -63,7 +63,7 @@ vpath %.c $(subdir-dirs)
+ libnss_files-routines := $(addprefix files-,$(databases)) \
+-                         files-have_o_cloexec
++                         files-initgroups files-have_o_cloexec
+ distribute            += files-XXX.c files-parse.c
+Index: glibc-2.12-2-gc4ccff1/nss/Versions
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nss/Versions
++++ glibc-2.12-2-gc4ccff1/nss/Versions
+@@ -95,5 +95,7 @@ libnss_files {
+     _nss_netgroup_parseline;
+     _nss_files_getpublickey;
+     _nss_files_getsecretkey;
++
++    _nss_files_initgroups_dyn;
+   }
+ }
+Index: glibc-2.12-2-gc4ccff1/nss/nss_files/files-hosts.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nss/nss_files/files-hosts.c
++++ glibc-2.12-2-gc4ccff1/nss/nss_files/files-hosts.c
+@@ -129,19 +129,22 @@ _nss_files_get##name##_r (proto,                                    
+         && _res_hconf.flags & HCONF_FLAG_MULTI)                             \
+       {                                                                     \
+         /* We have to get all host entries from the file.  */               \
+-        const size_t tmp_buflen = MIN (buflen, 4096);                       \
+-        char tmp_buffer[tmp_buflen]                                         \
++        size_t tmp_buflen = MIN (buflen, 4096);                             \
++        char tmp_buffer_stack[tmp_buflen]                                   \
+           __attribute__ ((__aligned__ (__alignof__ (struct hostent_data))));\
++        char *tmp_buffer = tmp_buffer_stack;                                \
+         struct hostent tmp_result_buf;                                      \
+         int naddrs = 1;                                                     \
+         int naliases = 0;                                                   \
+         char *bufferend;                                                    \
++        bool tmp_buffer_malloced = false;                                   \
+                                                                             \
+         while (result->h_aliases[naliases] != NULL)                         \
+           ++naliases;                                                       \
+                                                                             \
+         bufferend = (char *) &result->h_aliases[naliases + 1];              \
+                                                                             \
++      again:                                                                \
+         while ((status = internal_getent (&tmp_result_buf, tmp_buffer,      \
+                                           tmp_buflen, errnop H_ERRNO_ARG    \
+                                           EXTRA_ARGS_VALUE))                \
+@@ -182,7 +185,7 @@ _nss_files_get##name##_r (proto,                                      
+                   }                                                         \
+                 /* If the real name is different add it also to the         \
+                    aliases.  This means that there is a duplication         \
+-                   in the alias list but this is really the users           \
++                   in the alias list but this is really the user's          \
+                    problem.  */                                             \
+                 if (strcmp (old_result->h_name,                             \
+                             tmp_result_buf.h_name) != 0)                    \
+@@ -204,7 +207,7 @@ _nss_files_get##name##_r (proto,                                      
+                     *errnop = ERANGE;                                       \
+                     *herrnop = NETDB_INTERNAL;                              \
+                     status = NSS_STATUS_TRYAGAIN;                           \
+-                    break;                                                  \
++                    goto out;                                               \
+                   }                                                         \
+                                                                             \
+                 new_h_addr_list =                                           \
+@@ -268,8 +271,54 @@ _nss_files_get##name##_r (proto,                                     
+               }                                                             \
+           }                                                                 \
+                                                                             \
+-        if (status != NSS_STATUS_TRYAGAIN)                                  \
++        if (status == NSS_STATUS_TRYAGAIN)                                  \
++          {                                                                 \
++            size_t newsize = 2 * tmp_buflen;                                \
++            if (tmp_buffer_malloced)                                        \
++              {                                                             \
++                char *newp = realloc (tmp_buffer, newsize);                 \
++                if (newp != NULL)                                           \
++                  {                                                         \
++                    assert ((((uintptr_t) newp)                             \
++                             & (__alignof__ (struct hostent_data) - 1))     \
++                            == 0);                                          \
++                    tmp_buffer = newp;                                      \
++                    tmp_buflen = newsize;                                   \
++                    goto again;                                             \
++                  }                                                         \
++              }                                                             \
++            else if (!__libc_use_alloca (buflen + newsize))                 \
++              {                                                             \
++                tmp_buffer = malloc (newsize);                              \
++                if (tmp_buffer != NULL)                                     \
++                  {                                                         \
++                    assert ((((uintptr_t) tmp_buffer)                       \
++                             & (__alignof__ (struct hostent_data) - 1))     \
++                            == 0);                                          \
++                    tmp_buffer_malloced = true;                             \
++                    tmp_buflen = newsize;                                   \
++                    goto again;                                             \
++                  }                                                         \
++              }                                                             \
++            else                                                            \
++              {                                                             \
++                tmp_buffer                                                  \
++                  = extend_alloca (tmp_buffer, tmp_buflen,                  \
++                                   newsize                                  \
++                                   + __alignof__ (struct hostent_data));    \
++                tmp_buffer = (char *) (((uintptr_t) tmp_buffer              \
++                                        + __alignof__ (struct hostent_data) \
++                                        - 1)                                \
++                                       & ~(__alignof__ (struct hostent_data)\
++                                           - 1));                           \
++                goto again;                                                 \
++              }                                                             \
++          }                                                                 \
++        else                                                                \
+           status = NSS_STATUS_SUCCESS;                                      \
++      out:                                                                  \
++        if (tmp_buffer_malloced)                                            \
++          free (tmp_buffer);                                                \
+       }                                                                     \
+                                                                             \
+                                                                             \
+Index: glibc-2.12-2-gc4ccff1/nss/nss_files/files-initgroups.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/nss/nss_files/files-initgroups.c
+@@ -0,0 +1,137 @@
++/* Initgroups handling in nss_files module.
++   Copyright (C) 2011 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <alloca.h>
++#include <errno.h>
++#include <grp.h>
++#include <nss.h>
++#include <stdio_ext.h>
++#include <string.h>
++#include <sys/param.h>
++
++enum nss_status
++_nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
++                         long int *size, gid_t **groupsp, long int limit,
++                         int *errnop)
++{
++  FILE *stream = fopen ("/etc/group", "re");
++  if (stream == NULL)
++    {
++      *errnop = errno;
++      return *errnop == ENOMEM ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL;
++    }
++
++  /* No other thread using this stream.  */
++  __fsetlocking (stream, FSETLOCKING_BYCALLER);
++
++  char *line = NULL;
++  size_t linelen = 0;
++  enum nss_status status = NSS_STATUS_SUCCESS;
++  bool any = false;
++
++  size_t buflen = 1024;
++  void *buffer = alloca (buflen);
++  bool buffer_use_malloc = false;
++
++  gid_t *groups = *groupsp;
++
++  /* We have to iterate over the entire file.  */
++  while (!feof_unlocked (stream))
++    {
++      ssize_t n = getline (&line, &linelen, stream);
++      if (n < 0)
++      {
++        if (! feof_unlocked (stream))
++          status = ((*errnop = errno) == ENOMEM
++                    ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL);
++        break;
++      }
++
++      struct group grp;
++      int res;
++      while ((res = _nss_files_parse_grent (line, &grp, buffer, buflen,
++                                          errnop)) == -1)
++      {
++        size_t newbuflen = 2 * buflen;
++        if (buffer_use_malloc || ! __libc_use_alloca (buflen + newbuflen))
++          {
++            void *newbuf = realloc (buffer_use_malloc ? buffer : NULL,
++                                    newbuflen);
++            if (newbuf == NULL)
++              {
++                *errnop = ENOMEM;
++                status = NSS_STATUS_TRYAGAIN;
++                goto out;
++              }
++            buffer = newbuf;
++            buflen = newbuflen;
++            buffer_use_malloc = true;
++          }
++        else
++          buffer = extend_alloca (buffer, buflen, newbuflen);
++      }
++
++      if (res > 0 && grp.gr_gid != group)
++      for (char **m = grp.gr_mem; *m != NULL; ++m)
++        if (strcmp (*m, user) == 0)
++          {
++            /* Matches user.  Insert this group.  */
++            if (*start == *size)
++              {
++                /* Need a bigger buffer.  */
++                if (limit > 0 && *size == limit)
++                  /* We reached the maximum.  */
++                  goto out;
++
++                long int newsize;
++                if (limit <= 0)
++                  newsize = 2 * *size;
++                else
++                  newsize = MIN (limit, 2 * *size);
++
++                gid_t *newgroups = realloc (groups,
++                                            newsize * sizeof (*groups));
++                if (newgroups == NULL)
++                  {
++                    *errnop = ENOMEM;
++                    status = NSS_STATUS_TRYAGAIN;
++                    goto out;
++                  }
++                *groupsp = groups = newgroups;
++                *size = newsize;
++              }
++
++            groups[*start] = grp.gr_gid;
++            *start += 1;
++            any = true;
++
++            break;
++          }
++    }
++
++ out:
++  /* Free memory.  */
++  if (buffer_use_malloc)
++    free (buffer);
++  free (line);
++
++  fclose (stream);
++
++  return status == NSS_STATUS_SUCCESS && !any ? NSS_STATUS_NOTFOUND : status;
++}
+Index: glibc-2.12-2-gc4ccff1/nss/nsswitch.conf
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nss/nsswitch.conf
++++ glibc-2.12-2-gc4ccff1/nss/nsswitch.conf
+@@ -5,6 +5,7 @@
+ passwd:               db files
+ group:                db files
++initgroups:   db [SUCCESS=continue] files
+ shadow:               db files
+ gshadow:      files
diff --git a/src/patches/glibc/glibc-rh711927.patch b/src/patches/glibc/glibc-rh711927.patch
new file mode 100644 (file)
index 0000000..26949fe
--- /dev/null
@@ -0,0 +1,503 @@
+Index: glibc-2.12-2-gc4ccff1/config.h.in
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/config.h.in
++++ glibc-2.12-2-gc4ccff1/config.h.in
+@@ -201,6 +201,9 @@
+ /* Define if multi-arch DSOs should be generated.  */
+ #undef USE_MULTIARCH
++/* Define if Systemtap <sys/sdt.h> probes should be defined.  */
++#undef USE_STAP_PROBE
++
+ /*
\f */
+Index: glibc-2.12-2-gc4ccff1/configure
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/configure
++++ glibc-2.12-2-gc4ccff1/configure
+@@ -830,6 +830,7 @@ enable_all_warnings
+ enable_multi_arch
+ enable_experimental_malloc
+ enable_nss_crypt
++enable_systemtap
+ with_cpu
+ '
+       ac_precious_vars='build_alias
+@@ -1501,6 +1502,7 @@ Optional Features:
+   --enable-experimental-malloc
+                           enable experimental malloc features
+   --enable-nss-crypt      enable libcrypt to use nss
++  --enable-systemtap      enable systemtap static probe points [default=no]
+ Optional Packages:
+   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+@@ -3932,6 +3934,79 @@ else
+ fi
++# Check whether --enable-systemtap was given.
++if test "${enable_systemtap+set}" = set; then
++  enableval=$enable_systemtap; systemtap=$enableval
++else
++  systemtap=no
++fi
++
++if test x$systemtap != xno; then
++
++  { $as_echo "$as_me:$LINENO: checking for systemtap static probe support" >&5
++$as_echo_n "checking for systemtap static probe support... " >&6; }
++if test "${libc_cv_sdt+set}" = set; then
++  $as_echo_n "(cached) " >&6
++else
++    old_CFLAGS="$CFLAGS"
++  CFLAGS="-std=gnu99 $CFLAGS"
++  cat >conftest.$ac_ext <<_ACEOF
++#include <sys/sdt.h>
++void foo (int i, void *p)
++{
++  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
++       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++  (eval "$ac_compile") 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && {
++       test -z "$ac_c_werror_flag" ||
++       test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then
++  libc_cv_sdt=yes
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++      libc_cv_sdt=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS="$old_CFLAGS"
++fi
++{ $as_echo "$as_me:$LINENO: result: $libc_cv_sdt" >&5
++$as_echo "$libc_cv_sdt" >&6; }
++  if test $libc_cv_sdt = yes; then
++    cat >>confdefs.h <<\_ACEOF
++#define USE_STAP_PROBE 1
++_ACEOF
++
++  else
++    { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++{ { $as_echo "$as_me:$LINENO: error: systemtap support needs sys/sdt.h with asm support
++See \`config.log' for more details." >&5
++$as_echo "$as_me: error: systemtap support needs sys/sdt.h with asm support
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }; }
++  fi
++
++fi
++
++
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+ # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
+Index: glibc-2.12-2-gc4ccff1/configure.in
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/configure.in
++++ glibc-2.12-2-gc4ccff1/configure.in
+@@ -319,6 +319,29 @@ else
+ fi
+ AC_SUBST(libc_cv_nss_crypt)
++AC_ARG_ENABLE([systemtap],
++              [AS_HELP_STRING([--enable-systemtap],
++             [enable systemtap static probe points @<:@default=no@:>@])],
++              [systemtap=$enableval],
++            [systemtap=no])
++AS_IF([test x$systemtap != xno], [
++  AC_CACHE_CHECK([for systemtap static probe support], libc_cv_sdt, [dnl
++  old_CFLAGS="$CFLAGS"
++  CFLAGS="-std=gnu99 $CFLAGS"
++  AC_COMPILE_IFELSE([#include <sys/sdt.h>
++void foo (int i, void *p)
++{
++  asm ("" STAP_PROBE_ASM (foo, bar, STAP_PROBE_ASM_TEMPLATE (2)) ""
++       :: STAP_PROBE_ASM_OPERANDS (2, i, p));
++}], [libc_cv_sdt=yes], [libc_cv_sdt=no])
++  CFLAGS="$old_CFLAGS"])
++  if test $libc_cv_sdt = yes; then
++    AC_DEFINE([USE_STAP_PROBE])
++  else
++    AC_MSG_FAILURE([systemtap support needs sys/sdt.h with asm support])
++  fi
++])
++
+ # The way shlib-versions is used to generate soversions.mk uses a
+ # fairly simplistic model for name recognition that can't distinguish
+ # i486-pc-linux-gnu fully from i486-pc-gnu.  So we mutate a $host_os
+Index: glibc-2.12-2-gc4ccff1/elf/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/Makefile
++++ glibc-2.12-2-gc4ccff1/elf/Makefile
+@@ -458,7 +458,8 @@ CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'
+ CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
+ CFLAGS-cache.c = $(SYSCONF-FLAGS)
+-CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),-DNOT_IN_libc=1 -DIS_IN_rtld=1)
++CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
++                   -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
+ test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
+ generated += $(addsuffix .so,$(strip $(modules-names)))
+Index: glibc-2.12-2-gc4ccff1/elf/dl-close.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-close.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-close.c
+@@ -32,6 +32,7 @@
+ #include <sys/mman.h>
+ #include <sysdep-cancel.h>
+ #include <tls.h>
++#include <stap-probe.h>
+ /* Type of the constructor functions.  */
+@@ -469,6 +470,7 @@ _dl_close_worker (struct link_map *map)
+   struct r_debug *r = _dl_debug_initialize (0, nsid);
+   r->r_state = RT_DELETE;
+   _dl_debug_state ();
++  LIBC_PROBE (rtld_unmap_start, 2, nsid, r);
+   if (unload_global)
+     {
+@@ -722,6 +724,7 @@ _dl_close_worker (struct link_map *map)
+   /* Notify the debugger those objects are finalized and gone.  */
+   r->r_state = RT_CONSISTENT;
+   _dl_debug_state ();
++  LIBC_PROBE (rtld_unmap_complete, 2, nsid, r);
+   /* Recheck if we need to retry, release the lock.  */
+  out:
+Index: glibc-2.12-2-gc4ccff1/elf/dl-load.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-load.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-load.c
+@@ -36,6 +36,7 @@
+ #include <stackinfo.h>
+ #include <caller.h>
+ #include <sysdep.h>
++#include <stap-probe.h>
+ #include <dl-dst.h>
+@@ -806,7 +807,7 @@ _dl_init_paths (const char *llp)
+ static void
+ __attribute__ ((noreturn, noinline))
+ lose (int code, int fd, const char *name, char *realname, struct link_map *l,
+-      const char *msg, struct r_debug *r)
++      const char *msg, struct r_debug *r, Lmid_t nsid)
+ {
+   /* The file might already be closed.  */
+   if (fd != -1)
+@@ -818,6 +819,7 @@ lose (int code, int fd, const char *name
+     {
+       r->r_state = RT_CONSISTENT;
+       _dl_debug_state ();
++      LIBC_PROBE (rtld_map_complete, 2, nsid, r);
+     }
+   _dl_signal_error (code, name, NULL, msg);
+@@ -856,7 +858,7 @@ _dl_map_object_from_fd (const char *name
+       errval = errno;
+     call_lose:
+       lose (errval, fd, name, realname, l, errstring,
+-          make_consistent ? r : NULL);
++          make_consistent ? r : NULL, nsid);
+     }
+   /* Look again to see if the real name matched another already loaded.  */
+@@ -963,6 +965,7 @@ _dl_map_object_from_fd (const char *name
+        linking has not been used before.  */
+       r->r_state = RT_ADD;
+       _dl_debug_state ();
++      LIBC_PROBE (rtld_map_start, 2, nsid, r);
+       make_consistent = true;
+     }
+   else
+@@ -1656,7 +1659,7 @@ open_verify (const char *name, struct fi
+             name = strdupa (realname);
+             free (realname);
+           }
+-        lose (errval, fd, name, NULL, NULL, errstring, NULL);
++        lose (errval, fd, name, NULL, NULL, errstring, NULL, 0);
+       }
+       /* See whether the ELF header is what we expect.  */
+Index: glibc-2.12-2-gc4ccff1/elf/dl-open.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/dl-open.c
++++ glibc-2.12-2-gc4ccff1/elf/dl-open.c
+@@ -33,6 +33,7 @@
+ #include <caller.h>
+ #include <sysdep-cancel.h>
+ #include <tls.h>
++#include <stap-probe.h>
+ #include <dl-dst.h>
+@@ -297,6 +298,7 @@ dl_open_worker (void *a)
+   struct r_debug *r = _dl_debug_initialize (0, args->nsid);
+   r->r_state = RT_CONSISTENT;
+   _dl_debug_state ();
++  LIBC_PROBE (rtld_map_complete, 2, args->nsid, r);
+   /* Only do lazy relocation if `LD_BIND_NOW' is not set.  */
+   int reloc_mode = mode & __RTLD_AUDIT;
+@@ -309,10 +311,18 @@ dl_open_worker (void *a)
+   struct link_map *l = new;
+   while (l->l_next)
+     l = l->l_next;
++  int relocation_in_progress = 0;
+   while (1)
+     {
+       if (! l->l_real->l_relocated)
+       {
++        if (! relocation_in_progress)
++          {
++            /* Notify the debugger that relocations are about to happen.  */
++            LIBC_PROBE (rtld_reloc_start, 2, args->nsid, r);
++            relocation_in_progress = 1;
++          }
++
+ #ifdef SHARED
+         if (__builtin_expect (GLRO(dl_profile) != NULL, 0))
+           {
+@@ -460,6 +470,10 @@ cannot load any more object with static 
+     _dl_fatal_printf (N_("\
+ TLS generation counter wrapped!  Please report this."));
++  /* Notify the debugger all new objects have been relocated.  */
++  if (relocation_in_progress)
++    LIBC_PROBE (rtld_reloc_complete, 2, args->nsid, r);
++
+   /* Run the initializer functions of new objects.  */
+   _dl_init (new, args->argc, args->argv, args->env);
+Index: glibc-2.12-2-gc4ccff1/elf/rtld-Rules
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/rtld-Rules
++++ glibc-2.12-2-gc4ccff1/elf/rtld-Rules
+@@ -122,6 +122,6 @@ ifdef rtld-depfiles
+ endif
+ # This here is the whole point of all the shenanigans.
+-rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1
++rtld-CPPFLAGS := -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld
+ endif
+Index: glibc-2.12-2-gc4ccff1/elf/rtld.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/rtld.c
++++ glibc-2.12-2-gc4ccff1/elf/rtld.c
+@@ -40,6 +40,7 @@
+ #include <dl-osinfo.h>
+ #include <dl-procinfo.h>
+ #include <tls.h>
++#include <stap-probe.h>
+ #include <assert.h>
+@@ -1656,6 +1657,7 @@ ERROR: ld.so: object '%s' cannot be load
+   /* We start adding objects.  */
+   r->r_state = RT_ADD;
+   _dl_debug_state ();
++  LIBC_PROBE (rtld_init_start, 2, LM_ID_BASE, r);
+   /* Auditing checkpoint: we are ready to signal that the initial map
+      is being constructed.  */
+@@ -2353,6 +2355,7 @@ ERROR: ld.so: object '%s' cannot be load
+   r = _dl_debug_initialize (0, LM_ID_BASE);
+   r->r_state = RT_CONSISTENT;
+   _dl_debug_state ();
++  LIBC_PROBE (rtld_init_complete, 2, LM_ID_BASE, r);
+ #ifndef MAP_COPY
+   /* We must munmap() the cache file.  */
+Index: glibc-2.12-2-gc4ccff1/extra-lib.mk
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/extra-lib.mk
++++ glibc-2.12-2-gc4ccff1/extra-lib.mk
+@@ -101,4 +101,4 @@ ifneq (,$(cpp-srcs-left))
+ include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
+ endif
+-CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1
++CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib)
+Index: glibc-2.12-2-gc4ccff1/include/stap-probe.h
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/include/stap-probe.h
+@@ -0,0 +1,140 @@
++/* Macros for defining Systemtap <sys/sdt.h> static probe points.
++   Copyright (C) 2011 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#ifndef _STAP_PROBE_H
++#define _STAP_PROBE_H 1
++
++#ifdef USE_STAP_PROBE
++
++# include <sys/sdt.h>
++
++/* Our code uses one macro LIBC_PROBE (name, n, arg1, ..., argn).
++
++   Without USE_STAP_PROBE, that does nothing but evaluates all
++   its arguments (to prevent bit rot, unlike e.g. assert).
++
++   Systemtap's header defines the macros STAP_PROBE (provider, name) and
++   STAP_PROBEn (provider, name, arg1, ..., argn).  For "provider" we paste
++   in the IN_LIB name (libc, libpthread, etc.) automagically.  */
++
++# ifndef NOT_IN_libc
++#  define IN_LIB      libc
++# elif !defined IN_LIB
++/* This is intentionally defined with extra unquoted commas in it so
++   that macro substitution will bomb out when it is used.  We don't
++   just use #error here, so that this header can be included by
++   other headers that use LIBC_PROBE inside their own macros.  We
++   only want such headers to fail to compile if those macros are
++   actually used in a context where IN_LIB has not been defined.  */
++#  define IN_LIB      ,,,missing -DIN_LIB=... -- not extra-lib.mk?,,,
++# endif
++
++# define LIBC_PROBE(name, n, ...)     \
++  LIBC_PROBE_1 (IN_LIB, name, n, ## __VA_ARGS__)
++
++# define LIBC_PROBE_1(lib, name, n, ...) \
++  STAP_PROBE##n (lib, name, ## __VA_ARGS__)
++
++# define STAP_PROBE0          STAP_PROBE
++
++# define LIBC_PROBE_ASM(name, template) \
++  STAP_PROBE_ASM (IN_LIB, name, template)
++
++# define LIBC_PROBE_ASM_OPERANDS STAP_PROBE_ASM_OPERANDS
++
++#else  /* Not USE_STAP_PROBE.  */
++
++# ifndef __ASSEMBLER__
++#  define LIBC_PROBE(name, n, ...)            DUMMY_PROBE##n (__VA_ARGS__)
++# else
++#  define LIBC_PROBE(name, n, ...)            /* Nothing.  */
++# endif
++
++# define LIBC_PROBE_ASM(name, template)               /* Nothing.  */
++# define LIBC_PROBE_ASM_OPERANDS(n, ...)      /* Nothing.  */
++
++/* This silliness lets us evaluate all the arguments for each arity
++   of probe.  My kingdom for a real macro system.  */
++
++# define DUMMY_PROBE0()                       do {} while (0)
++# define DUMMY_PROBE1(a1)             do {} while ((void) (a1), 0)
++# define DUMMY_PROBE2(a1, a2)         do {} while ((void) (a1), \
++                                                   (void) (a2), 0)
++# define DUMMY_PROBE3(a1, a2, a3)     do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), 0)
++# define DUMMY_PROBE4(a1, a2, a3, a4) do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), 0)
++# define DUMMY_PROBE5(a1, a2, a3, a4, a5)                       \
++                                      do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), \
++                                                   (void) (a5), 0)
++# define DUMMY_PROBE6(a1, a2, a3, a4, a5, a6)                   \
++                                      do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), \
++                                                   (void) (a5), \
++                                                   (void) (a6), 0)
++# define DUMMY_PROBE7(a1, a2, a3, a4, a5, a6, a7)               \
++                                      do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), \
++                                                   (void) (a5), \
++                                                   (void) (a6), \
++                                                   (void) (a7), 0)
++# define DUMMY_PROBE8(a1, a2, a3, a4, a5, a6, a7, a8)           \
++                                      do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), \
++                                                   (void) (a5), \
++                                                   (void) (a6), \
++                                                   (void) (a7), \
++                                                   (void) (a8), 0)
++# define DUMMY_PROBE9(a1, a2, a3, a4, a5, a6, a7, a8, a9)       \
++                                      do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), \
++                                                   (void) (a5), \
++                                                   (void) (a6), \
++                                                   (void) (a7), \
++                                                   (void) (a8), \
++                                                   (void) (a9), 0)
++# define DUMMY_PROBE10(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)         \
++                                      do {} while ((void) (a1), \
++                                                   (void) (a2), \
++                                                   (void) (a3), \
++                                                   (void) (a4), \
++                                                   (void) (a5), \
++                                                   (void) (a6), \
++                                                   (void) (a7), \
++                                                   (void) (a8), \
++                                                   (void) (a9), \
++                                                   (void) (a10), 0)
++
++#endif        /* USE_STAP_PROBE.  */
++
++#endif        /* stap-probe.h */
+Index: glibc-2.12-2-gc4ccff1/scripts/check-local-headers.sh
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/scripts/check-local-headers.sh
++++ glibc-2.12-2-gc4ccff1/scripts/check-local-headers.sh
+@@ -31,6 +31,8 @@ fgrep -v "$includedir/asm" |
+ fgrep -v "$includedir/linux" |
+ fgrep -v "$includedir/selinux" |
+ fgrep -v "$includedir/sys/capability.h" |
++fgrep -v "$includedir/sys/sdt.h" |
++fgrep -v "$includedir/sys/sdt-config.h" |
+ fgrep -v "$includedir/gd" |
+ fgrep -v "$includedir/nss3"; then
+   # If we found a match something is wrong.
diff --git a/src/patches/glibc/glibc-rh711987.patch b/src/patches/glibc/glibc-rh711987.patch
new file mode 100644 (file)
index 0000000..bd286e1
--- /dev/null
@@ -0,0 +1,136 @@
+2010-08-11  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs): Add f_flags
+       field.
+       (struct statfs64): Likewise.
+       (_STATFS_F_FLAGS): Define.
+       * sysdeps/unix/sysv/linux/s390/bits/statfs.h: Likewise.
+       * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
+       Don't define if __ASSUME_STATFS_F_FLAGS is defined.
+       (ST_VALID): Define locally.
+       (INTERNAL_STATVFS): If f_flags has ST_VALID set don't call
+       __statvfs_getflags, use the provided value.
+       * sysdeps/unix/sysv/linux/kernel-features.h: Define
+       __ASSUME_STATFS_F_FLAGS.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/statfs.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/bits/statfs.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/statfs.h
+@@ -42,7 +42,8 @@ struct statfs
+     __fsid_t f_fsid;
+     __SWORD_TYPE f_namelen;
+     __SWORD_TYPE f_frsize;
+-    __SWORD_TYPE f_spare[5];
++    __SWORD_TYPE f_flags;
++    __SWORD_TYPE f_spare[4];
+   };
+ #ifdef __USE_LARGEFILE64
+@@ -58,10 +59,12 @@ struct statfs64
+     __fsid_t f_fsid;
+     __SWORD_TYPE f_namelen;
+     __SWORD_TYPE f_frsize;
+-    __SWORD_TYPE f_spare[5];
++    __SWORD_TYPE f_flags;
++    __SWORD_TYPE f_spare[4];
+   };
+ #endif
+ /* Tell code we have these members.  */
+ #define _STATFS_F_NAMELEN
+ #define _STATFS_F_FRSIZE
++#define _STATFS_F_FLAGS
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/internal_statvfs.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
+@@ -29,6 +29,11 @@
+ #include <sys/statfs.h>
+ #include <sys/statvfs.h>
+ #include "linux_fsinfo.h"
++#include "kernel-features.h"
++
++
++/* Special internal-only bit value.  */
++#define ST_VALID 0x0020
+ #ifndef STATFS
+@@ -37,6 +42,7 @@
+ # define INTERNAL_STATVFS __internal_statvfs
++# ifndef __ASSUME_STATFS_F_FLAGS
+ int
+ __statvfs_getflags (const char *name, int fstype, struct stat64 *st)
+ {
+@@ -200,6 +206,7 @@ __statvfs_getflags (const char *name, in
+   return result;
+ }
++# endif
+ #else
+ extern int __statvfs_getflags (const char *name, int fstype,
+                              struct stat64 *st);
+@@ -240,9 +247,14 @@ INTERNAL_STATVFS (const char *name, stru
+   /* XXX I have no idea how to compute f_favail.  Any idea???  */
+   buf->f_favail = buf->f_ffree;
+-  /* Determining the flags is tricky.  We have to read /proc/mounts or
+-     the /etc/mtab file and search for the entry which matches the given
+-     file.  The way we can test for matching filesystem is using the
+-     device number.  */
+-  buf->f_flag = __statvfs_getflags (name, fsbuf->f_type, st);
++#ifndef __ASSUME_STATFS_F_FLAGS
++  if ((fsbuf->f_flags & ST_VALID) == 0)
++    /* Determining the flags is tricky.  We have to read /proc/mounts or
++       the /etc/mtab file and search for the entry which matches the given
++       file.  The way we can test for matching filesystem is using the
++       device number.  */
++    buf->f_flag = __statvfs_getflags (name, fsbuf->f_type, st);
++  else
++#endif
++    buf->f_flag = fsbuf->f_flags ^ ST_VALID;
+ }
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/kernel-features.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/kernel-features.h
+@@ -552,3 +552,8 @@
+ #if __LINUX_KERNEL_VERSION >= 0x020621
+ # define __ASSUME_RECVMMSG    1
+ #endif
++
++/* statfs fills in f_flags since 2.6.36.  */
++#if __LINUX_KERNEL_VERSION >= 0x020624
++# define __ASSUME_STATFS_F_FLAGS      1
++#endif
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/s390/bits/statfs.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/s390/bits/statfs.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/s390/bits/statfs.h
+@@ -42,7 +42,8 @@ struct statfs
+     __fsid_t f_fsid;
+     int f_namelen;
+     int f_frsize;
+-    int f_spare[5];
++    int f_flags;
++    int f_spare[4];
+   };
+ #ifdef __USE_LARGEFILE64
+@@ -58,10 +59,12 @@ struct statfs64
+     __fsid_t f_fsid;
+     int f_namelen;
+     int f_frsize;
+-    int f_spare[5];
++    int f_flags;
++    int f_spare[4];
+   };
+ #endif
+ /* Tell code we have this member.  */
+ #define _STATFS_F_NAMELEN
+ #define _STATFS_F_FRSIZE
++#define _STATFS_F_FLAGS
diff --git a/src/patches/glibc/glibc-rh712248.patch b/src/patches/glibc/glibc-rh712248.patch
new file mode 100644 (file)
index 0000000..afadc66
--- /dev/null
@@ -0,0 +1,69 @@
+2011-07-07  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12868]
+       * sysdeps/unix/sysv/linux/linux_fsinfo.h: Define Lustre constants.
+       * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
+       Handle Lustre.
+       * sysdeps/unix/sysv/linux/pathconf.c (__statfs_link_max): Likewise.
+       (__statfs_filesize_max): Likewise.
+       Patch mostly by Andreas Dilger <adilger@whamcloud.com>.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/internal_statvfs.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/internal_statvfs.c
+@@ -109,6 +109,9 @@ __statvfs_getflags (const char *name, in
+     case LOGFS_MAGIC_U32:
+       fsname = "logfs";
+       break;
++    case LUSTRE_SUPER_MAGIC:
++      fsname = "lustre";
++      break;
+     }
+   FILE *mtab = __setmntent ("/proc/mounts", "r");
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/linux_fsinfo.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/linux_fsinfo.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/linux_fsinfo.h
+@@ -77,6 +77,9 @@
+ /* Constant that identifies the `logfs´ filesystem.  */
+ #define LOGFS_MAGIC_U32               0xc97e8168u
++/* Constant that identifies the `lustre' filesystem.  */
++#define LUSTRE_SUPER_MAGIC    0x0BD00BD0
++
+ /* Constants that identify the `minix2' filesystem.  */
+ #define MINIX2_SUPER_MAGIC    0x2468
+ #define MINIX2_SUPER_MAGIC2   0x2478
+@@ -144,6 +147,8 @@
+ /* Maximum link counts.  */
+ #define COH_LINK_MAX          10000
+ #define EXT2_LINK_MAX         32000
++#define EXT4_LINK_MAX         65000
++#define LUSTRE_LINK_MAX               EXT4_LINK_MAX
+ #define MINIX2_LINK_MAX               65530
+ #define MINIX_LINK_MAX                250
+ #define REISERFS_LINK_MAX     64535
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/pathconf.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/pathconf.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/pathconf.c
+@@ -104,6 +104,9 @@ __statfs_link_max (int result, const str
+     case XFS_SUPER_MAGIC:
+       return XFS_LINK_MAX;
++    case LUSTRE_SUPER_MAGIC:
++      return LUSTRE_LINK_MAX;
++
+     default:
+       return LINUX_LINK_MAX;
+     }
+@@ -136,6 +139,7 @@ __statfs_filesize_max (int result, const
+     case UDF_SUPER_MAGIC:
+     case JFS_SUPER_MAGIC:
+     case VXFS_SUPER_MAGIC:
++    case LUSTRE_SUPER_MAGIC:
+       return 64;
+     case MSDOS_SUPER_MAGIC:
diff --git a/src/patches/glibc/glibc-rh713134.patch b/src/patches/glibc/glibc-rh713134.patch
new file mode 100644 (file)
index 0000000..dc979be
--- /dev/null
@@ -0,0 +1,36 @@
+2011-03-18  Andreas Schwab  <schwab@redhat.com>
+
+       * elf/ldd.bash.in: Never run file directly.
+
+Index: glibc-2.12-2-gc4ccff1/elf/ldd.bash.in
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/ldd.bash.in
++++ glibc-2.12-2-gc4ccff1/elf/ldd.bash.in
+@@ -167,18 +167,6 @@ warning: you do not have execution permi
+       fi
+     done
+     case $ret in
+-    0)
+-      # If the program exits with exit code 5, it means the process has been
+-      # invoked with __libc_enable_secure.  Fall back to running it through
+-      # the dynamic linker.
+-      try_trace "$file"
+-      rc=$?
+-      if [ $rc = 5 ]; then
+-      try_trace "$RTLD" "$file"
+-      rc=$?
+-      fi
+-      [ $rc = 0 ] || result=1
+-      ;;
+     1)
+       # This can be a non-ELF binary or no binary at all.
+       nonelf "$file" || {
+@@ -186,7 +174,7 @@ warning: you do not have execution permi
+       result=1
+       }
+       ;;
+-    2)
++    0|2)
+       try_trace "$RTLD" "$file" || result=1
+       ;;
+     *)
diff --git a/src/patches/glibc/glibc-rh714823.patch b/src/patches/glibc/glibc-rh714823.patch
new file mode 100644 (file)
index 0000000..8bd121b
--- /dev/null
@@ -0,0 +1,126 @@
+2011-06-28  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't use gethostbyaddr
+       to determine canonical name.
+
+2011-06-22  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/posix/getaddrinfo.c (gaih_inet): Fix last change.
+
+2011-06-21  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #12885]
+       * sysdeps/posix/getaddrinfo.c (gaih_inet): When looking up only IPv6
+       addresses using gethostbyname4_r ignore IPv4 addresses.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/posix/getaddrinfo.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c
+@@ -512,10 +512,11 @@ gaih_inet (const char *name, const struc
+         /* If we do not have to look for IPv4 and IPv6 together, use
+            the simple, old functions.  */
+-        if (req->ai_family == AF_INET
+-            || (req->ai_family == AF_INET6
+-                && ((req->ai_flags & AI_V4MAPPED) == 0
+-                    || (req->ai_flags & AI_ALL) == 0)))
++        if ((req->ai_family == AF_INET
++             || (req->ai_family == AF_INET6
++                 && ((req->ai_flags & AI_V4MAPPED) == 0
++                     || (req->ai_flags & AI_ALL) == 0)))
++            && (req->ai_flags & AI_CANONNAME) == 0)
+           {
+             int family = req->ai_family;
+             size_t tmpbuflen = 512;
+@@ -731,16 +732,44 @@ gaih_inet (const char *name, const struc
+                                             tmpbuflen, 2 * tmpbuflen);
+                   }
+-                no_inet6_data = no_data;
+-
+                 if (status == NSS_STATUS_SUCCESS)
+                   {
++                    assert (!no_data);
++                    no_data = 1;
++
+                     if ((req->ai_flags & AI_CANONNAME) != 0 && canon == NULL)
+                       canon = (*pat)->name;
+                     while (*pat != NULL)
+-                      pat = &((*pat)->next);
++                      {
++                        if ((*pat)->family == AF_INET
++                            && req->ai_family == AF_INET6
++                            && (req->ai_flags & AI_V4MAPPED) != 0)
++                          {
++                            uint32_t *pataddr = (*pat)->addr;
++                            (*pat)->family = AF_INET6;
++                            pataddr[3] = pataddr[0];
++                            pataddr[2] = htonl (0xffff);
++                            pataddr[1] = 0;
++                            pataddr[0] = 0;
++                            pat = &((*pat)->next);
++                            no_data = 0;
++                          }
++                        else if (req->ai_family == AF_UNSPEC
++                                 || (*pat)->family == req->ai_family)
++                          {
++                            pat = &((*pat)->next);
++
++                            no_data = 0;
++                            if (req->ai_family == AF_INET6)
++                              got_ipv6 = true;
++                          }
++                        else
++                          *pat = ((*pat)->next);
++                      }
+                   }
++
++                no_inet6_data = no_data;
+               }
+             else
+               {
+@@ -905,39 +934,9 @@ gaih_inet (const char *name, const struc
+         {
+           if (canon == NULL)
+             {
+-              struct hostent *h = NULL;
+-              int herrno;
+-              struct hostent th;
+-              size_t tmpbuflen = 512;
+-              char *tmpbuf = NULL;
+-
+-              do
+-                {
+-                  tmpbuf = extend_alloca (tmpbuf, tmpbuflen, tmpbuflen * 2);
+-                  rc = __gethostbyaddr_r (at2->addr,
+-                                          ((at2->family == AF_INET6)
+-                                           ? sizeof (struct in6_addr)
+-                                           : sizeof (struct in_addr)),
+-                                          at2->family, &th, tmpbuf,
+-                                          tmpbuflen, &h, &herrno);
+-                }
+-              while (rc == ERANGE && herrno == NETDB_INTERNAL);
+-
+-              if (rc != 0 && herrno == NETDB_INTERNAL)
+-                {
+-                  __set_h_errno (herrno);
+-                  return -EAI_SYSTEM;
+-                }
+-
+-              if (h != NULL)
+-                canon = h->h_name;
+-              else
+-                {
+-                  assert (orig_name != NULL);
+-                  /* If the canonical name cannot be determined, use
+-                     the passed in string.  */
+-                  canon = orig_name;
+-                }
++              /* If the canonical name cannot be determined, use
++                 the passed in string.  */
++              canon = orig_name;
+             }
+ #ifdef HAVE_LIBIDN
diff --git a/src/patches/glibc/glibc-rh718057.patch b/src/patches/glibc/glibc-rh718057.patch
new file mode 100644 (file)
index 0000000..d331996
--- /dev/null
@@ -0,0 +1,109 @@
+2011-07-01  Andreas Schwab  <schwab@redhat.com>
+
+       * nis/nss_compat/compat-pwd.c (getpwent_next_nss_netgr): Query NIS
+       domain only when needed.
+
+Index: glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-pwd.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nis/nss_compat/compat-pwd.c
++++ glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-pwd.c
+@@ -360,7 +360,7 @@ getpwent_next_nss_netgr (const char *nam
+                        char *group, char *buffer, size_t buflen,
+                        int *errnop)
+ {
+-  char *curdomain, *host, *user, *domain, *p2;
++  char *curdomain = NULL, *host, *user, *domain, *p2;
+   int status;
+   size_t p2len;
+@@ -369,15 +369,7 @@ getpwent_next_nss_netgr (const char *nam
+   if (!nss_getpwnam_r)
+     return NSS_STATUS_UNAVAIL;
+-  if (yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
+-    {
+-      ent->netgroup = false;
+-      ent->first = false;
+-      give_pwd_free (&ent->pwd);
+-      return NSS_STATUS_UNAVAIL;
+-    }
+-
+-  if (ent->first == true)
++  if (ent->first)
+     {
+       memset (&ent->netgrdata, 0, sizeof (struct __netgrent));
+       __internal_setnetgrent (group, &ent->netgrdata);
+@@ -403,8 +395,19 @@ getpwent_next_nss_netgr (const char *nam
+       if (user == NULL || user[0] == '-')
+       continue;
+-      if (domain != NULL && strcmp (curdomain, domain) != 0)
+-      continue;
++      if (domain != NULL)
++      {
++        if (curdomain == NULL
++            && yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
++          {
++            __internal_endnetgrent (&ent->netgrdata);
++            ent->netgroup = false;
++            give_pwd_free (&ent->pwd);
++            return NSS_STATUS_UNAVAIL;
++          }
++        if (strcmp (curdomain, domain) != 0)
++          continue;
++      }
+       /* If name != NULL, we are called from getpwnam.  */
+       if (name != NULL)
+Index: glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-spwd.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nis/nss_compat/compat-spwd.c
++++ glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-spwd.c
+@@ -317,7 +317,7 @@ getspent_next_nss_netgr (const char *nam
+                        char *group, char *buffer, size_t buflen,
+                        int *errnop)
+ {
+-  char *curdomain, *host, *user, *domain, *p2;
++  char *curdomain = NULL, *host, *user, *domain, *p2;
+   size_t p2len;
+   if (!nss_getspnam_r)
+@@ -327,15 +327,7 @@ getspent_next_nss_netgr (const char *nam
+   if (ent->setent_status != NSS_STATUS_SUCCESS)
+     return ent->setent_status;
+-  if (yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
+-    {
+-      ent->netgroup = false;
+-      ent->first = false;
+-      give_spwd_free (&ent->pwd);
+-      return NSS_STATUS_UNAVAIL;
+-    }
+-
+-  if (ent->first == true)
++  if (ent->first)
+     {
+       memset (&ent->netgrdata, 0, sizeof (struct __netgrent));
+       __internal_setnetgrent (group, &ent->netgrdata);
+@@ -362,8 +354,19 @@ getspent_next_nss_netgr (const char *nam
+       if (user == NULL || user[0] == '-')
+       continue;
+-      if (domain != NULL && strcmp (curdomain, domain) != 0)
+-      continue;
++      if (domain != NULL)
++      {
++        if (curdomain == NULL
++            && yp_get_default_domain (&curdomain) != YPERR_SUCCESS)
++          {
++            __internal_endnetgrent (&ent->netgrdata);
++            ent->netgroup = false;
++            give_spwd_free (&ent->pwd);
++            return NSS_STATUS_UNAVAIL;
++          }
++        if (strcmp (curdomain, domain) != 0)
++          continue;
++      }
+       /* If name != NULL, we are called from getpwnam */
+       if (name != NULL)
diff --git a/src/patches/glibc/glibc-rh726517.patch b/src/patches/glibc/glibc-rh726517.patch
new file mode 100644 (file)
index 0000000..26addbf
--- /dev/null
@@ -0,0 +1,173 @@
+Index: glibc-2.12-2-gc4ccff1/malloc/arena.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/malloc/arena.c
++++ glibc-2.12-2-gc4ccff1/malloc/arena.c
+@@ -870,7 +870,7 @@ heap_trim(heap, pad) heap_info *heap; si
+     heap = prev_heap;
+     if(!prev_inuse(p)) { /* consolidate backward */
+       p = prev_chunk(p);
+-      unlink(p, bck, fwd);
++      unlink(ar_ptr, p, bck, fwd);
+     }
+     assert(((unsigned long)((char*)p + new_size) & (pagesz-1)) == 0);
+     assert( ((char*)p + new_size) == ((char*)heap + heap->size) );
+Index: glibc-2.12-2-gc4ccff1/malloc/hooks.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/malloc/hooks.c
++++ glibc-2.12-2-gc4ccff1/malloc/hooks.c
+@@ -219,7 +219,9 @@ top_check()
+       (char*)t + chunksize(t) == mp_.sbrk_base + main_arena.system_mem)))
+     return 0;
++  mutex_unlock(&main_arena);
+   malloc_printerr (check_action, "malloc: top chunk is corrupt", t);
++  mutex_lock(&main_arena);
+   /* Try to set up a new top chunk. */
+   brk = MORECORE(0);
+Index: glibc-2.12-2-gc4ccff1/malloc/malloc.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/malloc/malloc.c
++++ glibc-2.12-2-gc4ccff1/malloc/malloc.c
+@@ -2109,12 +2109,14 @@ typedef struct malloc_chunk* mbinptr;
+ #define last(b)      ((b)->bk)
+ /* Take a chunk off a bin list */
+-#define unlink(P, BK, FD) {                                            \
++#define unlink(AV, P, BK, FD) {                                              \
+   FD = P->fd;                                                          \
+   BK = P->bk;                                                          \
+-  if (__builtin_expect (FD->bk != P || BK->fd != P, 0))                \
++  if (__builtin_expect (FD->bk != P || BK->fd != P, 0)) {            \
++    mutex_unlock(&(AV)->mutex);                                              \
+     malloc_printerr (check_action, "corrupted double-linked list", P); \
+-  else {                                                               \
++    mutex_lock(&(AV)->mutex);                                        \
++  } else {                                                           \
+     FD->bk = BK;                                                       \
+     BK->fd = FD;                                                       \
+     if (!in_smallbin_range (P->size)                                 \
+@@ -3257,7 +3259,9 @@ static Void_t* sYSMALLOc(nb, av) INTERNA
+     else if (contiguous(av) && old_size && brk < old_end) {
+       /* Oops!  Someone else killed our space..  Can't touch anything.  */
++      mutex_unlock(&av->mutex);
+       malloc_printerr (3, "break adjusted to free malloc space", brk);
++      mutex_lock(&av->mutex);
+     }
+     /*
+@@ -4305,7 +4309,9 @@ _int_malloc(mstate av, size_t bytes)
+       {
+         errstr = "malloc(): memory corruption (fast)";
+       errout:
++        mutex_unlock(&av->mutex);
+         malloc_printerr (check_action, errstr, chunk2mem (victim));
++        mutex_lock(&av->mutex);
+         return NULL;
+       }
+ #ifndef ATOMIC_FASTBINS
+@@ -4393,8 +4399,12 @@ _int_malloc(mstate av, size_t bytes)
+       bck = victim->bk;
+       if (__builtin_expect (victim->size <= 2 * SIZE_SZ, 0)
+         || __builtin_expect (victim->size > av->system_mem, 0))
+-      malloc_printerr (check_action, "malloc(): memory corruption",
+-                       chunk2mem (victim));
++      {
++        void *p = chunk2mem(victim);
++        mutex_unlock(&av->mutex);
++        malloc_printerr (check_action, "malloc(): memory corruption", p);
++        mutex_lock(&av->mutex);
++      }
+       size = chunksize(victim);
+       /*
+@@ -4535,7 +4545,7 @@ _int_malloc(mstate av, size_t bytes)
+         victim = victim->fd;
+       remainder_size = size - nb;
+-      unlink(victim, bck, fwd);
++      unlink(av, victim, bck, fwd);
+       /* Exhaust */
+       if (remainder_size < MINSIZE)  {
+@@ -4633,7 +4643,7 @@ _int_malloc(mstate av, size_t bytes)
+       remainder_size = size - nb;
+       /* unlink */
+-      unlink(victim, bck, fwd);
++      unlink(av, victim, bck, fwd);
+       /* Exhaust */
+       if (remainder_size < MINSIZE) {
+@@ -4789,10 +4799,14 @@ _int_free(mstate av, mchunkptr p)
+       errstr = "free(): invalid pointer";
+     errout:
+ #ifdef ATOMIC_FASTBINS
+-      if (! have_lock && locked)
++      if (have_lock || locked)
+       (void)mutex_unlock(&av->mutex);
+ #endif
+       malloc_printerr (check_action, errstr, chunk2mem(p));
++#ifdef ATOMIC_FASTBINS
++      if (have_lock)
++      mutex_lock(&av->mutex);
++#endif
+       return;
+     }
+   /* We know that each chunk is at least MINSIZE bytes in size.  */
+@@ -4961,7 +4975,7 @@ _int_free(mstate av, mchunkptr p)
+       prevsize = p->prev_size;
+       size += prevsize;
+       p = chunk_at_offset(p, -((long) prevsize));
+-      unlink(p, bck, fwd);
++      unlink(av, p, bck, fwd);
+     }
+     if (nextchunk != av->top) {
+@@ -4970,7 +4984,7 @@ _int_free(mstate av, mchunkptr p)
+       /* consolidate forward */
+       if (!nextinuse) {
+-      unlink(nextchunk, bck, fwd);
++      unlink(av, nextchunk, bck, fwd);
+       size += nextsize;
+       } else
+       clear_inuse_bit_at_offset(nextchunk, 0);
+@@ -5158,7 +5172,7 @@ static void malloc_consolidate(av) mstat
+           prevsize = p->prev_size;
+           size += prevsize;
+           p = chunk_at_offset(p, -((long) prevsize));
+-          unlink(p, bck, fwd);
++          unlink(av, p, bck, fwd);
+         }
+         if (nextchunk != av->top) {
+@@ -5166,7 +5180,7 @@ static void malloc_consolidate(av) mstat
+           if (!nextinuse) {
+             size += nextsize;
+-            unlink(nextchunk, bck, fwd);
++            unlink(av, nextchunk, bck, fwd);
+           } else
+             clear_inuse_bit_at_offset(nextchunk, 0);
+@@ -5235,7 +5249,9 @@ _int_realloc(mstate av, mchunkptr oldp, 
+     {
+       errstr = "realloc(): invalid old size";
+     errout:
++      mutex_unlock(&av->mutex);
+       malloc_printerr (check_action, errstr, chunk2mem(oldp));
++      mutex_lock(&av->mutex);
+       return NULL;
+     }
+@@ -5282,7 +5298,7 @@ _int_realloc(mstate av, mchunkptr oldp, 
+              (unsigned long)(newsize = oldsize + nextsize) >=
+              (unsigned long)(nb)) {
+       newp = oldp;
+-      unlink(next, bck, fwd);
++      unlink(av, next, bck, fwd);
+       }
+       /* allocate, copy, free */
diff --git a/src/patches/glibc/glibc-rh730379.patch b/src/patches/glibc/glibc-rh730379.patch
new file mode 100644 (file)
index 0000000..45808af
--- /dev/null
@@ -0,0 +1,34 @@
+2011-08-17  Ulrich Drepper  <drepper@gmail.com>
+
+       * Makeconfig (override CFLAGS): Add library-specific CFLAGS.
+       * resolv/Makefile: Define CFLAGS-libresolv.
+
+Index: glibc-2.12-2-gc4ccff1/Makeconfig
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/Makeconfig
++++ glibc-2.12-2-gc4ccff1/Makeconfig
+@@ -700,7 +700,9 @@ CPPFLAGS = $($(subdir)-CPPFLAGS) $(+incl
+ override CFLAGS       = -std=gnu99 $(gnu89-inline-CFLAGS) \
+                 $(filter-out %frame-pointer,$(+cflags)) $(+gccwarn-c) \
+                 $(sysdep-CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) \
+-                $(CFLAGS-$(@F))
++                $(CFLAGS-$(@F)) \
++                $(foreach lib,$(libof-$(basename $(@F))) \
++                              $(libof-$(<F)) $(libof-$(@F)),$(CFLAGS-$(lib)))
+ override CXXFLAGS = $(c++-sysincludes) \
+                   $(filter-out %frame-pointer,$(+cflags)) $(sysdep-CFLAGS) \
+                   $(CFLAGS-$(suffix $@)) $(CFLAGS-$(<F)) $(CFLAGS-$(@F))
+Index: glibc-2.12-2-gc4ccff1/resolv/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/resolv/Makefile
++++ glibc-2.12-2-gc4ccff1/resolv/Makefile
+@@ -76,6 +76,9 @@ CPPFLAGS += -Dgethostbyname=res_gethostb
+           -Dgetnetbyname=res_getnetbyname \
+           -Dgetnetbyaddr=res_getnetbyaddr
++ifeq (yes,$(have-ssp))
++CFLAGS-libresolv += -fstack-protector
++endif
+ CFLAGS-res_hconf.c = -fexceptions
+ CFLAGS-res_send.c += -fno-strict-aliasing
diff --git a/src/patches/glibc/glibc-rh731042.patch b/src/patches/glibc/glibc-rh731042.patch
new file mode 100644 (file)
index 0000000..d2f7b55
--- /dev/null
@@ -0,0 +1,51 @@
+2011-08-08  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/cancellation.S: Maintain aligned
+       stack.
+       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
+@@ -71,7 +71,9 @@ ENTRY(__pthread_enable_asynccancel)
+ 1:    ret
+-3:    movq    $TCB_PTHREAD_CANCELED, %fs:RESULT
++3:    subq    $8, %rsp
++      cfi_adjust_cfa_offset(8)
++      movq    $TCB_PTHREAD_CANCELED, %fs:RESULT
+       lock
+       orl     $TCB_EXITING_BITMASK, %fs:CANCELHANDLING
+       movq    %fs:CLEANUP_JMP_BUF, %rdi
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+@@ -63,9 +63,9 @@ __pthread_cond_timedwait:
+       cfi_adjust_cfa_offset(8)
+       cfi_rel_offset(%r15, 0)
+ #ifdef __ASSUME_FUTEX_CLOCK_REALTIME
+-# define FRAME_SIZE 32
++# define FRAME_SIZE (32+8)
+ #else
+-# define FRAME_SIZE 48
++# define FRAME_SIZE (48+8)
+ #endif
+       subq    $FRAME_SIZE, %rsp
+       cfi_adjust_cfa_offset(FRAME_SIZE)
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+@@ -45,7 +45,7 @@ __pthread_cond_wait:
+       cfi_lsda(DW_EH_PE_udata4, .LexceptSTART)
+ #endif
+-#define FRAME_SIZE 32
++#define FRAME_SIZE (32+8)
+       leaq    -FRAME_SIZE(%rsp), %rsp
+       cfi_adjust_cfa_offset(FRAME_SIZE)
diff --git a/src/patches/glibc/glibc-rh736346.patch b/src/patches/glibc/glibc-rh736346.patch
new file mode 100644 (file)
index 0000000..2dd3f8a
--- /dev/null
@@ -0,0 +1,116 @@
+2011-01-14  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #10563]
+       * sysdeps/unix/sysv/linux/i386/setgroups.c: Use INLINE_SETXID_SYSCALL
+       to make the syscall.
+       * sysdeps/unix/sysv/linux/setgroups.c: New file.
+
+2011-01-14  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #10563]
+       * sysdeps/pthread/setxid.h (__SETXID_1): Add cast to assignment.
+       (__SETXID_2): Likewise.
+       (__SETXID_3): Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/setxid.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/pthread/setxid.h
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/setxid.h
+@@ -20,11 +20,11 @@
+ #include <sysdep.h>
+ #define __SETXID_1(cmd, arg1) \
+-  cmd.id[0] = arg1
++  cmd.id[0] = (long int) arg1
+ #define __SETXID_2(cmd, arg1, arg2) \
+-  __SETXID_1 (cmd, arg1); cmd.id[1] = arg2
++  __SETXID_1 (cmd, arg1); cmd.id[1] = (long int) arg2
+ #define __SETXID_3(cmd, arg1, arg2, arg3) \
+-  __SETXID_2 (cmd, arg1, arg2); cmd.id[2] = arg3
++  __SETXID_2 (cmd, arg1, arg2); cmd.id[2] = (long int) arg3
+ #ifdef SINGLE_THREAD
+ # define INLINE_SETXID_SYSCALL(name, nr, args...) \
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/setgroups.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/i386/setgroups.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/setgroups.c
+@@ -25,6 +25,7 @@
+ #include <sys/syscall.h>
+ #include <bp-checks.h>
++#include <setxid.h>
+ #include <linux/posix_types.h>
+ #include <kernel-features.h>
+@@ -44,7 +45,7 @@ int
+ setgroups (size_t n, const gid_t *groups)
+ {
+ #if __ASSUME_32BITUIDS > 0
+-  return INLINE_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
++  return INLINE_SETXID_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
+ #else
+   if (n > (size_t) __sysconf (_SC_NGROUPS_MAX))
+     {
+@@ -62,7 +63,8 @@ setgroups (size_t n, const gid_t *groups
+         int result;
+         int saved_errno = errno;
+-        result = INLINE_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
++        result = INLINE_SETXID_SYSCALL (setgroups32, 2, n,
++                                        CHECK_N (groups, n));
+         if (result == 0 || errno != ENOSYS)
+           return result;
+@@ -80,7 +82,8 @@ setgroups (size_t n, const gid_t *groups
+           }
+       }
+-      return INLINE_SYSCALL (setgroups, 2, n, CHECK_N (kernel_groups, n));
++      return INLINE_SETXID_SYSCALL (setgroups, 2, n,
++                                  CHECK_N (kernel_groups, n));
+     }
+ #endif
+ }
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/setgroups.c
+===================================================================
+--- /dev/null
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/setgroups.c
+@@ -0,0 +1,37 @@
++/* Copyright (C) 1997,1998,2000,2002,2004,2006,2011
++   Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <errno.h>
++#include <grp.h>
++#include <setxid.h>
++#include <sysdep.h>
++
++
++/* Set the group set for the current user to GROUPS (N of them).  For
++   Linux we must convert the array of groups into the format that the
++   kernel expects.  */
++int
++setgroups (size_t n, const gid_t *groups)
++{
++#ifdef __NR_setgroups32
++# error "wrong setgroups.c file used"
++#endif
++  return INLINE_SETXID_SYSCALL (setgroups, 2, n, groups);
++}
++libc_hidden_def (setgroups)
diff --git a/src/patches/glibc/glibc-rh737778.patch b/src/patches/glibc/glibc-rh737778.patch
new file mode 100644 (file)
index 0000000..5d3c131
--- /dev/null
@@ -0,0 +1,122 @@
+2011-08-14  Roland McGrath  <roland@hack.frob.com>
+
+       * locale/Makefile (locale-CPPFLAGS): Renamed CPPFLAGS-locale-programs.
+       (locale-CPPFLAGS): New variable; put LOCALEDIR, LOCALE_ALIAS_PATH and
+       -Iprograms here.
+       (cppflags-iterator.mk sequence): Use locale-programs in place of nonlib.
+       (localedef-modules): Add localedef.
+       (locale-modules): Add locale.
+
+2011-08-13  Ulrich Drepper  <drepper@gmail.com>
+
+       * intl/l10nflist.c (_nl_normalize_codeset): Make it compile outside
+       of libc.  Make tolower call locale-independent.  Optimize a bit by
+       using isdigit instead of isalnum.
+       * locale/Makefile (locale-CPPFLAGS): Add -DNOT_IN_libc.
+
+2011-08-11  Ulrich Drepper  <drepper@gmail.com>
+
+       * intl/l10nflist.c (_nl_make_l10nflist): Use locale-independent
+       classification.
+
+Index: glibc-2.12-2-gc4ccff1/intl/l10nflist.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/intl/l10nflist.c
++++ glibc-2.12-2-gc4ccff1/intl/l10nflist.c
+@@ -332,13 +332,18 @@ _nl_normalize_codeset (codeset, name_len
+   char *retval;
+   char *wp;
+   size_t cnt;
++#ifdef NOT_IN_libc
++  locale_t locale = newlocale (0, "C", NULL);
++#else
++# define locale _nl_C_locobj_ptr
++#endif
+   for (cnt = 0; cnt < name_len; ++cnt)
+-    if (isalnum ((unsigned char) codeset[cnt]))
++    if (__isalnum_l ((unsigned char) codeset[cnt], locale))
+       {
+       ++len;
+-      if (isalpha ((unsigned char) codeset[cnt]))
++      if (! __isdigit_l ((unsigned char) codeset[cnt], locale))
+         only_digit = 0;
+       }
+@@ -346,15 +351,14 @@ _nl_normalize_codeset (codeset, name_len
+   if (retval != NULL)
+     {
++      wp = retval;
+       if (only_digit)
+-      wp = stpcpy (retval, "iso");
+-      else
+-      wp = retval;
++      wp = stpcpy (wp, "iso");
+       for (cnt = 0; cnt < name_len; ++cnt)
+-      if (isalpha ((unsigned char) codeset[cnt]))
+-        *wp++ = tolower ((unsigned char) codeset[cnt]);
+-      else if (isdigit ((unsigned char) codeset[cnt]))
++      if (__isalpha_l ((unsigned char) codeset[cnt], locale))
++        *wp++ = __tolower_l ((unsigned char) codeset[cnt], locale);
++      else if (__isdigit_l ((unsigned char) codeset[cnt], locale))
+         *wp++ = codeset[cnt];
+       *wp = '\0';
+Index: glibc-2.12-2-gc4ccff1/locale/Makefile
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/locale/Makefile
++++ glibc-2.12-2-gc4ccff1/locale/Makefile
+@@ -59,10 +59,11 @@ vpath %.c programs ../crypt
+ vpath %.h programs
+ vpath %.gperf programs
+-localedef-modules     := $(categories:%=ld-%) charmap linereader locfile \
++localedef-modules     := localedef $(categories:%=ld-%) \
++                         charmap linereader locfile \
+                          repertoire locarchive
+ localedef-aux         := md5
+-locale-modules                := locale-spec
++locale-modules                := locale locale-spec
+ lib-modules           := charmap-dir simple-hash xmalloc xstrdup
+@@ -90,22 +91,27 @@ endif
+ localepath = "$(localedir):$(i18ndir)"
+-locale-CPPFLAGS := -DLOCALE_PATH='$(localepath)' \
+-                 -DLOCALEDIR='"$(localedir)"' \
+-                 -DLOCALE_ALIAS_PATH='"$(msgcatdir)"' \
+-                 -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
+-                 -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \
+-                 -DLOCSRCDIR='"$(i18ndir)/locales"' -DHAVE_CONFIG_H \
+-                 -Iprograms
++# -Iprograms doesn't really belong here, but this gets it at the head
++# of the list instead of the tail, where CPPFLAGS-$(lib) gets added.
++# We need it before the standard -I's to see programs/config.h first.
++locale-CPPFLAGS = -DLOCALEDIR='"$(localedir)"' \
++                -DLOCALE_ALIAS_PATH='"$(msgcatdir)"' \
++                -Iprograms
++
++CPPFLAGS-locale-programs = -DLOCALE_PATH='$(localepath)' \
++                         -DCHARMAP_PATH='"$(i18ndir)/charmaps"' \
++                         -DREPERTOIREMAP_PATH='"$(i18ndir)/repertoiremaps"' \
++                         -DLOCSRCDIR='"$(i18ndir)/locales"' \
++                         -DHAVE_CONFIG_H -DNOT_IN_libc
+ CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
+ CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
+ CFLAGS-charmap-dir.c = -Wno-write-strings
+-# This makes sure -DNOT_IN_libc is passed for all these modules.
++# This makes sure -DNOT_IN_libc et al are passed for all these modules.
+ cpp-srcs-left := $(addsuffix .c,$(localedef-modules) $(localedef-aux) \
+                               $(locale-modules) $(lib-modules))
+-lib := nonlib
++lib := locale-programs
+ include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
+ # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
diff --git a/src/patches/glibc/glibc-rh738665.patch b/src/patches/glibc/glibc-rh738665.patch
new file mode 100644 (file)
index 0000000..1eea554
--- /dev/null
@@ -0,0 +1,149 @@
+2011-09-15  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/pthread/list.h: Define only list_t if __need_list_t is
+       defined.
+       (list_add): Add atomic_write_barrier.
+       * descr.h: Define __need_list_t before including <list.h>.
+       * nptl-init.c: Include <list.h>
+       * allocatestack.c: Likewise.
+
+2011-09-15  Andreas Schwab  <schwab@redhat.com>
+
+       * thread_dbP.h: Include <list.h>
+
+Index: glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/allocatestack.c
++++ glibc-2.12-2-gc4ccff1/nptl/allocatestack.c
+@@ -27,6 +27,7 @@
+ #include <sys/param.h>
+ #include <dl-sysdep.h>
+ #include <tls.h>
++#include <list.h>
+ #include <lowlevellock.h>
+ #include <kernel-features.h>
+Index: glibc-2.12-2-gc4ccff1/nptl/descr.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/descr.h
++++ glibc-2.12-2-gc4ccff1/nptl/descr.h
+@@ -26,6 +26,7 @@
+ #include <stdbool.h>
+ #include <sys/types.h>
+ #include <hp-timing.h>
++#define __need_list_t
+ #include <list.h>
+ #include <lowlevellock.h>
+ #include <pthreaddef.h>
+Index: glibc-2.12-2-gc4ccff1/nptl/nptl-init.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/nptl-init.c
++++ glibc-2.12-2-gc4ccff1/nptl/nptl-init.c
+@@ -29,6 +29,7 @@
+ #include <atomic.h>
+ #include <ldsodefs.h>
+ #include <tls.h>
++#include <list.h>
+ #include <fork.h>
+ #include <version.h>
+ #include <shlib-compat.h>
+Index: glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/list.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl/sysdeps/pthread/list.h
++++ glibc-2.12-2-gc4ccff1/nptl/sysdeps/pthread/list.h
+@@ -18,27 +18,39 @@
+    02111-1307 USA.  */
+ #ifndef _LIST_H
+-#define _LIST_H       1
++
++#ifndef __need_list_t
++# define _LIST_H      1
++#endif
+ /* The definitions of this file are adopted from those which can be
+    found in the Linux kernel headers to enable people familiar with
+    the latter find their way in these sources as well.  */
++#if defined __need_list_t || defined _LIST_H
++# ifndef __list_t_defined
++#  define __list_t_defined
+ /* Basic type for the double-link list.  */
+ typedef struct list_head
+ {
+   struct list_head *next;
+   struct list_head *prev;
+ } list_t;
++# endif
++# undef __need_list_t
++#endif
++
++#ifdef _LIST_H
++# include <atomic.h>
+ /* Define a variable with the head and tail of the list.  */
+-#define LIST_HEAD(name) \
++# define LIST_HEAD(name) \
+   list_t name = { &(name), &(name) }
+ /* Initialize a new list head.  */
+-#define INIT_LIST_HEAD(ptr) \
++# define INIT_LIST_HEAD(ptr) \
+   (ptr)->next = (ptr)->prev = (ptr)
+@@ -49,6 +61,7 @@ list_add (list_t *newp, list_t *head)
+   newp->next = head->next;
+   newp->prev = head;
+   head->next->prev = newp;
++  atomic_write_barrier ();
+   head->next = newp;
+ }
+@@ -78,26 +91,28 @@ list_splice (list_t *add, list_t *head)
+ /* Get typed element from list at a given position.  */
+-#define list_entry(ptr, type, member) \
++# define list_entry(ptr, type, member) \
+   ((type *) ((char *) (ptr) - (unsigned long) (&((type *) 0)->member)))
+ /* Iterate forward over the elements of the list.  */
+-#define list_for_each(pos, head) \
++# define list_for_each(pos, head) \
+   for (pos = (head)->next; pos != (head); pos = pos->next)
+ /* Iterate forward over the elements of the list.  */
+-#define list_for_each_prev(pos, head) \
++# define list_for_each_prev(pos, head) \
+   for (pos = (head)->prev; pos != (head); pos = pos->prev)
+ /* Iterate backwards over the elements list.  The list elements can be
+    removed from the list while doing this.  */
+-#define list_for_each_prev_safe(pos, p, head) \
++# define list_for_each_prev_safe(pos, p, head) \
+   for (pos = (head)->prev, p = pos->prev; \
+        pos != (head); \
+        pos = p, p = pos->prev)
++#endif /* _LIST_H */
++
+ #endif        /* list.h */
+Index: glibc-2.12-2-gc4ccff1/nptl_db/thread_dbP.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/nptl_db/thread_dbP.h
++++ glibc-2.12-2-gc4ccff1/nptl_db/thread_dbP.h
+@@ -29,6 +29,7 @@
+ #include "proc_service.h"
+ #include "thread_db.h"
+ #include "../nptl/pthreadP.h"         /* This is for *_BITMASK only.  */
++#include <list.h>
+ /* Indeces for the symbol names.  */
+ enum
diff --git a/src/patches/glibc/glibc-rh738763.patch b/src/patches/glibc/glibc-rh738763.patch
new file mode 100644 (file)
index 0000000..728464d
--- /dev/null
@@ -0,0 +1,17 @@
+2011-09-15  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/unix/sysv/linux/bits/in.h (IP_MULTICAST_ALL): Define.
+       Patch mostly by Neil Horman <nhorman@tuxdriver.com>.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/in.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/bits/in.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/bits/in.h
+@@ -70,6 +70,7 @@
+ #define IP_XFRM_POLICY        17
+ #define IP_PASSSEC    18
+ #define IP_TRANSPARENT        19
++#define IP_MULTICAST_ALL 49   /* bool */
+ /* TProxy original addresses */
+ #define IP_ORIGDSTADDR       20
diff --git a/src/patches/glibc/glibc-rh739184.patch b/src/patches/glibc/glibc-rh739184.patch
new file mode 100644 (file)
index 0000000..cf12246
--- /dev/null
@@ -0,0 +1,18 @@
+2010-06-10  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/unix/sysv/linux/getpagesize.c: Don't assume AT_PAGESIZE
+       is always available.
+
+Index: glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getpagesize.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/unix/sysv/linux/getpagesize.c
++++ glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/getpagesize.c
+@@ -28,7 +28,7 @@
+ int
+ __getpagesize ()
+ {
+-#ifdef __ASSUME_AT_PAGESIZE
++#if 0 && defined __ASSUME_AT_PAGESIZE
+   assert (GLRO(dl_pagesize) != 0);
+   return GLRO(dl_pagesize);
+ #else
diff --git a/src/patches/glibc/glibc-rh739971.patch b/src/patches/glibc/glibc-rh739971.patch
new file mode 100644 (file)
index 0000000..960c192
--- /dev/null
@@ -0,0 +1,44 @@
+commit 32c76b63be605d12314e0c6ac2bd702c883d1423
+Author: Andreas Schwab <schwab@redhat.com>
+Date:   Mon Sep 26 17:49:14 2011 +0200
+
+    Correctly reparse group line after enlarging the buffer
+
+diff --git a/nss/nss_files/files-initgroups.c b/nss/nss_files/files-initgroups.c
+index 113abf2..c343b35 100644
+--- a/nss/nss_files/files-initgroups.c
++++ b/nss/nss_files/files-initgroups.c
+@@ -52,8 +52,10 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
+   gid_t *groups = *groupsp;
+   /* We have to iterate over the entire file.  */
+-  while (!feof_unlocked (stream))
++  while (1)
+     {
++      fpos_t pos;
++      fgetpos (stream, &pos);
+       ssize_t n = getline (&line, &linelen, stream);
+       if (n < 0)
+       {
+@@ -64,9 +66,8 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
+       }
+       struct group grp;
+-      int res;
+-      while ((res = _nss_files_parse_grent (line, &grp, buffer, buflen,
+-                                          errnop)) == -1)
++      int res = _nss_files_parse_grent (line, &grp, buffer, buflen, errnop);
++      if (res == -1)
+       {
+         size_t newbuflen = 2 * buflen;
+         if (buffer_use_malloc || ! __libc_use_alloca (buflen + newbuflen))
+@@ -85,6 +86,9 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start,
+           }
+         else
+           buffer = extend_alloca (buffer, buflen, newbuflen);
++        /* Reread current line, the parser has clobbered it.  */
++        fsetpos (stream, &pos);
++        continue;
+       }
+       if (res > 0 && grp.gr_gid != group)
diff --git a/src/patches/glibc/glibc-rh740506-2.patch b/src/patches/glibc/glibc-rh740506-2.patch
new file mode 100644 (file)
index 0000000..adefea0
--- /dev/null
@@ -0,0 +1,35 @@
+       * malloc/arena.c (arena_get2): Avoid unnecessarily
+       retrieving #cpus from /proc.
+       * malloc/malloc.c (mALLOPt): Clamp arena_test based on
+       the value of arena_max.
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index cb8548b..00f1da5 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -828,7 +828,7 @@ arena_get2(mstate a_tsd, size_t size)
+       {
+         if (mp_.arena_max != 0)
+           narenas_limit = mp_.arena_max;
+-        else
++        else if (narenas > mp_.arena_test)
+           {
+             int n  = __get_nprocs ();
+diff --git a/malloc/malloc.c b/malloc/malloc.c
+index 8608083..f8d32da 100644
+--- a/malloc/malloc.c
++++ b/malloc/malloc.c
+@@ -6134,6 +6134,12 @@ int mALLOPt(param_number, value) int par
+     break;
+ #endif
+   }
++#ifdef PER_THREAD
++  /* Clamp ARENA_TEST from ARENA_MAX to avoid creating too many
++     arenas.  */
++  if (mp_.arena_max > 0 && mp_.arena_max <= mp_.arena_test)
++    mp_.arena_test = mp_.arena_max - 1;
++#endif
+   (void)mutex_unlock(&av->mutex);
+   return res;
+ }
diff --git a/src/patches/glibc/glibc-rh740506.patch b/src/patches/glibc/glibc-rh740506.patch
new file mode 100644 (file)
index 0000000..6c74ccf
--- /dev/null
@@ -0,0 +1,132 @@
+2011-11-14  Andreas Schwab  <schwab@redhat.com>
+
+       * malloc/arena.c (arena_get2): Don't call reused_arena when
+       _int_new_arena failed.
+
+2011-11-10  Andreas Schwab  <schwab@redhat.com>
+
+       * malloc/arena.c (_int_new_arena): Don't increment narenas.
+       (reused_arena): Don't check arena limit.
+       (arena_get2): Atomically check arena limit.
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index 9114fd2..042cac8 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -747,8 +747,6 @@ _int_new_arena(size_t size)
+   main_arena.next = a;
+ #ifdef PER_THREAD
+-  ++narenas;
+-
+   (void)mutex_unlock(&list_lock);
+ #endif
+@@ -786,30 +784,6 @@ get_free_list (void)
+ static mstate
+ reused_arena (void)
+ {
+-  if (narenas <= mp_.arena_test)
+-    return NULL;
+-
+-  static int narenas_limit;
+-  if (narenas_limit == 0)
+-    {
+-      if (mp_.arena_max != 0)
+-      narenas_limit = mp_.arena_max;
+-      else
+-      {
+-        int n  = __get_nprocs ();
+-
+-        if (n >= 1)
+-          narenas_limit = NARENAS_FROM_NCORES (n);
+-        else
+-          /* We have no information about the system.  Assume two
+-             cores.  */
+-          narenas_limit = NARENAS_FROM_NCORES (2);
+-      }
+-    }
+-
+-  if (narenas < narenas_limit)
+-    return NULL;
+-
+   mstate result;
+   static mstate next_to_use;
+   if (next_to_use == NULL)
+@@ -844,10 +818,41 @@ arena_get2(mstate a_tsd, size_t size)
+   mstate a;
+ #ifdef PER_THREAD
+-  if ((a = get_free_list ()) == NULL
+-      && (a = reused_arena ()) == NULL)
+-    /* Nothing immediately available, so generate a new arena.  */
+-    a = _int_new_arena(size);
++  static size_t narenas_limit;
++
++  a = get_free_list ();
++  if (a == NULL)
++    {
++      /* Nothing immediately available, so generate a new arena.  */
++      if (narenas_limit == 0)
++      {
++        if (mp_.arena_max != 0)
++          narenas_limit = mp_.arena_max;
++        else
++          {
++            int n  = __get_nprocs ();
++
++            if (n >= 1)
++              narenas_limit = NARENAS_FROM_NCORES (n);
++            else
++              /* We have no information about the system.  Assume two
++                 cores.  */
++              narenas_limit = NARENAS_FROM_NCORES (2);
++          }
++      }
++    repeat:;
++      size_t n = narenas;
++      if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
++      {
++        if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
++          goto repeat;
++        a = _int_new_arena (size);
++        if (__builtin_expect (a != NULL, 1))
++          return a;
++        catomic_decrement(&narenas);
++      }
++      a = reused_arena ();
++    }
+ #else
+   if(!a_tsd)
+     a = a_tsd = &main_arena;
+
+commit a5fb313cb7b7e692fd4684916aaa98e03ec7e8b6
+Author: Andreas Schwab <schwab@redhat.com>
+Date:   Mon Nov 14 11:41:52 2011 +0100
+
+    Don't call reused_arena when _int_new_arena failed
+
+diff --git a/malloc/arena.c b/malloc/arena.c
+index 042cac8..cb8548b 100644
+--- a/malloc/arena.c
++++ b/malloc/arena.c
+@@ -844,14 +844,14 @@ arena_get2(mstate a_tsd, size_t size)
+       size_t n = narenas;
+       if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0))
+       {
+-        if (catomic_compare_and_exchange_bool_acq(&narenas, n + 1, n))
++        if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n))
+           goto repeat;
+         a = _int_new_arena (size);
+-        if (__builtin_expect (a != NULL, 1))
+-          return a;
+-        catomic_decrement(&narenas);
++        if (__builtin_expect (a == NULL, 0))
++          catomic_decrement (&narenas);
+       }
+-      a = reused_arena ();
++      else
++      a = reused_arena ();
+     }
+ #else
+   if(!a_tsd)
diff --git a/src/patches/glibc/glibc-rh749188.patch b/src/patches/glibc/glibc-rh749188.patch
new file mode 100644 (file)
index 0000000..43157cd
--- /dev/null
@@ -0,0 +1,32 @@
+commit 0e8131bb32cf026c87baeacb7abf2a9bdbbc4953
+Author: Andreas Schwab <schwab@redhat.com>
+Date:   Sun May 8 21:48:03 2011 -0400
+
+    Remove .UTF-8 suffix from locale names when it is the only supported codeset
+
+diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
+index d665961..e952c17 100644
+--- a/localedata/SUPPORTED
++++ b/localedata/SUPPORTED
+@@ -46,8 +46,8 @@ ar_TN.UTF-8/UTF-8 \
+ ar_TN/ISO-8859-6 \
+ ar_YE.UTF-8/UTF-8 \
+ ar_YE/ISO-8859-6 \
+-az_AZ.UTF-8/UTF-8 \
+-as_IN.UTF-8/UTF-8 \
++az_AZ/UTF-8 \
++as_IN/UTF-8 \
+ ast_ES.UTF-8/UTF-8 \
+ ast_ES/ISO-8859-15 \
+ be_BY.UTF-8/UTF-8 \
+@@ -385,8 +385,8 @@ tr_CY/ISO-8859-9 \
+ tr_TR.UTF-8/UTF-8 \
+ tr_TR/ISO-8859-9 \
+ ts_ZA/UTF-8 \
+-tt_RU.UTF-8/UTF-8 \
+-tt_RU.UTF-8@iqtelif/UTF-8 \
++tt_RU/UTF-8 \
++tt_RU@iqtelif/UTF-8 \
+ ug_CN/UTF-8 \
+ uk_UA.UTF-8/UTF-8 \
+ uk_UA/KOI8-U \
diff --git a/src/patches/glibc/glibc-rh750531.patch b/src/patches/glibc/glibc-rh750531.patch
new file mode 100644 (file)
index 0000000..a53e770
--- /dev/null
@@ -0,0 +1,122 @@
+commit 69da074d7adfab7b57004a0dea9403a928e310a5
+Author: Ulrich Drepper <drepper@gmail.com>
+Date:   Wed Nov 10 02:38:35 2010 -0500
+
+    Fix warnings in __bswap_16.
+
+diff --git a/sysdeps/i386/bits/byteswap.h b/sysdeps/i386/bits/byteswap.h
+index 1f3fc5e..c246ae8 100644
+--- a/sysdeps/i386/bits/byteswap.h
++++ b/sysdeps/i386/bits/byteswap.h
+@@ -1,5 +1,5 @@
+ /* Macros to swap the order of bytes in integer values.
+-   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2006, 2007, 2008
++   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2006, 2007, 2008, 2010
+    Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+@@ -27,26 +27,27 @@
+ /* Swap bytes in 16 bit value.  */
+ #define __bswap_constant_16(x) \
+-     ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
++     ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
+ #ifdef __GNUC__
+ # if __GNUC__ >= 2
+ #  define __bswap_16(x) \
+      (__extension__                                                         \
+-      ({ register unsigned short int __v, __x = (x);                        \
++      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
+        if (__builtin_constant_p (__x))                                      \
+          __v = __bswap_constant_16 (__x);                                   \
+        else                                                                 \
+          __asm__ ("rorw $8, %w0"                                            \
+                   : "=r" (__v)                                              \
+-                  : "0" (__x)                                               \
+-                  : "cc");                                                  \
++                  : "0" (__x)                                               \
++                  : "cc");                                                  \
+        __v; }))
+ # else
+ /* This is better than nothing.  */
+ #  define __bswap_16(x) \
+      (__extension__                                                         \
+-      ({ register unsigned short int __x = (x); __bswap_constant_16 (__x); }))
++      ({ register unsigned short int __x = (unsigned short int) (x);        \
++       __bswap_constant_16 (__x); }))
+ # endif
+ #else
+ static __inline unsigned short int
+@@ -122,7 +123,7 @@ __bswap_32 (unsigned int __bsx)
+      (__extension__                                                         \
+       ({ union { __extension__ unsigned long long int __ll;                 \
+                unsigned long int __l[2]; } __w, __r;                        \
+-         if (__builtin_constant_p (x))                                              \
++       if (__builtin_constant_p (x))                                        \
+          __r.__ll = __bswap_constant_64 (x);                                \
+        else                                                                 \
+          {                                                                  \
+diff --git a/sysdeps/x86_64/bits/byteswap.h b/sysdeps/x86_64/bits/byteswap.h
+index 08b38e8..e350fb8 100644
+--- a/sysdeps/x86_64/bits/byteswap.h
++++ b/sysdeps/x86_64/bits/byteswap.h
+@@ -1,5 +1,5 @@
+ /* Macros to swap the order of bytes in integer values.
+-   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2007, 2008
++   Copyright (C) 1997, 1998, 2000, 2002, 2003, 2007, 2008, 2010
+    Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+@@ -29,12 +29,12 @@
+ /* Swap bytes in 16 bit value.  */
+ #define __bswap_constant_16(x) \
+-     ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))
++     ((unsigned short int) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
+ #if defined __GNUC__ && __GNUC__ >= 2
+ # define __bswap_16(x) \
+      (__extension__                                                         \
+-      ({ register unsigned short int __v, __x = (x);                        \
++      ({ register unsigned short int __v, __x = (unsigned short int) (x);     \
+        if (__builtin_constant_p (__x))                                      \
+          __v = __bswap_constant_16 (__x);                                   \
+        else                                                                 \
+@@ -47,7 +47,8 @@
+ /* This is better than nothing.  */
+ # define __bswap_16(x) \
+      (__extension__                                                         \
+-      ({ register unsigned short int __x = (x); __bswap_constant_16 (__x); }))
++      ({ register unsigned short int __x = (unsigned short int) (x);          \
++       __bswap_constant_16 (__x); }))
+ #endif
+@@ -120,16 +121,16 @@
+ #  define __bswap_64(x) \
+      (__extension__                                                           \
+       ({ union { __extension__ unsigned long long int __ll;                   \
+-                 unsigned int __l[2]; } __w, __r;                             \
+-         if (__builtin_constant_p (x))                                        \
+-           __r.__ll = __bswap_constant_64 (x);                                \
+-         else                                                                 \
+-           {                                                                  \
+-             __w.__ll = (x);                                                  \
+-             __r.__l[0] = __bswap_32 (__w.__l[1]);                            \
+-             __r.__l[1] = __bswap_32 (__w.__l[0]);                            \
+-           }                                                                  \
+-         __r.__ll; }))
++               unsigned int __l[2]; } __w, __r;                             \
++       if (__builtin_constant_p (x))                                        \
++         __r.__ll = __bswap_constant_64 (x);                                \
++       else                                                                 \
++         {                                                                  \
++           __w.__ll = (x);                                                  \
++           __r.__l[0] = __bswap_32 (__w.__l[1]);                            \
++           __r.__l[1] = __bswap_32 (__w.__l[0]);                            \
++         }                                                                  \
++       __r.__ll; }))
+ # endif
+ #endif
diff --git a/src/patches/glibc/glibc-rh751750.patch b/src/patches/glibc/glibc-rh751750.patch
new file mode 100644 (file)
index 0000000..6f9dd12
--- /dev/null
@@ -0,0 +1,28 @@
+commit 7583a88d1c7170caad26966bcea8bfc2c92093ba
+Author: Andreas Schwab <schwab@redhat.com>
+Date:   Mon Nov 7 15:07:31 2011 +0100
+
+    Fix locking in _IO_flush_all_lockp
+
+diff --git a/libio/genops.c b/libio/genops.c
+index 5d21c42..bb40c34 100644
+--- a/libio/genops.c
++++ b/libio/genops.c
+@@ -826,7 +826,7 @@ _IO_flush_all_lockp (int do_lock)
+   int last_stamp;
+ #ifdef _IO_MTSAFE_IO
+-  _IO_cleanup_region_start_noarg (flush_cleanup);
++  __libc_cleanup_region_start (do_lock, flush_cleanup, 0);
+   if (do_lock)
+     _IO_lock_lock (list_all_lock);
+ #endif
+@@ -866,7 +866,7 @@ _IO_flush_all_lockp (int do_lock)
+ #ifdef _IO_MTSAFE_IO
+   if (do_lock)
+     _IO_lock_unlock (list_all_lock);
+-  _IO_cleanup_region_end (0);
++  __libc_cleanup_region_end (0);
+ #endif
+   return result;
diff --git a/src/patches/glibc/glibc-rh752122.patch b/src/patches/glibc/glibc-rh752122.patch
new file mode 100644 (file)
index 0000000..0176dc9
--- /dev/null
@@ -0,0 +1,260 @@
+2011-07-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Simplify
+       AVX check.
+
+2011-08-20  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/x86_64/dl-trampoline.h: If MORE_CODE is defined, restore
+       the CFI state in the end.
+       * sysdeps/x86_64/dl-trampoline.S: Define MORE_CODE before first
+       inclusion of dl-trampoline.h.
+       Based on a patch by Jiri Olsa <jolsa@redhat.com>.
+
+2011-07-23  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix one more
+       typo.
+       (_dl_x86_64_save_sse): Likewise.
+
+2011-07-22  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix test for
+       OSXSAVE.
+       (_dl_x86_64_save_sse): Likewise.
+
+2011-07-21  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix last
+       change.
+       (_dl_x86_64_save_sse): Use correct AVX check.
+
+2011-07-20  Ulrich Drepper  <drepper@gmail.com>
+
+       [BZ #13007]
+       * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): More complete
+       check for AVX enablement so that we don't crash with old kernels and
+       new hardware.
+       * elf/tst-audit4.c: Add same checks here.
+       * elf/tst-audit6.c: Likewise.
+
+Index: glibc-2.12-2-gc4ccff1/elf/tst-audit4.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/tst-audit4.c
++++ glibc-2.12-2-gc4ccff1/elf/tst-audit4.c
+@@ -6,16 +6,30 @@
+ #include <cpuid.h>
+ #include <immintrin.h>
++
++static int
++avx_enabled (void)
++{
++  unsigned int eax, ebx, ecx, edx;
++
++  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx) == 0
++      || (ecx & (bit_AVX | bit_OSXSAVE)) != (bit_AVX | bit_OSXSAVE))
++    return 0;
++
++  /* Check the OS has AVX and SSE saving enabled.  */
++  asm ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
++
++  return (eax & 6) == 6;
++}
++
++
+ extern __m256i audit_test (__m256i, __m256i, __m256i, __m256i,
+                          __m256i, __m256i, __m256i, __m256i);
+ int
+ main (void)
+ {
+-  unsigned int eax, ebx, ecx, edx;
+-
+   /* Run AVX test only if AVX is supported.  */
+-  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx)
+-      && (ecx & bit_AVX))
++  if (avx_enabled ())
+     {
+       __m256i ymm = _mm256_setzero_si256 ();
+       __m256i ret = audit_test (ymm, ymm, ymm, ymm, ymm, ymm, ymm, ymm);
+Index: glibc-2.12-2-gc4ccff1/elf/tst-audit6.c
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/elf/tst-audit6.c
++++ glibc-2.12-2-gc4ccff1/elf/tst-audit6.c
+@@ -8,14 +8,28 @@
+ extern __m128i audit_test (__m128i, __m128i, __m128i, __m128i,
+                          __m128i, __m128i, __m128i, __m128i);
+-int
+-main (void)
++
++static int
++avx_enabled (void)
+ {
+   unsigned int eax, ebx, ecx, edx;
++  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx) == 0
++      || (ecx & (bit_AVX | bit_OSXSAVE)) != (bit_AVX | bit_OSXSAVE))
++    return 0;
++
++  /* Check the OS has AVX and SSE saving enabled.  */
++  asm ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
++
++  return (eax & 6) == 6;
++}
++
++
++int
++main (void)
++{
+   /* Run AVX test only if AVX is supported.  */
+-  if (__get_cpuid (1, &eax, &ebx, &ecx, &edx)
+-      && (ecx & bit_AVX))
++  if (avx_enabled ())
+     {
+       __m128i xmm = _mm_setzero_si128 ();
+       __m128i ret = audit_test (xmm, xmm, xmm, xmm, xmm, xmm, xmm, xmm);
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.S
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/dl-trampoline.S
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.S
+@@ -139,24 +139,31 @@ L(have_avx):
+       movl    $1, %eax
+       cpuid
+       movq    %r11,%rbx               # Restore rbx
+-      movl    $1, %eax
+-      testl   $(1 << 28), %ecx
++      xorl    %eax, %eax
++      // AVX and XSAVE supported?
++      andl    $((1 << 28) | (1 << 27)), %ecx
++      cmpl    $((1 << 28) | (1 << 27)), %ecx
+       jne     2f
+-      negl    %eax
+-2:    movl    %eax, L(have_avx)(%rip)
++      xorl    %ecx, %ecx
++      // Get XFEATURE_ENABLED_MASK
++      xgetbv
++      andl    $0x6, %eax
++2:    subl    $0x5, %eax
++      movl    %eax, L(have_avx)(%rip)
+       cmpl    $0, %eax
+ 1:    js      L(no_avx)
+ #  define RESTORE_AVX
++#  define MORE_CODE
+ #  include "dl-trampoline.h"
+       .align 16
+ L(no_avx):
+ # endif
+-#  undef RESTORE_AVX
+-#  include "dl-trampoline.h"
++# undef RESTORE_AVX
++# include "dl-trampoline.h"
+       cfi_endproc
+       .size _dl_runtime_profile, .-_dl_runtime_profile
+@@ -176,11 +183,20 @@ _dl_x86_64_save_sse:
+       movl    $1, %eax
+       cpuid
+       movq    %r11,%rbx               # Restore rbx
+-      movl    $1, %eax
+-      testl   $(1 << 28), %ecx
++      xorl    %eax, %eax
++      // AVX and XSAVE supported?
++      andl    $((1 << 28) | (1 << 27)), %ecx
++      cmpl    $((1 << 28) | (1 << 27)), %ecx
+       jne     2f
+-      negl    %eax
+-2:    movl    %eax, L(have_avx)(%rip)
++      xorl    %ecx, %ecx
++      // Get XFEATURE_ENABLED_MASK
++      xgetbv
++      andl    $0x6, %eax
++      cmpl    $0x6, %eax
++      // Nonzero if SSE and AVX state saving is enabled.
++      sete    %al
++2:    leal    -1(%eax,%eax), %eax
++      movl    %eax, L(have_avx)(%rip)
+       cmpl    $0, %eax
+ 1:    js      L(no_avx5)
+Index: glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.h
+===================================================================
+--- glibc-2.12-2-gc4ccff1.orig/sysdeps/x86_64/dl-trampoline.h
++++ glibc-2.12-2-gc4ccff1/sysdeps/x86_64/dl-trampoline.h
+@@ -195,14 +195,14 @@
+          _dl_call_pltexit.  The La_x86_64_regs is being pointed by rsp now,
+          so we just need to allocate the sizeof(La_x86_64_retval) space on
+          the stack, since the alignment has already been taken care of. */
+-# ifdef RESTORE_AVX
++#ifdef RESTORE_AVX
+       /* sizeof(La_x86_64_retval).  Need extra space for 2 SSE
+          registers to detect if xmm0/xmm1 registers are changed
+          by audit module.  */
+       subq $(LRV_SIZE + XMM_SIZE*2), %rsp
+-# else
++#else
+       subq $LRV_SIZE, %rsp    # sizeof(La_x86_64_retval)
+-# endif
++#endif
+       movq %rsp, %rcx         # La_x86_64_retval argument to %rcx.
+       /* Fill in the La_x86_64_retval structure.  */
+@@ -212,7 +212,7 @@
+       movaps %xmm0, LRV_XMM0_OFFSET(%rcx)
+       movaps %xmm1, LRV_XMM1_OFFSET(%rcx)
+-# ifdef RESTORE_AVX
++#ifdef RESTORE_AVX
+       /* This is to support AVX audit modules.  */
+       vmovdqu %ymm0, LRV_VECTOR0_OFFSET(%rcx)
+       vmovdqu %ymm1, LRV_VECTOR1_OFFSET(%rcx)
+@@ -221,14 +221,14 @@
+          by audit module.  */
+       vmovdqa %xmm0,            (LRV_SIZE)(%rcx)
+       vmovdqa %xmm1, (LRV_SIZE + XMM_SIZE)(%rcx)
+-# endif
++#endif
+       fstpt LRV_ST0_OFFSET(%rcx)
+       fstpt LRV_ST1_OFFSET(%rcx)
+       movq 24(%rbx), %rdx     # La_x86_64_regs argument to %rdx.
+       movq 40(%rbx), %rsi     # Copy args pushed by PLT in register.
+-        movq 32(%rbx), %rdi   # %rdi: link_map, %rsi: reloc_index
++      movq 32(%rbx), %rdi     # %rdi: link_map, %rsi: reloc_index
+       call _dl_call_pltexit
+       /* Restore return registers.  */
+@@ -238,7 +238,7 @@
+       movaps LRV_XMM0_OFFSET(%rsp), %xmm0
+       movaps LRV_XMM1_OFFSET(%rsp), %xmm1
+-# ifdef RESTORE_AVX
++#ifdef RESTORE_AVX
+       /* Check if xmm0/xmm1 registers are changed by audit module.  */
+       vpcmpeqq (LRV_SIZE)(%rsp), %xmm0, %xmm2
+       vpmovmskb %xmm2, %esi
+@@ -253,7 +253,7 @@
+       vmovdqu LRV_VECTOR1_OFFSET(%rsp), %ymm1
+ 1:
+-# endif
++#endif
+       fldt LRV_ST1_OFFSET(%rsp)
+       fldt LRV_ST0_OFFSET(%rsp)
+@@ -267,3 +267,10 @@
+                               # (eats the reloc index and link_map)
+       cfi_adjust_cfa_offset(-48)
+       retq
++
++#ifdef MORE_CODE
++      cfi_adjust_cfa_offset(48)
++      cfi_rel_offset(%rbx, 0)
++      cfi_def_cfa_register(%rbx)
++# undef MORE_CODE
++#endif
diff --git a/src/patches/glibc/glibc-rh757888.patch b/src/patches/glibc/glibc-rh757888.patch
new file mode 100644 (file)
index 0000000..721d4a4
--- /dev/null
@@ -0,0 +1,225 @@
+commit f3a6cc0a560a17f32a3e90d2f20501a53cab6058
+Author: Andreas Schwab <schwab@redhat.com>
+Date:   Tue Nov 29 10:52:22 2011 +0100
+
+    Fix access after end of search string in regex matcher
+
+diff --git a/locale/weight.h b/locale/weight.h
+index dc70a00..967e176 100644
+--- a/locale/weight.h
++++ b/locale/weight.h
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004 Free Software Foundation, Inc.
++/* Copyright (C) 1996,1997,1998,1999,2000,2003,2004,2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Written by Ulrich Drepper, <drepper@cygnus.com>.
+@@ -20,7 +20,7 @@
+ /* Find index of weight.  */
+ auto inline int32_t
+ __attribute ((always_inline))
+-findidx (const unsigned char **cpp)
++findidx (const unsigned char **cpp, size_t len)
+ {
+   int_fast32_t i = table[*(*cpp)++];
+   const unsigned char *cp;
+@@ -34,6 +34,7 @@ findidx (const unsigned char **cpp)
+      Search for the correct one.  */
+   cp = &extra[-i];
+   usrc = *cpp;
++  --len;
+   while (1)
+     {
+       size_t nhere;
+@@ -56,7 +57,7 @@ findidx (const unsigned char **cpp)
+            already.  */
+         size_t cnt;
+-        for (cnt = 0; cnt < nhere; ++cnt)
++        for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
+           if (cp[cnt] != usrc[cnt])
+             break;
+@@ -79,13 +80,13 @@ findidx (const unsigned char **cpp)
+         size_t cnt;
+         size_t offset = 0;
+-        for (cnt = 0; cnt < nhere; ++cnt)
++        for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
+           if (cp[cnt] != usrc[cnt])
+             break;
+         if (cnt != nhere)
+           {
+-            if (cp[cnt] > usrc[cnt])
++            if (cnt == len || cp[cnt] > usrc[cnt])
+               {
+                 /* Cannot be in this range.  */
+                 cp += 2 * nhere;
+diff --git a/locale/weightwc.h b/locale/weightwc.h
+index 9ea1126..7862091 100644
+--- a/locale/weightwc.h
++++ b/locale/weightwc.h
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1996-2001,2003,2004,2005,2007 Free Software Foundation, Inc.
++/* Copyright (C) 1996-2001,2003,2004,2005,2007,2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Written by Ulrich Drepper, <drepper@cygnus.com>.
+@@ -20,7 +20,7 @@
+ /* Find index of weight.  */
+ auto inline int32_t
+ __attribute ((always_inline))
+-findidx (const wint_t **cpp)
++findidx (const wint_t **cpp, size_t len)
+ {
+   wint_t ch = *(*cpp)++;
+   int32_t i = __collidx_table_lookup ((const char *) table, ch);
+@@ -32,6 +32,7 @@ findidx (const wint_t **cpp)
+   /* Oh well, more than one sequence starting with this byte.
+      Search for the correct one.  */
+   const int32_t *cp = (const int32_t *) &extra[-i];
++  --len;
+   while (1)
+     {
+       size_t nhere;
+@@ -54,7 +55,7 @@ findidx (const wint_t **cpp)
+            already.  */
+         size_t cnt;
+-        for (cnt = 0; cnt < nhere; ++cnt)
++        for (cnt = 0; cnt < nhere && cnt < len; ++cnt)
+           if (cp[cnt] != usrc[cnt])
+             break;
+@@ -75,7 +76,7 @@ findidx (const wint_t **cpp)
+         size_t cnt;
+         size_t offset;
+-        for (cnt = 0; cnt < nhere - 1; ++cnt)
++        for (cnt = 0; cnt < nhere - 1 && cnt < len; ++cnt)
+           if (cp[cnt] != usrc[cnt])
+             break;
+diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
+index 18a6667..72bd3ee 100644
+--- a/posix/fnmatch_loop.c
++++ b/posix/fnmatch_loop.c
+@@ -412,7 +412,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
+                         _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
+ # endif
+-                      idx = findidx (&cp);
++                      idx = findidx (&cp, 1);
+                       if (idx != 0)
+                         {
+                           /* We found a table entry.  Now see whether the
+@@ -422,7 +422,7 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
+                           int32_t idx2;
+                           const UCHAR *np = (const UCHAR *) n;
+-                          idx2 = findidx (&np);
++                          idx2 = findidx (&np, string_end - n);
+                           if (idx2 != 0
+                               && (idx >> 24) == (idx2 >> 24)
+                               && len == weights[idx2 & 0xffffff])
+diff --git a/posix/regcomp.c b/posix/regcomp.c
+index b238c08..34ee845 100644
+--- a/posix/regcomp.c
++++ b/posix/regcomp.c
+@@ -1,5 +1,5 @@
+ /* Extended regular expression matching and search library.
+-   Copyright (C) 2002-2007,2009,2010 Free Software Foundation, Inc.
++   Copyright (C) 2002-2007,2009,2010,2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
+@@ -3409,19 +3409,18 @@ build_equiv_class (bitset_t sbcset, const unsigned char *name)
+                                                  _NL_COLLATE_EXTRAMB);
+       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
+                                               _NL_COLLATE_INDIRECTMB);
+-      idx1 = findidx (&cp);
+-      if (BE (idx1 == 0 || cp < name + strlen ((const char *) name), 0))
++      idx1 = findidx (&cp, -1);
++      if (BE (idx1 == 0 || *cp != '\0', 0))
+       /* This isn't a valid character.  */
+       return REG_ECOLLATE;
+       /* Build single byte matcing table for this equivalence class.  */
+-      char_buf[1] = (unsigned char) '\0';
+       len = weights[idx1 & 0xffffff];
+       for (ch = 0; ch < SBC_MAX; ++ch)
+       {
+         char_buf[0] = ch;
+         cp = char_buf;
+-        idx2 = findidx (&cp);
++        idx2 = findidx (&cp, 1);
+ /*
+         idx2 = table[ch];
+ */
+
+--- a/posix/regex_internal.h   2011-11-30 12:47:02.706567482 -0700
++++ a/posix/regex_internal.h   2011-11-30 12:47:32.969558337 -0700
+@@ -756,7 +756,7 @@
+       indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE,
+                                               _NL_COLLATE_INDIRECTMB);
+       p = pstr->mbs + idx;
+-      tmp = findidx (&p);
++      tmp = findidx (&p, pstr->len - idx);
+       return p - pstr->mbs - idx;
+     }
+   else
+diff --git a/posix/regexec.c b/posix/regexec.c
+index 9e0c565..3ea810b 100644
+--- a/posix/regexec.c
++++ b/posix/regexec.c
+@@ -3924,7 +3924,7 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
+               _NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
+             indirect = (const int32_t *)
+               _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
+-            int32_t idx = findidx (&cp);
++            int32_t idx = findidx (&cp, elem_len);
+             if (idx > 0)
+               for (i = 0; i < cset->nequiv_classes; ++i)
+                 {
+diff --git a/string/strcoll_l.c b/string/strcoll_l.c
+index d8d1139..fb77d08 100644
+--- a/string/strcoll_l.c
++++ b/string/strcoll_l.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1995-1997,2002,2004,2007,2010 Free Software Foundation, Inc.
++/* Copyright (C) 1995-1997,2002,2004,2007,2010,2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Written by Ulrich Drepper <drepper@gnu.org>, 1995.
+@@ -205,7 +205,7 @@ STRCOLL (s1, s2, l)
+               while (*us1 != L('\0'))
+                 {
+-                  int32_t tmp = findidx (&us1);
++                  int32_t tmp = findidx (&us1, -1);
+                   rule1arr[idx1max] = tmp >> 24;
+                   idx1arr[idx1max] = tmp & 0xffffff;
+                   idx1cnt = idx1max++;
+@@ -267,7 +267,7 @@ STRCOLL (s1, s2, l)
+               while (*us2 != L('\0'))
+                 {
+-                  int32_t tmp = findidx (&us2);
++                  int32_t tmp = findidx (&us2, -1);
+                   rule2arr[idx2max] = tmp >> 24;
+                   idx2arr[idx2max] = tmp & 0xffffff;
+                   idx2cnt = idx2max++;
+diff --git a/string/strxfrm_l.c b/string/strxfrm_l.c
+index 220253c..b06556d 100644
+--- a/string/strxfrm_l.c
++++ b/string/strxfrm_l.c
+@@ -176,7 +176,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
+   idxmax = 0;
+   do
+     {
+-      int32_t tmp = findidx (&usrc);
++      int32_t tmp = findidx (&usrc, -1);
+       rulearr[idxmax] = tmp >> 24;
+       idxarr[idxmax] = tmp & 0xffffff;
diff --git a/src/patches/glibc/glibc-rh766513.patch b/src/patches/glibc/glibc-rh766513.patch
new file mode 100644 (file)
index 0000000..3f629b4
--- /dev/null
@@ -0,0 +1,14 @@
+diff -rup a/po/ja.po b/po/ja.po
+--- a/po/ja.po 2010-05-04 05:27:23.000000000 -0600
++++ b/po/ja.po 2012-02-07 12:21:03.023806370 -0700
+@@ -3549,8 +3549,8 @@ msgstr "%s: Ã‰Ã”Àµ¤Ê¥ª¥×¥·¥ç¥ó¤Ç¤¹ -- %c\n
+ #: posix/getopt.c:945 posix/getopt.c:948
+ #, c-format
+-msgid "%s: invalid option -- %c\n"
+-msgstr "%s: Â¥ÂªÂ¥Ã—¥·¥ç¥ó¤¬°ã¤¤¤Þ¤¹ -- %c\n"
++msgid "%s: invalid option -- '%c'\n"
++msgstr "%s: Â¥ÂªÂ¥Ã—¥·¥ç¥ó¤¬°ã¤¤¤Þ¤¹ -- '%c'\n"
+ #: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
+ #: posix/getopt.c:1255
diff --git a/src/patches/glibc/glibc-rh767146.patch b/src/patches/glibc/glibc-rh767146.patch
new file mode 100644 (file)
index 0000000..8252062
--- /dev/null
@@ -0,0 +1,21 @@
+diff -rup a/elf/dl-load.c b/elf/dl-load.c
+--- a/elf/dl-load.c    2012-02-03 10:59:58.917870716 -0700
++++ b/elf/dl-load.c    2012-02-03 11:01:01.796580644 -0700
+@@ -1130,6 +1130,16 @@ _dl_map_object_from_fd (const char *name
+               = N_("ELF load command address/offset not properly aligned");
+             goto call_lose;
+           }
++        if (__builtin_expect ((ph->p_offset + ph->p_filesz > st.st_size), 0))
++          {
++            /* If the segment requires zeroing of part of its last
++               page, we'll crash when accessing the unmapped page.
++               There's still a possibility of a race, if the shared
++               object is truncated between the fxstat above and the
++               memset below.  */
++            errstring = N_("ELF load command past end of file");
++            goto call_lose;
++          }
+         c = &loadcmds[nloadcmds++];
+         c->mapstart = ph->p_vaddr & ~(GLRO(dl_pagesize) - 1);
+Only in b/elf: dl-load.c.orig
diff --git a/src/patches/glibc/glibc-rh767693-2.patch b/src/patches/glibc/glibc-rh767693-2.patch
new file mode 100644 (file)
index 0000000..4418ac6
--- /dev/null
@@ -0,0 +1,79 @@
+Index: glibc-2.5-20061008T1257/sunrpc/svc_tcp.c
+===================================================================
+--- glibc-2.5-20061008T1257.orig/sunrpc/svc_tcp.c
++++ glibc-2.5-20061008T1257/sunrpc/svc_tcp.c
+@@ -50,6 +50,7 @@ static char sccsid[] = "@(#)svc_tcp.c 1.
+ #include <sys/poll.h>
+ #include <errno.h>
+ #include <stdlib.h>
++#include <time.h>
+ #ifdef USE_IN_LIBIO
+ # include <wchar.h>
+@@ -249,6 +250,11 @@ again:
+     {
+       if (errno == EINTR)
+       goto again;
++      if (errno == EMFILE)
++        {
++          struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 };
++          __nanosleep(&ts , NULL);
++        }
+       return FALSE;
+     }
+   /*
+Index: glibc-2.5-20061008T1257/sunrpc/svc_udp.c
+===================================================================
+--- glibc-2.5-20061008T1257.orig/sunrpc/svc_udp.c
++++ glibc-2.5-20061008T1257/sunrpc/svc_udp.c
+@@ -46,6 +46,7 @@ static char sccsid[] = "@(#)svc_udp.c 1.
+ #include <sys/socket.h>
+ #include <errno.h>
+ #include <libintl.h>
++#include <time.h>
+ #ifdef IP_PKTINFO
+ #include <sys/uio.h>
+@@ -277,8 +278,16 @@ again:
+                      (int) su->su_iosz, 0,
+                      (struct sockaddr *) &(xprt->xp_raddr), &len);
+   xprt->xp_addrlen = len;
+-  if (rlen == -1 && errno == EINTR)
+-    goto again;
++  if (rlen == -1)
++    {
++      if (errno == EINTR)
++        goto again;
++      if (errno == EMFILE)
++        {
++          struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 };
++          __nanosleep(&ts , NULL);
++        }
++    }
+   if (rlen < 16)              /* < 4 32-bit ints? */
+     return FALSE;
+   xdrs->x_op = XDR_DECODE;
+Index: glibc-2.5-20061008T1257/sunrpc/svc_unix.c
+===================================================================
+--- glibc-2.5-20061008T1257.orig/sunrpc/svc_unix.c
++++ glibc-2.5-20061008T1257/sunrpc/svc_unix.c
+@@ -48,6 +48,7 @@
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <libintl.h>
++#include <time.h>
+ #ifdef USE_IN_LIBIO
+ # include <wchar.h>
+@@ -247,6 +248,11 @@ again:
+     {
+       if (errno == EINTR)
+       goto again;
++      if (errno == EMFILE)
++        {
++          struct timespec ts = { .tv_sec = 0, .tv_nsec = 50000000 };
++          __nanosleep(&ts , NULL);
++        }
+       return FALSE;
+     }
+   /*
diff --git a/src/patches/glibc/glibc-rh767693.patch b/src/patches/glibc/glibc-rh767693.patch
new file mode 100644 (file)
index 0000000..8f76beb
--- /dev/null
@@ -0,0 +1,89 @@
+commit 97ac2654b2d831acaa18a2b018b0736245903fd2
+Author: Ulrich Drepper <drepper@gmail.com>
+Date:   Sat Dec 17 20:18:42 2011 -0500
+
+    Check values from TZ file header
+
+
+       [BZ #13506]
+       * time/tzfile.c (__tzfile_read): Check values from file header.
+
+diff -ru a/time/tzfile.c b/time/tzfile.c
+--- a/time/tzfile.c    2010-05-04 11:27:23.000000000 +0000
++++ b/time/tzfile.c    2011-12-19 06:39:49.875358578 +0000
+@@ -19,6 +19,7 @@
+ #include <assert.h>
+ #include <limits.h>
++#include <stdint.h>
+ #include <stdio.h>
+ #include <stdio_ext.h>
+ #include <stdlib.h>
+@@ -234,23 +235,58 @@
+       goto read_again;
+     }
++  if (__builtin_expect (num_transitions
++                      > ((SIZE_MAX - (__alignof__ (struct ttinfo) - 1))
++                         / (sizeof (time_t) + 1)), 0))
++    goto lose;
+   total_size = num_transitions * (sizeof (time_t) + 1);
+   total_size = ((total_size + __alignof__ (struct ttinfo) - 1)
+               & ~(__alignof__ (struct ttinfo) - 1));
+   types_idx = total_size;
+-  total_size += num_types * sizeof (struct ttinfo) + chars;
++  if (__builtin_expect (num_types
++                      > (SIZE_MAX - total_size) / sizeof (struct ttinfo), 0))
++    goto lose;
++  total_size += num_types * sizeof (struct ttinfo);
++  if (__builtin_expect (chars > SIZE_MAX - total_size, 0))
++    goto lose;
++  total_size += chars;
++  if (__builtin_expect (__alignof__ (struct leap) - 1
++                      > SIZE_MAX - total_size, 0))
++    goto lose;
+   total_size = ((total_size + __alignof__ (struct leap) - 1)
+               & ~(__alignof__ (struct leap) - 1));
+   leaps_idx = total_size;
++  if (__builtin_expect (num_leaps
++                      > (SIZE_MAX - total_size) / sizeof (struct leap), 0))
++    goto lose;
+   total_size += num_leaps * sizeof (struct leap);
+-  tzspec_len = (sizeof (time_t) == 8 && trans_width == 8
+-              ? st.st_size - (ftello (f)
+-                              + num_transitions * (8 + 1)
+-                              + num_types * 6
+-                              + chars
+-                              + num_leaps * 12
+-                              + num_isstd
+-                              + num_isgmt) - 1 : 0);
++  tzspec_len = 0;
++  if (sizeof (time_t) == 8 && trans_width == 8)
++    {
++      off_t rem = st.st_size - ftello (f);
++      if (__builtin_expect (rem < 0
++                          || (size_t) rem < (num_transitions * (8 + 1)
++                                             + num_types * 6
++                                             + chars), 0))
++      goto lose;
++      tzspec_len = (size_t) rem - (num_transitions * (8 + 1)
++                                 + num_types * 6
++                                 + chars);
++      if (__builtin_expect (num_leaps > SIZE_MAX / 12
++                          || tzspec_len < num_leaps * 12, 0))
++      goto lose;
++      tzspec_len -= num_leaps * 12;
++      if (__builtin_expect (tzspec_len < num_isstd, 0))
++      goto lose;
++      tzspec_len -= num_isstd;
++      if (__builtin_expect (tzspec_len == 0 || tzspec_len - 1 < num_isgmt, 0))
++      goto lose;
++      tzspec_len -= num_isgmt + 1;
++      if (__builtin_expect (SIZE_MAX - total_size < tzspec_len, 0))
++      goto lose;
++    }
++  if (__builtin_expect (SIZE_MAX - total_size - tzspec_len < extra, 0))
++    goto lose;
+   /* Allocate enough memory including the extra block requested by the
+      caller.  */
diff --git a/src/patches/glibc/glibc-rh767746.patch b/src/patches/glibc/glibc-rh767746.patch
new file mode 100644 (file)
index 0000000..58d96d8
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/nptl/pthread_create.c    2011-12-13 11:41:37.000000000 -0700
++++ b/nptl/pthread_create.c    2011-12-14 10:03:13.000000000 -0700
+@@ -440,8 +440,9 @@
+   int err = ALLOCATE_STACK (iattr, &pd);
+   if (__builtin_expect (err != 0, 0))
+     /* Something went wrong.  Maybe a parameter of the attributes is
+-       invalid or we could not allocate memory.  */
+-    return err;
++       invalid or we could not allocate memory.  Note we have to
++       translate error codes.  */
++    return err == ENOMEM ? EAGAIN : err;
+   /* Initialize the TCB.  All initializations with zero should be
diff --git a/src/patches/glibc/glibc-rh771342.patch b/src/patches/glibc/glibc-rh771342.patch
new file mode 100644 (file)
index 0000000..0a49b8c
--- /dev/null
@@ -0,0 +1,155 @@
+2011-06-30  Ulrich Drepper  <drepper@gmail.com>
+
+       * nptl-init.c (__nptl_set_robust): New function.
+       (pthread_functions): Add reference.
+       * npthreadP.h: Declare __nptl_set_robust.
+       * sysdeps/pthread/pthread-functions.h (pthread_functions): Add
+       ptr_set_robust member.
+       * sysdeps/unix/sysv/linux/fork.c: Call set_robust_list syscall in
+       child if threads are used.
+
+diff -Nrup a/nptl/nptl-init.c b/nptl/nptl-init.c
+--- a/nptl/nptl-init.c 2011-12-20 00:29:54.645538691 -0700
++++ b/nptl/nptl-init.c 2012-01-03 10:18:38.977513783 -0700
+@@ -69,6 +69,13 @@ extern void __libc_setup_tls (size_t tcb
+ #endif
+ #ifdef SHARED
++static
++#else
++extern
++#endif
++void __nptl_set_robust (struct pthread *);
++
++#ifdef SHARED
+ static void nptl_freeres (void);
+@@ -131,13 +138,25 @@ static const struct pthread_functions pt
+     .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd,
+     .ptr__nptl_setxid = __nptl_setxid,
+     /* For now only the stack cache needs to be freed.  */
+-    .ptr_freeres = nptl_freeres
++    .ptr_freeres = nptl_freeres,
++    .ptr_set_robust = __nptl_set_robust
+   };
+ # define ptr_pthread_functions &pthread_functions
+ #else
+ # define ptr_pthread_functions NULL
+ #endif
++#ifdef SHARED
++static
++#endif
++void
++__nptl_set_robust (struct pthread *self)
++{
++  INTERNAL_SYSCALL_DECL (err);
++  INTERNAL_SYSCALL (set_robust_list, err, 2, &self->robust_head,
++                   sizeof (struct robust_list_head));
++}
++
+ #ifdef SHARED
+ /* This function is called indirectly from the freeres code in libc.  */
+diff -Nrup a/nptl/pthreadP.h b/nptl/pthreadP.h
+--- a/nptl/pthreadP.h  2010-05-04 05:27:23.000000000 -0600
++++ b/nptl/pthreadP.h  2012-01-03 10:12:35.599269269 -0700
+@@ -555,17 +555,20 @@ extern void __pthread_cleanup_pop_restor
+ /* Old cleanup interfaces, still used in libc.so.  */
+ extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
+-                                   void (*routine) (void *), void *arg);
++                                 void (*routine) (void *), void *arg);
+ extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
+-                                  int execute);
++                                int execute);
+ extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
+-                                         void (*routine) (void *), void *arg);
++                                       void (*routine) (void *), void *arg);
+ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
+-                                          int execute);
++                                        int execute);
+ extern void __nptl_deallocate_tsd (void) attribute_hidden;
+ extern int __nptl_setxid (struct xid_command *cmdp) attribute_hidden;
++#ifndef SHARED
++extern void __nptl_set_robust (struct pthread *self);
++#endif
+ extern void __free_stacks (size_t limit) attribute_hidden;
+diff -Nrup a/nptl/sysdeps/pthread/pthread-functions.h b/nptl/sysdeps/pthread/pthread-functions.h
+--- a/nptl/sysdeps/pthread/pthread-functions.h 2010-05-04 05:27:23.000000000 -0600
++++ b/nptl/sysdeps/pthread/pthread-functions.h 2012-01-03 10:12:35.639269301 -0700
+@@ -97,6 +97,7 @@ struct pthread_functions
+   void (*ptr__nptl_deallocate_tsd) (void);
+   int (*ptr__nptl_setxid) (struct xid_command *);
+   void (*ptr_freeres) (void);
++  void (*ptr_set_robust) (struct pthread *);
+ };
+ /* Variable in libc.so.  */
+diff -Nrup a/nptl/sysdeps/unix/sysv/linux/fork.c b/nptl/sysdeps/unix/sysv/linux/fork.c
+--- a/nptl/sysdeps/unix/sysv/linux/fork.c      2010-05-04 05:27:23.000000000 -0600
++++ b/nptl/sysdeps/unix/sysv/linux/fork.c      2012-01-03 10:12:35.649269309 -0700
+@@ -29,6 +29,7 @@
+ #include <ldsodefs.h>
+ #include <bits/stdio-lock.h>
+ #include <atomic.h>
++#include <pthreadP.h>
+ unsigned long int *__fork_generation_pointer;
+@@ -86,8 +87,8 @@ __libc_fork (void)
+        just go away.  The unloading code works in the order of the
+        list.
+-         While executing the registered handlers we are building a
+-         list of all the entries so that we can go backward later on.  */
++       While executing the registered handlers we are building a
++       list of all the entries so that we can go backward later on.  */
+       while (1)
+       {
+         /* Execute the handler if there is one.  */
+@@ -154,6 +155,24 @@ __libc_fork (void)
+       GL(dl_cpuclock_offset) = now;
+ #endif
++#ifdef __NR_set_robust_list
++      /* Initialize the robust mutex list which has been reset during
++       the fork.  We do not check for errors since if it fails here
++       it failed at process start as well and noone could have used
++       robust mutexes.  We also do not have to set
++       self->robust_head.futex_offset since we inherit the correct
++       value from the parent.  */
++# ifdef SHARED
++      if (__libc_pthread_functions.ptr_set_robust != NULL)
++      PTHFCT_CALL (ptr_set_robust, (self));
++# else
++      extern __typeof (__nptl_set_robust) __nptl_set_robust
++      __attribute__((weak));
++      if (__builtin_expect (__nptl_set_robust != NULL, 0))
++      __nptl_set_robust (self);
++# endif
++#endif
++
+       /* Reset the file list.  These are recursive mutexes.  */
+       fresetlockfiles ();
+@@ -170,10 +189,10 @@ __libc_fork (void)
+           allp->handler->child_handler ();
+         /* Note that we do not have to wake any possible waiter.
+-           This is the only thread in the new process.  The count
+-           may have been bumped up by other threads doing a fork.
+-           We reset it to 1, to avoid waiting for non-existing
+-           thread(s) to release the count.  */
++           This is the only thread in the new process.  The count
++           may have been bumped up by other threads doing a fork.
++           We reset it to 1, to avoid waiting for non-existing
++           thread(s) to release the count.  */
+         allp->handler->refcntr = 1;
+         /* XXX We could at this point look through the object pool
diff --git a/src/patches/glibc/glibc-rh782585.patch b/src/patches/glibc/glibc-rh782585.patch
new file mode 100644 (file)
index 0000000..a554d4b
--- /dev/null
@@ -0,0 +1,329 @@
+diff -rup a/elf/dl-close.c b/elf/dl-close.c
+--- a/elf/dl-close.c   2012-01-19 12:59:42.759484350 -0700
++++ b/elf/dl-close.c   2012-01-19 14:10:20.439263806 -0700
+@@ -223,7 +223,7 @@ _dl_close_worker (struct link_map *map)
+     }
+   /* Sort the entries.  */
+-  _dl_sort_fini (ns->_ns_loaded, maps, nloaded, used, nsid);
++  _dl_sort_fini (maps, nloaded, used, nsid);
+   /* Call all termination functions at once.  */
+ #ifdef SHARED
+diff -rup a/elf/dl-deps.c b/elf/dl-deps.c
+--- a/elf/dl-deps.c    2012-01-19 12:59:42.716484301 -0700
++++ b/elf/dl-deps.c    2012-01-19 13:52:35.223720556 -0700
+@@ -614,51 +614,67 @@ Filters not supported with LD_TRACE_PREL
+       map->l_searchlist.r_list[i]->l_reserved = 0;
+     }
+-  /* Now determine the order in which the initialization has to happen.  */
++  /* Sort the initializer list to take dependencies into account.  The binary
++     itself will always be initialize last.  */
+   memcpy (l_initfini, map->l_searchlist.r_list,
+         nlist * sizeof (struct link_map *));
+-  /* We can skip looking for the binary itself which is at the front
+-     of the search list.  Look through the list backward so that circular
+-     dependencies are not changing the order.  */
+-  for (i = 1; i < nlist; ++i)
++  if (__builtin_expect (nlist > 1, 1))
+     {
+-      struct link_map *l = map->l_searchlist.r_list[i];
+-      unsigned int j;
+-      unsigned int k;
+-
+-      /* Find the place in the initfini list where the map is currently
+-       located.  */
+-      for (j = 1; l_initfini[j] != l; ++j)
+-      ;
+-
+-      /* Find all object for which the current one is a dependency and
+-       move the found object (if necessary) in front.  */
+-      for (k = j + 1; k < nlist; ++k)
++      /* We can skip looking for the binary itself which is at the front
++       of the search list.  */
++      i = 1;
++      unsigned int seen[nlist];
++      memset (seen, 0, nlist * sizeof (seen[0]));
++      while (1)
+       {
+-        struct link_map **runp;
+-
+-        runp = l_initfini[k]->l_initfini;
+-        if (runp != NULL)
++        /* Keep track of which object we looked at this round.  */
++        ++seen[i];
++        struct link_map *thisp = l_initfini[i];
++
++        /* Find the last object in the list for which the current one is
++           a dependency and move the current object behind the object
++           with the dependency.  */
++        unsigned int k = nlist - 1;
++        while (k > i)
+           {
+-            while (*runp != NULL)
+-              if (__builtin_expect (*runp++ == l, 0))
+-                {
+-                  struct link_map *here = l_initfini[k];
+-
+-                  /* Move it now.  */
+-                  memmove (&l_initfini[j] + 1, &l_initfini[j],
+-                           (k - j) * sizeof (struct link_map *));
+-                  l_initfini[j] = here;
+-
+-                  /* Don't insert further matches before the last
+-                     entry moved to the front.  */
+-                  ++j;
++            struct link_map **runp = l_initfini[k]->l_initfini;
++            if (runp != NULL)
++              /* Look through the dependencies of the object.  */
++              while (*runp != NULL)
++                if (__builtin_expect (*runp++ == thisp, 0))
++                  {
++                    /* Move the current object to the back past the last
++                       object with it as the dependency.  */
++                    memmove (&l_initfini[i], &l_initfini[i + 1],
++                             (k - i) * sizeof (l_initfini[0]));
++                    l_initfini[k] = thisp;
++
++                    if (seen[i + 1] > nlist - i - 2)
++                      {
++                        ++i;
++                        goto next_clear;
++                      }
++
++                    unsigned int this_seen = seen[i];
++                    memmove (&seen[i], &seen[i + 1],
++                             (k - i) * sizeof (seen[0]));
++                    seen[k] = this_seen;
++
++                    goto next;
++                  }
+-                  break;
+-                }
++            --k;
+           }
++
++        if (++i == nlist)
++          break;
++      next_clear:
++        memset (&seen[i], 0, (nlist - i) * sizeof (seen[0]));
++
++      next:;
+       }
+     }
++
+   /* Terminate the list of dependencies.  */
+   l_initfini[nlist] = NULL;
+   atomic_write_barrier ();
+diff -rup a/elf/dl-fini.c b/elf/dl-fini.c
+--- a/elf/dl-fini.c    2010-05-04 05:27:23.000000000 -0600
++++ b/elf/dl-fini.c    2012-01-19 13:56:38.653842046 -0700
+@@ -1,5 +1,6 @@
+ /* Call the termination functions of loaded shared objects.
+-   Copyright (C) 1995,96,1998-2002,2004-2005,2009 Free Software Foundation, Inc.
++   Copyright (C) 1995,96,1998-2002,2004-2005,2009,2011
++   Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    The GNU C Library is free software; you can redistribute it and/or
+@@ -29,89 +30,100 @@ typedef void (*fini_t) (void);
+ void
+ internal_function
+-_dl_sort_fini (struct link_map *l, struct link_map **maps, size_t nmaps,
+-             char *used, Lmid_t ns)
++_dl_sort_fini (struct link_map **maps, size_t nmaps, char *used, Lmid_t ns)
+ {
+-  if (ns == LM_ID_BASE)
+-    /* The main executable always comes first.  */
+-    l = l->l_next;
+-
+-  for (; l != NULL; l = l->l_next)
+-    /* Do not handle ld.so in secondary namespaces and object which
+-       are not removed.  */
+-    if (l == l->l_real && l->l_idx != -1)
+-      {
+-      /* Find the place in the 'maps' array.  */
+-      unsigned int j;
+-      for (j = ns == LM_ID_BASE ? 1 : 0; maps[j] != l; ++j)
+-        assert (j < nmaps);
+-
+-      /* Find all object for which the current one is a dependency
+-         and move the found object (if necessary) in front.  */
+-      for (unsigned int k = j + 1; k < nmaps; ++k)
+-        {
+-          struct link_map **runp = maps[k]->l_initfini;
+-          if (runp != NULL)
+-            {
+-              while (*runp != NULL)
+-                if (*runp == l)
+-                  {
+-                    struct link_map *here = maps[k];
++  /* A list of one element need not be sorted.  */
++  if (nmaps == 1)
++    return;
++
++  /* We can skip looking for the binary itself which is at the front
++     of the search list for the main namespace.  */
++  unsigned int i = ns == LM_ID_BASE;
++  unsigned int seen[nmaps];
++  memset (seen, 0, nmaps * sizeof (seen[0]));
++  while (1)
++    {
++      /* Keep track of which object we looked at this round.  */
++      ++seen[i];
++      struct link_map *thisp = maps[i];
++
++      /* Do not handle ld.so in secondary namespaces and object which
++       are not removed.  */
++      if (thisp != thisp->l_real || thisp->l_idx == -1)
++      goto skip;
++
++      /* Find the last object in the list for which the current one is
++       a dependency and move the current object behind the object
++       with the dependency.  */
++      unsigned int k = nmaps - 1;
++      while (k > i)
++      {
++        struct link_map **runp = maps[k]->l_initfini;
++        if (runp != NULL)
++          /* Look through the dependencies of the object.  */
++          while (*runp != NULL)
++            if (__builtin_expect (*runp++ == thisp, 0))
++              {
++              move:
++                /* Move the current object to the back past the last
++                   object with it as the dependency.  */
++                memmove (&maps[i], &maps[i + 1],
++                         (k - i) * sizeof (maps[0]));
++                maps[k] = thisp;
+-                    /* Move it now.  */
+-                    memmove (&maps[j] + 1,
+-                             &maps[j], (k - j) * sizeof (struct link_map *));
+-                    maps[j] = here;
++                if (used != NULL)
++                  {
++                    char here_used = used[i];
++                    memmove (&used[i], &used[i + 1],
++                             (k - i) * sizeof (used[0]));
++                    used[k] = here_used;
++                  }
+-                    if (used != NULL)
+-                      {
+-                        char here_used = used[k];
++                if (seen[i + 1] > nmaps - i - 2)
++                  {
++                    ++i;
++                    goto next_clear;
++                  }
+-                        memmove (&used[j] + 1,
+-                                 &used[j], (k - j) * sizeof (char));
+-                        used[j] = here_used;
+-                      }
++                unsigned int this_seen = seen[i];
++                memmove (&seen[i], &seen[i + 1], (k - i) * sizeof (seen[0]));
++                seen[k] = this_seen;
+-                    ++j;
++                goto next;
++              }
+-                    break;
+-                  }
+-                else
+-                  ++runp;
+-            }
+-
+-          if (__builtin_expect (maps[k]->l_reldeps != NULL, 0))
+-            {
+-              unsigned int m = maps[k]->l_reldeps->act;
+-              struct link_map **relmaps = &maps[k]->l_reldeps->list[0];
++        if (__builtin_expect (maps[k]->l_reldeps != NULL, 0))
++          {
++            unsigned int m = maps[k]->l_reldeps->act;
++            struct link_map **relmaps = &maps[k]->l_reldeps->list[0];
+-              while (m-- > 0)
++            /* Look through the relocation dependencies of the object.  */
++            while (m-- > 0)
++              if (__builtin_expect (relmaps[m] == thisp, 0))
+                 {
+-                  if (relmaps[m] == l)
+-                    {
+-                      struct link_map *here = maps[k];
+-
+-                      /* Move it now.  */
+-                      memmove (&maps[j] + 1,
+-                               &maps[j],
+-                               (k - j) * sizeof (struct link_map *));
+-                      maps[j] = here;
+-
+-                      if (used != NULL)
+-                        {
+-                          char here_used = used[k];
+-
+-                          memmove (&used[j] + 1,
+-                                   &used[j], (k - j) * sizeof (char));
+-                          used[j] = here_used;
+-                        }
+-
+-                      break;
+-                    }
++                  /* If a cycle exists with a link time dependency,
++                     preserve the latter.  */
++                  struct link_map **runp = thisp->l_initfini;
++                  if (runp != NULL)
++                    while (*runp != NULL)
++                      if (__builtin_expect (*runp++ == maps[k], 0))
++                        goto ignore;
++                  goto move;
+                 }
+-            }
+-        }
+-      }
++          ignore:;
++          }
++
++        --k;
++      }
++
++    skip:
++      if (++i == nmaps)
++      break;
++    next_clear:
++      memset (&seen[i], 0, (nmaps - i) * sizeof (seen[0]));
++
++    next:;
++    }
+ }
+@@ -196,9 +208,8 @@ _dl_fini (void)
+       assert (ns == LM_ID_BASE || i == nloaded || i == nloaded - 1);
+       nmaps = i;
+-      if (nmaps != 0)
+-      /* Now we have to do the sorting.  */
+-      _dl_sort_fini (GL(dl_ns)[ns]._ns_loaded, maps, nmaps, NULL, ns);
++      /* Now we have to do the sorting.  */
++      _dl_sort_fini (maps, nmaps, NULL, ns);
+       /* We do not rely on the linked list of loaded object anymore from
+        this point on.  We have our own list here (maps).  The various
+diff -rup a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
+--- a/sysdeps/generic/ldsodefs.h       2012-01-19 12:59:42.446483997 -0700
++++ b/sysdeps/generic/ldsodefs.h       2012-01-19 14:16:36.242453532 -0700
+@@ -947,7 +947,7 @@ extern void _dl_init (struct link_map *m
+ extern void _dl_fini (void) internal_function;
+ /* Sort array MAPS according to dependencies of the contained objects.  */
+-extern void _dl_sort_fini (struct link_map *l, struct link_map **maps,
++extern void _dl_sort_fini (struct link_map **maps,
+                          size_t nmaps, char *used, Lmid_t ns)
+      internal_function;
diff --git a/src/patches/glibc/glibc-rh784402.patch b/src/patches/glibc/glibc-rh784402.patch
new file mode 100644 (file)
index 0000000..d75773e
--- /dev/null
@@ -0,0 +1,166 @@
+commit 3e1aa84e7f9f38815f5db9cd7654b1a9497cf6e4
+Author: Ulrich Drepper <drepper@gmail.com>
+Date:   Fri Jan 20 22:39:54 2012 -0500
+
+    Do not cache negative results in nscd if these are transient
+
+diff -rup a/nscd/aicache.c b/nscd/aicache.c
+--- a/nscd/aicache.c   2012-01-24 20:32:58.906826425 -0700
++++ b/nscd/aicache.c   2012-01-24 20:42:17.663968882 -0700
+@@ -511,9 +511,17 @@ next_nip:
+       if (fd != -1)
+       TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
+-      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
+-      /* If we cannot permanently store the result, so be it.  */
+-      if (dataset != NULL)
++      /* If we have a transient error or cannot permanently store the
++       result, so be it.  */
++      if (rc4 == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
++      {
++        /* Mark the old entry as obsolete.  */
++        if (dh != NULL)
++          dh->usable = false;
++        dataset = NULL;
++      }
++      else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
++                                            + req->key_len), 1)) != NULL)
+       {
+         dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
+         dataset->head.recsize = total;
+diff -rup a/nscd/grpcache.c b/nscd/grpcache.c
+--- a/nscd/grpcache.c  2012-01-24 20:32:58.910826427 -0700
++++ b/nscd/grpcache.c  2012-01-24 20:42:17.666968883 -0700
+@@ -114,13 +114,21 @@ cache_addgr (struct database_dyn *db, in
+            case.  */
+         total = sizeof (notfound);
+-        written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
+-                                            MSG_NOSIGNAL));
++        if (fd != -1)
++          written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
++                                              MSG_NOSIGNAL));
++        else
++          written = total;
+-        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
+-                                 1);
+-        /* If we cannot permanently store the result, so be it.  */
+-        if (dataset != NULL)
++        /* If we have a transient error or cannot permanently store
++           the result, so be it.  */
++        if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
++          {
++            /* Mark the old entry as obsolete.  */
++            if (dh != NULL)
++              dh->usable = false;
++          }
++        else if ((dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1)) != NULL)
+           {
+             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
+             dataset->head.recsize = total;
+diff -rup a/nscd/hstcache.c b/nscd/hstcache.c
+--- a/nscd/hstcache.c  2012-01-24 20:32:58.911826427 -0700
++++ b/nscd/hstcache.c  2012-01-24 20:42:17.668968883 -0700
+@@ -141,10 +141,16 @@ cache_addhst (struct database_dyn *db, i
+                                       MSG_NOSIGNAL)) != total)
+           all_written = false;
+-        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
+-                                 1);
+-        /* If we cannot permanently store the result, so be it.  */
+-        if (dataset != NULL)
++        /* If we have a transient error or cannot permanently store
++           the result, so be it.  */
++        if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
++          {
++            /* Mark the old entry as obsolete.  */
++            if (dh != NULL)
++              dh->usable = false;
++          }
++        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
++                                                + req->key_len), 1)) != NULL)
+           {
+             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
+             dataset->head.recsize = total;
+diff -rup a/nscd/initgrcache.c b/nscd/initgrcache.c
+--- a/nscd/initgrcache.c       2012-01-24 20:32:58.912826427 -0700
++++ b/nscd/initgrcache.c       2012-01-24 20:42:17.671968883 -0700
+@@ -202,10 +202,16 @@ addinitgroupsX (struct database_dyn *db,
+           written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
+                                               MSG_NOSIGNAL));
+-        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
+-                                 1);
+-        /* If we cannot permanently store the result, so be it.  */
+-        if (dataset != NULL)
++        /* If we have a transient error or cannot permanently store
++           the result, so be it.  */
++        if (all_tryagain || __builtin_expect (db->negtimeout == 0, 0))
++          {
++            /* Mark the old entry as obsolete.  */
++            if (dh != NULL)
++              dh->usable = false;
++          }
++        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
++                                                + req->key_len), 1)) != NULL)
+           {
+             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
+             dataset->head.recsize = total;
+diff -rup a/nscd/pwdcache.c b/nscd/pwdcache.c
+--- a/nscd/pwdcache.c  2012-01-24 20:32:58.914826427 -0700
++++ b/nscd/pwdcache.c  2012-01-24 20:42:17.671968883 -0700
+@@ -124,10 +124,16 @@ cache_addpw (struct database_dyn *db, in
+           written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
+                                               MSG_NOSIGNAL));
+-        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
+-                                 1);
+-        /* If we cannot permanently store the result, so be it.  */
+-        if (dataset != NULL)
++        /* If we have a transient error or cannot permanently store
++           the result, so be it.  */
++        if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
++          {
++            /* Mark the old entry as obsolete.  */
++            if (dh != NULL)
++              dh->usable = false;
++          }
++        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
++                                                + req->key_len), 1)) != NULL)
+           {
+             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
+             dataset->head.recsize = total;
+diff -rup a/nscd/servicescache.c b/nscd/servicescache.c
+--- a/nscd/servicescache.c     2012-01-24 20:32:58.915826427 -0700
++++ b/nscd/servicescache.c     2012-01-24 20:42:17.672968884 -0700
+@@ -102,15 +102,22 @@ cache_addserv (struct database_dyn *db,
+       {
+         /* We have no data.  This means we send the standard reply for this
+            case.  */
+-        total = sizeof (notfound);
++        written = total = sizeof (notfound);
+-        written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
+-                                            MSG_NOSIGNAL));
++        if (fd != -1)
++          written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
++                                              MSG_NOSIGNAL));
+-        dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
+-                                 1);
+-        /* If we cannot permanently store the result, so be it.  */
+-        if (dataset != NULL)
++        /* If we have a transient error or cannot permanently store
++           the result, so be it.  */
++        if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0))
++          {
++            /* Mark the old entry as obsolete.  */
++            if (dh != NULL)
++              dh->usable = false;
++          }
++        else if ((dataset = mempool_alloc (db, (sizeof (struct dataset)
++                                                + req->key_len), 1)) != NULL)
+           {
+             dataset->head.allocsize = sizeof (struct dataset) + req->key_len;
+             dataset->head.recsize = total;
diff --git a/src/patches/glibc/glibc-rh785984.patch b/src/patches/glibc/glibc-rh785984.patch
new file mode 100644 (file)
index 0000000..80ba5e8
--- /dev/null
@@ -0,0 +1,20 @@
+diff -rup a/localedata/locales/zh_CN b/localedata/locales/zh_CN
+--- a/localedata/locales/zh_CN 2006-07-30 16:19:43.000000000 -0600
++++ b/localedata/locales/zh_CN 2012-01-30 21:24:46.905115483 -0700
+@@ -108,11 +108,11 @@ day      "<U661F><U671F><U65E5>";/
+       "<U661F><U671F><U4E94>";/
+       "<U661F><U671F><U516D>"
+-abmon "<U0020><U0031><U6708>";"<U0020><U0032><U6708>";/
+-      "<U0020><U0033><U6708>";"<U0020><U0034><U6708>";/
+-      "<U0020><U0035><U6708>";"<U0020><U0036><U6708>";/
+-      "<U0020><U0037><U6708>";"<U0020><U0038><U6708>";/
+-      "<U0020><U0039><U6708>";"<U0031><U0030><U6708>";/
++abmon "<U0031><U6708>";"<U0032><U6708>";/
++      "<U0033><U6708>";"<U0034><U6708>";/
++      "<U0035><U6708>";"<U0036><U6708>";/
++      "<U0037><U6708>";"<U0038><U6708>";/
++      "<U0039><U6708>";"<U0031><U0030><U6708>";/
+       "<U0031><U0031><U6708>";"<U0031><U0032><U6708>"
+ mon   "<U4E00><U6708>";"<U4E8C><U6708>";"<U4E09><U6708>";/
diff --git a/src/patches/glibc/glibc-rh788959-2.patch b/src/patches/glibc/glibc-rh788959-2.patch
new file mode 100644 (file)
index 0000000..1064640
--- /dev/null
@@ -0,0 +1,153 @@
+diff -rcp a/nscd/grpcache.c b/nscd/grpcache.c
+*** a/nscd/grpcache.c  Wed Apr 11 12:50:07 2012
+--- b/nscd/grpcache.c  Wed Apr 11 21:45:58 2012
+*************** cache_addgr (struct database_dyn *db, in
+*** 178,184 ****
+        char *cp;
+        const size_t key_len = strlen (key);
+        const size_t buf_len = 3 * sizeof (grp->gr_gid) + key_len + 1;
+!       char *buf = alloca (buf_len);
+        ssize_t n;
+        size_t cnt;
+  
+--- 178,185 ----
+        char *cp;
+        const size_t key_len = strlen (key);
+        const size_t buf_len = 3 * sizeof (grp->gr_gid) + key_len + 1;
+!       size_t alloca_used = 0;
+!       char *buf = alloca_account (buf_len, alloca_used);
+        ssize_t n;
+        size_t cnt;
+  
+*************** cache_addgr (struct database_dyn *db, in
+*** 190,196 ****
+        /* Determine the length of all members.  */
+        while (grp->gr_mem[gr_mem_cnt])
+       ++gr_mem_cnt;
+!       gr_mem_len = (uint32_t *) alloca (gr_mem_cnt * sizeof (uint32_t));
+        for (gr_mem_cnt = 0; grp->gr_mem[gr_mem_cnt]; ++gr_mem_cnt)
+       {
+         gr_mem_len[gr_mem_cnt] = strlen (grp->gr_mem[gr_mem_cnt]) + 1;
+--- 191,198 ----
+        /* Determine the length of all members.  */
+        while (grp->gr_mem[gr_mem_cnt])
+       ++gr_mem_cnt;
+!       gr_mem_len = (uint32_t *) alloca_account (gr_mem_cnt * sizeof (uint32_t),
+!                                              alloca_used);
+        for (gr_mem_cnt = 0; grp->gr_mem[gr_mem_cnt]; ++gr_mem_cnt)
+       {
+         gr_mem_len[gr_mem_cnt] = strlen (grp->gr_mem[gr_mem_cnt]) + 1;
+*************** cache_addgr (struct database_dyn *db, in
+*** 205,214 ****
+        change.  Allocate memory on the cache since it is likely
+        discarded anyway.  If it turns out to be necessary to have a
+        new record we can still allocate real memory.  */
+!       bool alloca_used = false;
+        dataset = NULL;
+  
+!       if (he == NULL)
+       dataset = (struct dataset *) mempool_alloc (db, total + n, 1);
+  
+        if (dataset == NULL)
+--- 207,216 ----
+        change.  Allocate memory on the cache since it is likely
+        discarded anyway.  If it turns out to be necessary to have a
+        new record we can still allocate real memory.  */
+!       bool dataset_in_stack_or_freed = false;
+        dataset = NULL;
+  
+!       if (he == NULL || ! __libc_use_alloca (alloca_used + total + n))
+       dataset = (struct dataset *) mempool_alloc (db, total + n, 1);
+  
+        if (dataset == NULL)
+*************** cache_addgr (struct database_dyn *db, in
+*** 216,225 ****
+         /* We cannot permanently add the result in the moment.  But
+            we can provide the result as is.  Store the data in some
+            temporary memory.  */
+!        dataset = (struct dataset *) alloca (total + n);
+  
+         /* We cannot add this record to the permanent database.  */
+!        alloca_used = true;
+       }
+  
+        dataset->head.allocsize = total + n;
+--- 218,227 ----
+         /* We cannot permanently add the result in the moment.  But
+            we can provide the result as is.  Store the data in some
+            temporary memory.  */
+!        dataset = (struct dataset *) alloca_account (total + n, alloca_used);
+  
+         /* We cannot add this record to the permanent database.  */
+!        dataset_in_stack_or_freed = true;
+       }
+  
+        dataset->head.allocsize = total + n;
+*************** cache_addgr (struct database_dyn *db, in
+*** 273,278 ****
+--- 275,288 ----
+                allocated on the stack and need not be freed.  */
+             dh->timeout = dataset->head.timeout;
+             ++dh->nreloads;
++ 
++            /* If the new record was not allocated on the stack, then it must
++               be freed.  Note that it can no longer be used.  */
++            if (! dataset_in_stack_or_freed)
++              {
++                free (dataset);
++                dataset_in_stack_or_freed = true;
++              }
+           }
+         else
+           {
+*************** cache_addgr (struct database_dyn *db, in
+*** 288,294 ****
+                 key_copy = (char *) newp + (key_copy - (char *) dataset);
+  
+                 dataset = memcpy (newp, dataset, total + n);
+!                alloca_used = false;
+               }
+  
+             /* Mark the old record as obsolete.  */
+--- 298,304 ----
+                 key_copy = (char *) newp + (key_copy - (char *) dataset);
+  
+                 dataset = memcpy (newp, dataset, total + n);
+!                dataset_in_stack_or_freed = false;
+               }
+  
+             /* Mark the old record as obsolete.  */
+*************** cache_addgr (struct database_dyn *db, in
+*** 303,309 ****
+         assert (fd != -1);
+  
+  #ifdef HAVE_SENDFILE
+!        if (__builtin_expect (db->mmap_used, 1) && !alloca_used)
+           {
+             assert (db->wr_fd != -1);
+             assert ((char *) &dataset->resp > (char *) db->data);
+--- 313,319 ----
+         assert (fd != -1);
+  
+  #ifdef HAVE_SENDFILE
+!        if (__builtin_expect (db->mmap_used, 1) && !dataset_in_stack_or_freed)
+           {
+             assert (db->wr_fd != -1);
+             assert ((char *) &dataset->resp > (char *) db->data);
+*************** cache_addgr (struct database_dyn *db, in
+*** 330,336 ****
+  
+        /* Add the record to the database.  But only if it has not been
+        stored on the stack.  */
+!       if (! alloca_used)
+       {
+         /* If necessary, we also propagate the data to disk.  */
+         if (db->persistent)
+--- 340,346 ----
+  
+        /* Add the record to the database.  But only if it has not been
+        stored on the stack.  */
+!       if (! dataset_in_stack_or_freed)
+       {
+         /* If necessary, we also propagate the data to disk.  */
+         if (db->persistent)
diff --git a/src/patches/glibc/glibc-rh788959.patch b/src/patches/glibc/glibc-rh788959.patch
new file mode 100644 (file)
index 0000000..adc6c99
--- /dev/null
@@ -0,0 +1,130 @@
+diff -pruN glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-initgroups.c glibc-2.12-2-gc4ccff1.patched/nis/nss_compat/compat-initgroups.c
+--- glibc-2.12-2-gc4ccff1/nis/nss_compat/compat-initgroups.c   2010-05-04 16:57:23.000000000 +0530
++++ glibc-2.12-2-gc4ccff1.patched/nis/nss_compat/compat-initgroups.c   2012-02-21 11:11:19.877008465 +0530
+@@ -297,6 +297,8 @@ getgrent_next_nss (ent_t *ent, char *buf
+       if (nss_initgroups_dyn (user, group, &mystart, &mysize, &mygroups,
+                             limit, errnop) == NSS_STATUS_SUCCESS)
+       {
++        status = NSS_STATUS_NOTFOUND;
++
+         /* If there is no blacklist we can trust the underlying
+            initgroups implementation.  */
+         if (ent->blacklist.current <= 1)
+@@ -309,6 +311,7 @@ getgrent_next_nss (ent_t *ent, char *buf
+                overwrite the pointer with one to a bigger buffer.  */
+             char *tmpbuf = buffer;
+             size_t tmplen = buflen;
++            bool use_malloc = false;
+             for (int i = 0; i < mystart; i++)
+               {
+@@ -316,21 +319,36 @@ getgrent_next_nss (ent_t *ent, char *buf
+                                                  tmpbuf, tmplen, errnop))
+                        == NSS_STATUS_TRYAGAIN
+                        && *errnop == ERANGE)
+-                  if (tmpbuf == buffer)
+-                    {
+-                      tmplen *= 2;
+-                      tmpbuf = __alloca (tmplen);
+-                    }
+-                  else
+-                    tmpbuf = extend_alloca (tmpbuf, tmplen, 2 * tmplen);
++                    {
++                      if (__libc_use_alloca (tmplen * 2))
++                        {
++                          if (tmpbuf == buffer)
++                            {
++                              tmplen *= 2;
++                              tmpbuf = __alloca (tmplen);
++                            }
++                          else
++                            tmpbuf = extend_alloca (tmpbuf, tmplen, tmplen * 2);
++                        }
++                      else
++                        {
++                          tmplen *= 2;
++                          char *newbuf = realloc (use_malloc ? tmpbuf : NULL, tmplen);
++                    
++                          if (newbuf == NULL)
++                            {
++                              status = NSS_STATUS_TRYAGAIN;
++                            goto done;
++                            }
++                          use_malloc = true;
++                          tmpbuf = newbuf;
++                        }
++                    }
+                 if (__builtin_expect  (status != NSS_STATUS_NOTFOUND, 1))
+                   {
+                     if (__builtin_expect  (status != NSS_STATUS_SUCCESS, 0))
+-                      {
+-                        free (mygroups);
+-                        return status;
+-                      }
++                      goto done;
+                     if (!in_blacklist (grpbuf.gr_name,
+                                        strlen (grpbuf.gr_name), ent)
+@@ -348,11 +366,17 @@ getgrent_next_nss (ent_t *ent, char *buf
+                       }
+                   }
+               }
++
++              status = NSS_STATUS_NOTFOUND;
++
++ done:
++              if (use_malloc)
++                free (tmpbuf);
+           }
+         free (mygroups);
+-        return NSS_STATUS_NOTFOUND;
++        return status;
+       }
+       free (mygroups);
+@@ -506,6 +530,7 @@ _nss_compat_initgroups_dyn (const char *
+   char *tmpbuf;
+   enum nss_status status;
+   ent_t intern = { true, false, false, NULL, {NULL, 0, 0} };
++  bool use_malloc = false;
+   status = internal_setgrent (&intern);
+   if (status != NSS_STATUS_SUCCESS)
+@@ -519,13 +544,32 @@ _nss_compat_initgroups_dyn (const char *
+                                           user, group, start, size,
+                                           groupsp, limit, errnop))
+            == NSS_STATUS_TRYAGAIN && *errnop == ERANGE)
+-      tmpbuf = extend_alloca (tmpbuf, buflen, 2 * buflen);
++        if (__libc_use_alloca (buflen * 2))
++          tmpbuf = extend_alloca (tmpbuf, buflen, 2 * buflen);
++        else
++          {
++            buflen *= 2;
++            char *newbuf = realloc (use_malloc ? tmpbuf : NULL, buflen);
++            if (newbuf == NULL)
++              {
++                status = NSS_STATUS_TRYAGAIN;
++                goto done;
++              }
++            use_malloc = true;
++            tmpbuf = newbuf;
++          }
+     }
+   while (status == NSS_STATUS_SUCCESS);
++  status = NSS_STATUS_SUCCESS;
++
++ done:
++  if (use_malloc)
++    free (tmpbuf);
++
+   internal_endgrent (&intern);
+-  return NSS_STATUS_SUCCESS;
++  return status;
+ }
diff --git a/src/patches/glibc/glibc-rh789189.patch b/src/patches/glibc/glibc-rh789189.patch
new file mode 100644 (file)
index 0000000..fc0e2e0
--- /dev/null
@@ -0,0 +1,12 @@
+diff -rup a/resolv/res_init.c b/resolv/res_init.c
+--- a/resolv/res_init.c        2010-05-04 05:27:23.000000000 -0600
++++ b/resolv/res_init.c        2012-02-10 10:20:24.923578396 -0700
+@@ -325,7 +325,7 @@ __res_vinit(res_state statp, int preinit
+                         struct in6_addr a6;
+                         char *el;
+-                        if ((el = strchr(cp, '\n')) != NULL)
++                        if ((el = strpbrk(cp, " \t\n")) != NULL)
+                             *el = '\0';
+                       if ((el = strchr(cp, SCOPE_DELIMITER)) != NULL)
+                           *el = '\0';
diff --git a/src/patches/glibc/glibc-rh789209.patch b/src/patches/glibc/glibc-rh789209.patch
new file mode 100644 (file)
index 0000000..3aea97e
--- /dev/null
@@ -0,0 +1,12 @@
+diff -rup a/localedata/locales/uk_UA b/localedata/locales/uk_UA
+--- a/localedata/locales/uk_UA 2010-05-04 05:27:23.000000000 -0600
++++ b/localedata/locales/uk_UA 2012-02-10 09:59:16.934189715 -0700
+@@ -700,7 +700,7 @@ LC_MONETARY
+ % 200 hrv. - 200 hryven (money)
+ % the local currency symbol
+-currency_symbol           "<U0433><U0440>" % hr (hryvnya)
++currency_symbol           "<U0433><U0440><U043D><U002E>"  % hr (hryvnya)
+ % This must be a 4-character string containing the international currency
+ % symbol as defined by the ISO 4217 standard (three characters) followed
diff --git a/src/patches/glibc/glibc-rh789238-2.patch b/src/patches/glibc/glibc-rh789238-2.patch
new file mode 100644 (file)
index 0000000..62b5492
--- /dev/null
@@ -0,0 +1,114 @@
+diff -rup a/malloc/arena.c b/malloc/arena.c
+--- a/malloc/arena.c   2012-03-02 10:22:47.025002715 -0700
++++ b/malloc/arena.c   2012-03-02 10:27:47.442361529 -0700
+@@ -123,14 +123,14 @@ int __malloc_initialized = -1;
+   if(ptr) \
+     (void)mutex_lock(&ptr->mutex); \
+   else \
+-    ptr = arena_get2(ptr, (size)); \
++    ptr = arena_get2(ptr, (size), false); \
+ } while(0)
+ #else
+ #define arena_lock(ptr, size) do { \
+   if(ptr && !mutex_trylock(&ptr->mutex)) { \
+     THREAD_STAT(++(ptr->stat_lock_direct)); \
+   } else \
+-    ptr = arena_get2(ptr, (size)); \
++    ptr = arena_get2(ptr, (size), false); \
+ } while(0)
+ #endif
+@@ -982,7 +982,7 @@ get_free_list (void)
+ static mstate
+-reused_arena (void)
++reused_arena (bool retrying)
+ {
+   mstate result;
+   static mstate next_to_use;
+@@ -999,6 +999,15 @@ reused_arena (void)
+     }
+   while (result != next_to_use);
++  /* If we are retrying due to a failure to allocate in the main
++     arena, don't wait for the main arena to become available, select
++     another.
++
++     To really fix this right we would have to try the allocation
++     in every other arena, but that seems like severe overkill.  */
++  if (retrying && result == &main_arena)
++    result = result->next;
++
+   /* No arena available.  Wait for the next in line.  */
+   (void)mutex_lock(&result->mutex);
+@@ -1014,9 +1023,9 @@ reused_arena (void)
+ static mstate
+ internal_function
+ #if __STD_C
+-arena_get2(mstate a_tsd, size_t size)
++arena_get2(mstate a_tsd, size_t size, bool retrying)
+ #else
+-arena_get2(a_tsd, size) mstate a_tsd; size_t size;
++arena_get2(a_tsd, size, retrying) mstate a_tsd; size_t size; bool retrying
+ #endif
+ {
+   mstate a;
+@@ -1055,7 +1064,7 @@ arena_get2(a_tsd, size) mstate a_tsd; si
+           catomic_decrement (&narenas);
+       }
+       else
+-      a = reused_arena ();
++      a = reused_arena (retrying);
+     }
+ #else
+   if(!a_tsd)
+diff -rup a/malloc/malloc.c b/malloc/malloc.c
+--- a/malloc/malloc.c  2012-03-02 10:22:47.061002519 -0700
++++ b/malloc/malloc.c  2012-03-02 10:23:53.151643863 -0700
+@@ -3671,7 +3671,7 @@ public_mALLOc(size_t bytes)
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+       mstate prev = ar_ptr->next ? ar_ptr : 0;
+       (void)mutex_unlock(&ar_ptr->mutex);
+-      ar_ptr = arena_get2(prev, bytes);
++      ar_ptr = arena_get2(prev, bytes, true);
+       if(ar_ptr) {
+       victim = _int_malloc(ar_ptr, bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+@@ -3892,7 +3892,7 @@ public_mEMALIGn(size_t alignment, size_t
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+       mstate prev = ar_ptr->next ? ar_ptr : 0;
+       (void)mutex_unlock(&ar_ptr->mutex);
+-      ar_ptr = arena_get2(prev, bytes);
++      ar_ptr = arena_get2(prev, bytes, true);
+       if(ar_ptr) {
+       p = _int_memalign(ar_ptr, alignment, bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+@@ -3943,7 +3943,7 @@ public_vALLOc(size_t bytes)
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+       mstate prev = ar_ptr->next ? ar_ptr : 0;
+       (void)mutex_unlock(&ar_ptr->mutex);
+-      ar_ptr = arena_get2(prev, bytes);
++      ar_ptr = arena_get2(prev, bytes, true);
+       if(ar_ptr) {
+       p = _int_memalign(ar_ptr, pagesz, bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+@@ -3992,7 +3992,7 @@ public_pVALLOc(size_t bytes)
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+       mstate prev = ar_ptr->next ? ar_ptr : 0;
+       (void)mutex_unlock(&ar_ptr->mutex);
+-      ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE);
++      ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE, true);
+       if(ar_ptr) {
+       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+@@ -4086,7 +4086,7 @@ public_cALLOc(size_t n, size_t elem_size
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+       mstate prev = av->next ? av : 0;
+       (void)mutex_unlock(&av->mutex);
+-      av = arena_get2(prev, sz);
++      av = arena_get2(prev, sz, true);
+       if(av) {
+       mem = _int_malloc(av, sz);
+       (void)mutex_unlock(&av->mutex);
diff --git a/src/patches/glibc/glibc-rh789238.patch b/src/patches/glibc/glibc-rh789238.patch
new file mode 100644 (file)
index 0000000..f2c90e2
--- /dev/null
@@ -0,0 +1,119 @@
+diff -rup a/malloc/malloc.c b/malloc/malloc.c
+--- a/malloc/malloc.c  2012-02-13 21:46:11.678847531 -0700
++++ b/malloc/malloc.c  2012-02-13 22:43:14.788431976 -0700
+@@ -3669,8 +3669,9 @@ public_mALLOc(size_t bytes)
+     } else {
+ #if USE_ARENAS
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+-      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, bytes);
+-      (void)mutex_unlock(&main_arena.mutex);
++      mstate prev = ar_ptr->next ? ar_ptr : 0;
++      (void)mutex_unlock(&ar_ptr->mutex);
++      ar_ptr = arena_get2(prev, bytes);
+       if(ar_ptr) {
+       victim = _int_malloc(ar_ptr, bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+@@ -3929,10 +3930,10 @@ public_vALLOc(size_t bytes)
+   if(!ar_ptr)
+     return 0;
+   p = _int_valloc(ar_ptr, bytes);
+-  (void)mutex_unlock(&ar_ptr->mutex);
+   if(!p) {
+     /* Maybe the failure is due to running out of mmapped areas. */
+     if(ar_ptr != &main_arena) {
++      (void)mutex_unlock(&ar_ptr->mutex);
+       ar_ptr = &main_arena;
+       (void)mutex_lock(&ar_ptr->mutex);
+       p = _int_memalign(ar_ptr, pagesz, bytes);
+@@ -3940,14 +3941,17 @@ public_vALLOc(size_t bytes)
+     } else {
+ #if USE_ARENAS
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+-      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, bytes);
++      mstate prev = ar_ptr->next ? ar_ptr : 0;
++      (void)mutex_unlock(&ar_ptr->mutex);
++      ar_ptr = arena_get2(prev, bytes);
+       if(ar_ptr) {
+       p = _int_memalign(ar_ptr, pagesz, bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+       }
+ #endif
+     }
+-  }
++  } else
++    (void)mutex_unlock(&ar_ptr->mutex);
+   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
+        ar_ptr == arena_for_chunk(mem2chunk(p)));
+@@ -3975,10 +3979,10 @@ public_pVALLOc(size_t bytes)
+   arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE);
+   p = _int_pvalloc(ar_ptr, bytes);
+-  (void)mutex_unlock(&ar_ptr->mutex);
+   if(!p) {
+     /* Maybe the failure is due to running out of mmapped areas. */
+     if(ar_ptr != &main_arena) {
++      (void)mutex_unlock(&ar_ptr->mutex);
+       ar_ptr = &main_arena;
+       (void)mutex_lock(&ar_ptr->mutex);
+       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
+@@ -3986,15 +3990,17 @@ public_pVALLOc(size_t bytes)
+     } else {
+ #if USE_ARENAS
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+-      ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0,
+-                        bytes + 2*pagesz + MINSIZE);
++      mstate prev = ar_ptr->next ? ar_ptr : 0;
++      (void)mutex_unlock(&ar_ptr->mutex);
++      ar_ptr = arena_get2(prev, bytes + 2*pagesz + MINSIZE);
+       if(ar_ptr) {
+       p = _int_memalign(ar_ptr, pagesz, rounded_bytes);
+       (void)mutex_unlock(&ar_ptr->mutex);
+       }
+ #endif
+     }
+-  }
++  } else
++    (void)mutex_unlock(&ar_ptr->mutex);
+   assert(!p || chunk_is_mmapped(mem2chunk(p)) ||
+        ar_ptr == arena_for_chunk(mem2chunk(p)));
+@@ -4064,8 +4070,6 @@ public_cALLOc(size_t n, size_t elem_size
+ #endif
+   mem = _int_malloc(av, sz);
+-  /* Only clearing follows, so we can unlock early. */
+-  (void)mutex_unlock(&av->mutex);
+   assert(!mem || chunk_is_mmapped(mem2chunk(mem)) ||
+        av == arena_for_chunk(mem2chunk(mem)));
+@@ -4073,15 +4077,16 @@ public_cALLOc(size_t n, size_t elem_size
+   if (mem == 0) {
+     /* Maybe the failure is due to running out of mmapped areas. */
+     if(av != &main_arena) {
++      (void)mutex_unlock(&av->mutex);
+       (void)mutex_lock(&main_arena.mutex);
+       mem = _int_malloc(&main_arena, sz);
+       (void)mutex_unlock(&main_arena.mutex);
+     } else {
+ #if USE_ARENAS
+       /* ... or sbrk() has failed and there is still a chance to mmap() */
+-      (void)mutex_lock(&main_arena.mutex);
+-      av = arena_get2(av->next ? av : 0, sz);
+-      (void)mutex_unlock(&main_arena.mutex);
++      mstate prev = av->next ? av : 0;
++      (void)mutex_unlock(&av->mutex);
++      av = arena_get2(prev, sz);
+       if(av) {
+       mem = _int_malloc(av, sz);
+       (void)mutex_unlock(&av->mutex);
+@@ -4089,7 +4094,8 @@ public_cALLOc(size_t n, size_t elem_size
+ #endif
+     }
+     if (mem == 0) return 0;
+-  }
++  } else
++    (void)mutex_unlock(&av->mutex);
+   p = mem2chunk(mem);
+   /* Two optional cases in which clearing not necessary */
diff --git a/src/patches/glibc/glibc-rh794817-2.patch b/src/patches/glibc/glibc-rh794817-2.patch
new file mode 100644 (file)
index 0000000..15774b4
--- /dev/null
@@ -0,0 +1,85 @@
+diff -rup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
+--- a/stdio-common/vfprintf.c  2012-03-05 09:43:14.705536167 -0700
++++ b/stdio-common/vfprintf.c  2012-03-05 09:48:11.602890982 -0700
+@@ -822,7 +822,7 @@ vfprintf (FILE *s, const CHAR_T *format,
+                                                                             \
+       if (function_done < 0)                                                \
+         {                                                                   \
+-          /* Error in print handler.  */                                    \
++          /* Error in print handler; up to handler to set errno.  */        \
+           done = -1;                                                        \
+           goto all_done;                                                    \
+         }                                                                   \
+@@ -876,7 +876,7 @@ vfprintf (FILE *s, const CHAR_T *format,
+                                                                             \
+       if (function_done < 0)                                                \
+         {                                                                   \
+-          /* Error in print handler.  */                                    \
++          /* Error in print handler; up to handler to set errno.  */        \
+           done = -1;                                                        \
+           goto all_done;                                                    \
+         }                                                                   \
+@@ -1117,7 +1117,7 @@ vfprintf (FILE *s, const CHAR_T *format,
+                        &mbstate);                                           \
+       if (len == (size_t) -1)                                               \
+         {                                                                   \
+-          /* Something went wron gduring the conversion.  Bail out.  */     \
++          /* Something went wrong during the conversion.  Bail out.  */     \
+           done = -1;                                                        \
+           goto all_done;                                                    \
+         }                                                                   \
+@@ -1188,6 +1188,7 @@ vfprintf (FILE *s, const CHAR_T *format,
+                     if (__mbsnrtowcs (ignore, &str2, strend - str2,         \
+                                       ignore_size, &ps) == (size_t) -1)     \
+                       {                                                     \
++                        /* Conversion function has set errno.  */           \
+                         done = -1;                                          \
+                         goto all_done;                                      \
+                       }                                                     \
+@@ -1599,6 +1600,7 @@ vfprintf (FILE *s, const CHAR_T *format,
+         if (spec == L_('\0'))
+           {
+             /* The format string ended before the specifier is complete.  */
++            __set_errno (EINVAL);
+             done = -1;
+             goto all_done;
+           }
+@@ -1696,17 +1698,20 @@ do_positional:
+     /* Determine the number of arguments the format string consumes.  */
+     nargs = MAX (nargs, max_ref_arg);
++    /* Calculate total size needed to represent a single argument across
++       all three argument-related arrays.  */
+     bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
+                     + sizeof (*args_type);
+     /* Check for potential integer overflow.  */
+-    if (nargs > SIZE_MAX / bytes_per_arg)
++    if (__builtin_expect (nargs > SIZE_MAX / bytes_per_arg, 0))
+       {
++         __set_errno (ERANGE);
+          done = -1;
+          goto all_done;
+       }
+-    /* Allocate memory for the argument descriptions.  */
++    /* Allocate memory for all three argument arrays.  */
+     if (__libc_use_alloca (nargs * bytes_per_arg))
+         args_value = alloca (nargs * bytes_per_arg);
+     else
+@@ -1937,6 +1942,7 @@ do_positional:
+                      about # of chars.  */
+                   if (function_done < 0)
+                     {
++                      /* Function has set errno.  */
+                       done = -1;
+                       goto all_done;
+                     }
+@@ -1971,6 +1977,7 @@ do_positional:
+                of chars.  */
+             if (function_done < 0)
+               {
++                /* Function has set errno.  */
+                 done = -1;
+                 goto all_done;
+               }
diff --git a/src/patches/glibc/glibc-rh794817.patch b/src/patches/glibc/glibc-rh794817.patch
new file mode 100644 (file)
index 0000000..e21caaa
--- /dev/null
@@ -0,0 +1,239 @@
+From libc-alpha-return-25252-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Thu Feb 16 16:21:17 2012
+Return-Path: <libc-alpha-return-25252-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 5187 invoked by alias); 16 Feb 2012 16:21:14 -0000
+Delivered-To: moderator for libc-alpha at sourceware dot org
+Received: (qmail 2174 invoked by uid 22791); 16 Feb 2012 16:17:18 -0000
+X-SWARE-Spam-Status: No, hits=-2.0 required=5.0
+       tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,TW_TV,TW_VB,TW_VF,T_RP_MATCHES_RCVD
+X-Spam-Check-By: sourceware.org
+Date: Thu, 16 Feb 2012 08:16:13 -0800
+From: Kees Cook <kees at outflux dot net>
+To: "Ryan S dot  Arnold" <ryan dot arnold at gmail dot com>
+Cc: libc-alpha at sourceware dot org, Paul Eggert <eggert at cs dot ucla dot edu>,
+        Roland McGrath <roland at hack dot frob dot com>,
+        Andreas Schwab <schwab at linux-m68k dot org>
+Subject: Re: [PATCH] vfprintf: validate nargs and maybe allocate from heap
+Message-ID: <20120216161613.GZ20420@outflux.net>
+References: <20120206062537.GM4979@outflux.net>
+ <20120207000509 dot GP4989 at outflux dot net>
+ <20120210192457 dot GF20420 at outflux dot net>
+ <CAAKybw8AgkGsKAx=kvX4Tsi74f+HtuVnatTCB0VfsHi7vVFi1Q at mail dot gmail dot com>
+ <20120214223048 dot GM20420 at outflux dot net>
+ <CAAKybw_HS+cav+YcDw3ns7UXu6_xA7EHPrkiB87P+OGwEB0PVQ at mail dot gmail dot com>
+ <20120214224543 dot GN20420 at outflux dot net>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+In-Reply-To: <20120214224543 dot GN20420 at outflux dot net>
+X-MIMEDefang-Filter: outflux$Revision: 1.316 $
+X-HELO: www.outflux.net
+Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
+Precedence: bulk
+List-Id: <libc-alpha.sourceware.org>
+List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
+List-Archive: <http://sourceware.org/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sourceware dot org>
+List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
+Sender: libc-alpha-owner at sourceware dot org
+Delivered-To: mailing list libc-alpha at sourceware dot org
+
+The nargs value can overflow when doing allocations, allowing arbitrary
+memory writes via format strings, bypassing _FORTIFY_SOURCE:
+http://www.phrack.org/issues.html?issue=67&id=9
+
+This checks for nargs overflow and possibly allocates from heap instead of
+stack, and adds a regression test for the situation.
+
+I have FSF assignment via Google. (Sent from @outflux since that's how I'm
+subscribed here, but CL shows @chromium.org as part of my Google work.)
+
+This version disables the useless test on non-32-bit platforms.
+
+2012-02-16  Kees Cook  <keescook@chromium.org>
+
+       [BZ #13656]
+       * stdio-common/vfprintf.c (vfprintf): Check for nargs overflow and
+       possibly allocate from heap instead of stack.
+       * stdio-common/bug-vfprintf-nargs.c: New file.
+       * stdio-common/Makefile (tests): Add nargs overflow test.
+
+diff -rup a/stdio-common/Makefile b/stdio-common/Makefile
+--- a/stdio-common/Makefile    2010-05-04 05:27:23.000000000 -0600
++++ b/stdio-common/Makefile    2012-02-20 21:57:52.983040992 -0700
+@@ -60,7 +60,7 @@ tests := tstscanf test_rdwr test-popen t
+        tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
+        tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
+        bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
+-       scanf16 scanf17 tst-setvbuf1
++       scanf16 scanf17 tst-setvbuf1 bug-vfprintf-nargs
+ test-srcs = tst-unbputc tst-printf
+diff --git a/stdio-common/bug-vfprintf-nargs.c b/stdio-common/bug-vfprintf-nargs.c
+new file mode 100644
+index 0000000..13c66c0
+--- /dev/null
++++ b/stdio-common/bug-vfprintf-nargs.c
+@@ -0,0 +1,78 @@
++/* Test for vfprintf nargs allocation overflow (BZ #13656).
++   Copyright (C) 2012 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++   Contributed by Kees Cook <keescook@chromium.org>, 2012.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library 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
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <stdint.h>
++#include <unistd.h>
++#include <inttypes.h>
++#include <string.h>
++#include <signal.h>
++
++static int
++format_failed (const char *fmt, const char *expected)
++{
++  char output[80];
++
++  printf ("%s : ", fmt);
++
++  memset (output, 0, sizeof output);
++  /* Having sprintf itself detect a failure is good.  */
++  if (sprintf (output, fmt, 1, 2, 3, "test") > 0
++      && strcmp (output, expected) != 0)
++    {
++      printf ("FAIL (output '%s' != expected '%s')\n", output, expected);
++      return 1;
++    }
++  puts ("ok");
++  return 0;
++}
++
++static int
++do_test (void)
++{
++  int rc = 0;
++  char buf[64];
++
++  /* Regular positionals work.  */
++  if (format_failed ("%1$d", "1") != 0)
++    rc = 1;
++
++  /* Regular width positionals work.  */
++  if (format_failed ("%1$*2$d", " 1") != 0)
++    rc = 1;
++
++  /* Positional arguments are constructed via read_int, so nargs can only
++     overflow on 32-bit systems.  On 64-bit systems, it will attempt to
++     allocate a giant amount of memory and possibly crash, which is the
++     expected situation.  Since the 64-bit behavior is arch-specific, only
++     test this on 32-bit systems.  */
++  if (sizeof (long int) == 4)
++    {
++      sprintf (buf, "%%1$d %%%" PRIdPTR "$d", UINT32_MAX / sizeof (int));
++      if (format_failed (buf, "1 %$d") != 0)
++        rc = 1;
++    }
++
++  return rc;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
+index 863cd5d..022e72b 100644
+--- a/stdio-common/vfprintf.c
++++ b/stdio-common/vfprintf.c
+@@ -235,6 +235,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
+      0 if unknown.  */
+   int readonly_format = 0;
++  /* For the argument descriptions, which may be allocated on the heap.  */
++  void *args_malloced = NULL;
++
+   /* This table maps a character into a number representing a
+      class.  In each step there is a destination label for each
+      class.  */
+@@ -1647,9 +1650,10 @@ do_positional:
+        determine the size of the array needed to store the argument
+        attributes.  */
+     size_t nargs = 0;
+-    int *args_type;
+-    union printf_arg *args_value = NULL;
++    size_t bytes_per_arg;
++    union printf_arg *args_value;
+     int *args_size;
++    int *args_type;
+     /* Positional parameters refer to arguments directly.  This could
+        also determine the maximum number of arguments.  Track the
+@@ -1698,13 +1702,33 @@ do_positional:
+     /* Determine the number of arguments the format string consumes.  */
+     nargs = MAX (nargs, max_ref_arg);
++    bytes_per_arg = sizeof (*args_value) + sizeof (*args_size)
++                    + sizeof (*args_type);
++
++    /* Check for potential integer overflow.  */
++    if (nargs > SIZE_MAX / bytes_per_arg)
++      {
++         done = -1;
++         goto all_done;
++      }
+     /* Allocate memory for the argument descriptions.  */
+-    args_type = alloca (nargs * sizeof (int));
++    if (__libc_use_alloca (nargs * bytes_per_arg))
++        args_value = alloca (nargs * bytes_per_arg);
++    else
++      {
++        args_value = args_malloced = malloc (nargs * bytes_per_arg);
++        if (args_value == NULL)
++          {
++            done = -1;
++            goto all_done;
++          }
++      }
++
++    args_size = &args_value[nargs].pa_int;
++    args_type = &args_size[nargs];
+     memset (args_type, s->_flags2 & _IO_FLAGS2_FORTIFY ? '\xff' : '\0',
+-          nargs * sizeof (int));
+-    args_value = alloca (nargs * sizeof (union printf_arg));
+-    args_size = alloca (nargs * sizeof (int));
++          nargs * sizeof (*args_type));
+     /* XXX Could do sanity check here: If any element in ARGS_TYPE is
+        still zero after this loop, format is invalid.  For now we
+@@ -1973,8 +1997,8 @@ do_positional:
+   }
+ all_done:
+-  if (__builtin_expect (workstart != NULL, 0))
+-    free (workstart);
++  free (args_malloced);
++  free (workstart);
+   /* Unlock the stream.  */
+   _IO_funlockfile (s);
+   _IO_cleanup_region_end (0);
+-- 
+1.7.5.4
+
+-- 
+Kees Cook                                            @outflux.net
+
diff --git a/src/patches/glibc/glibc-rh795498.patch b/src/patches/glibc/glibc-rh795498.patch
new file mode 100644 (file)
index 0000000..729c5a4
--- /dev/null
@@ -0,0 +1,13 @@
+diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
+index 01369f6..44ad04d 100644
+--- a/resolv/nss_dns/dns-host.c
++++ b/resolv/nss_dns/dns-host.c
+@@ -1219,7 +1219,7 @@ gaih_getanswer (const querybuf *answer1, int anslen1, const querybuf *answer2,
+                                 &first);
+   if ((status == NSS_STATUS_SUCCESS || status == NSS_STATUS_NOTFOUND
+        || (status == NSS_STATUS_TRYAGAIN
+-         && (errno != ERANGE || *h_errnop != NO_RECOVERY)))
++         && (*errnop != ERANGE || *h_errnop == NO_RECOVERY)))
+       && answer2 != NULL && anslen2 > 0)
+     {
+       enum nss_status status2 = gaih_getanswer_slice(answer2, anslen2, qname,
diff --git a/src/patches/glibc/glibc-rh797094-1.patch b/src/patches/glibc/glibc-rh797094-1.patch
new file mode 100644 (file)
index 0000000..e98b9c0
--- /dev/null
@@ -0,0 +1,657 @@
+diff -rup a/include/alloca.h b/include/alloca.h
+--- a/include/alloca.h 2012-02-29 13:11:19.439693476 -0700
++++ b/include/alloca.h 2012-02-29 13:11:49.832530623 -0700
+@@ -49,15 +49,24 @@ libc_hidden_proto (__libc_alloca_cutoff)
+ #if defined stackinfo_get_sp && defined stackinfo_sub_sp
+ # define alloca_account(size, avar) \
+-  ({ void *old__ = stackinfo_get_sp ();                       \
+-     void *m__ = __alloca (size);                     \
+-     avar += stackinfo_sub_sp (old__);                        \
++  ({ void *old__ = stackinfo_get_sp ();                                             \
++     void *m__ = __alloca (size);                                           \
++     avar += stackinfo_sub_sp (old__);                                              \
++     m__; })
++# define extend_alloca_account(buf, len, newlen, avar) \
++  ({ void *old__ = stackinfo_get_sp ();                                             \
++     void *m__ = extend_alloca (buf, len, newlen);                          \
++     avar += stackinfo_sub_sp (old__);                                              \
+      m__; })
+ #else
+ # define alloca_account(size, avar) \
+-  ({ size_t s__ = (size);                 \
+-     avar += s__;                         \
++  ({ size_t s__ = (size);                                                   \
++     avar += s__;                                                           \
+      __alloca (s__); })
++# define extend_alloca_account(buf, len, newlen, avar) \
++  ({ size_t s__ = (newlen);                                                 \
++     avar += s__;                                                           \
++     extend_alloca (buf, len, s__); })
+ #endif
+ #endif
+diff -rup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+--- a/sysdeps/posix/getaddrinfo.c      2012-02-29 13:11:19.588692676 -0700
++++ b/sysdeps/posix/getaddrinfo.c      2012-02-29 13:12:42.972245862 -0700
+@@ -278,6 +278,7 @@ gaih_inet (const char *name, const struc
+   bool got_ipv6 = false;
+   const char *canon = NULL;
+   const char *orig_name = name;
++  size_t alloca_used = 0;
+   if (req->ai_protocol || req->ai_socktype)
+     {
+@@ -310,7 +311,7 @@ gaih_inet (const char *name, const struc
+         if (tp->name[0])
+           {
+             st = (struct gaih_servtuple *)
+-              __alloca (sizeof (struct gaih_servtuple));
++              alloca_account (sizeof (struct gaih_servtuple), alloca_used);
+             if ((rc = gaih_inet_serv (service->name, tp, req, st)))
+               return rc;
+@@ -334,7 +335,8 @@ gaih_inet (const char *name, const struc
+                   continue;
+                 newp = (struct gaih_servtuple *)
+-                  __alloca (sizeof (struct gaih_servtuple));
++                  alloca_account (sizeof (struct gaih_servtuple),
++                                  alloca_used);
+                 if ((rc = gaih_inet_serv (service->name, tp, req, newp)))
+                   {
+@@ -362,7 +364,7 @@ gaih_inet (const char *name, const struc
+       if (req->ai_socktype || req->ai_protocol)
+       {
+-        st = __alloca (sizeof (struct gaih_servtuple));
++        st = alloca_account (sizeof (struct gaih_servtuple), alloca_used);
+         st->next = NULL;
+         st->socktype = tp->socktype;
+         st->protocol = ((tp->protoflag & GAI_PROTO_PROTOANY)
+@@ -379,7 +381,8 @@ gaih_inet (const char *name, const struc
+             {
+               struct gaih_servtuple *newp;
+-              newp = __alloca (sizeof (struct gaih_servtuple));
++              newp = alloca_account (sizeof (struct gaih_servtuple),
++                                     alloca_used);
+               newp->next = NULL;
+               newp->socktype = tp->socktype;
+               newp->protocol = tp->protocol;
+@@ -391,10 +394,17 @@ gaih_inet (const char *name, const struc
+       }
+     }
++  bool malloc_name = false;
++  bool malloc_addrmem = false;
++  struct gaih_addrtuple *addrmem = NULL;
++  bool malloc_canonbuf = false;
++  char *canonbuf = NULL;
++  bool malloc_tmpbuf = false;
++  char *tmpbuf = NULL;
++  int result = 0;
+   if (name != NULL)
+     {
+-      at = __alloca (sizeof (struct gaih_addrtuple));
+-
++      at = alloca_account (sizeof (struct gaih_addrtuple), alloca_used);
+       at->family = AF_UNSPEC;
+       at->scopeid = 0;
+       at->next = NULL;
+@@ -412,6 +422,7 @@ gaih_inet (const char *name, const struc
+         rc = __idna_to_ascii_lz (name, &p, idn_flags);
+         if (rc != IDNA_SUCCESS)
+           {
++            /* No need to jump to free_and_return here.  */
+             if (rc == IDNA_MALLOC_ERROR)
+               return -EAI_MEMORY;
+             if (rc == IDNA_DLOPEN_ERROR)
+@@ -421,10 +432,7 @@ gaih_inet (const char *name, const struc
+         /* In case the output string is the same as the input string
+            no new string has been allocated.  */
+         if (p != name)
+-          {
+-            name = strdupa (p);
+-            free (p);
+-          }
++          malloc_name = true;
+       }
+ #endif
+@@ -441,23 +449,59 @@ gaih_inet (const char *name, const struc
+             at->family = AF_INET6;
+           }
+         else
+-          return -EAI_ADDRFAMILY;
++          {
++            result = -EAI_ADDRFAMILY;
++            goto free_and_return;
++          }
+         if (req->ai_flags & AI_CANONNAME)
+           canon = name;
+       }
+       else if (at->family == AF_UNSPEC)
+       {
+-        char *namebuf = (char *) name;
+         char *scope_delim = strchr (name, SCOPE_DELIMITER);
++        int e;
+-        if (__builtin_expect (scope_delim != NULL, 0))
+-          {
+-            namebuf = alloca (scope_delim - name + 1);
+-            *((char *) __mempcpy (namebuf, name, scope_delim - name)) = '\0';
+-          }
++        {
++          bool malloc_namebuf = false;
++          char *namebuf = (char *) name;
++
++          if (__builtin_expect (scope_delim != NULL, 0))
++            {
++              if (malloc_name)
++                *scope_delim = '\0';
++              else
++                {
++                  if (__libc_use_alloca (alloca_used
++                                         + scope_delim - name + 1))
++                    {
++                      namebuf = alloca_account (scope_delim - name + 1,
++                                                alloca_used);
++                      *((char *) __mempcpy (namebuf, name,
++                                            scope_delim - name)) = '\0';
++                    }
++                  else
++                    {
++                      namebuf = strndup (name, scope_delim - name);
++                      if (namebuf == NULL)
++                        {
++                          assert (!malloc_name);
++                          return -EAI_MEMORY;
++                        }
++                      malloc_namebuf = true;
++                    }
++                }
++            }
+-        if (inet_pton (AF_INET6, namebuf, at->addr) > 0)
++          e = inet_pton (AF_INET6, namebuf, at->addr);
++
++          if (malloc_namebuf)
++            free (namebuf);
++          else if (scope_delim != NULL && malloc_name)
++            /* Undo what we did above.  */
++            *scope_delim = SCOPE_DELIMITER;
++        }
++        if (e > 0)
+           {
+             if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET6)
+               at->family = AF_INET6;
+@@ -468,7 +512,10 @@ gaih_inet (const char *name, const struc
+                 at->family = AF_INET;
+               }
+             else
+-              return -EAI_ADDRFAMILY;
++              {
++                result = -EAI_ADDRFAMILY;
++                goto free_and_return;
++              }
+             if (scope_delim != NULL)
+               {
+@@ -490,7 +537,10 @@ gaih_inet (const char *name, const struc
+                     at->scopeid = (uint32_t) strtoul (scope_delim + 1, &end,
+                                                       10);
+                     if (*end != '\0')
+-                      return GAIH_OKIFUNSPEC | -EAI_NONAME;
++                      {
++                        result = GAIH_OKIFUNSPEC | -EAI_NONAME;
++                        goto free_and_return;
++                      }
+                   }
+               }
+@@ -520,59 +570,80 @@ gaih_inet (const char *name, const struc
+           {
+             int family = req->ai_family;
+             size_t tmpbuflen = 512;
+-            char *tmpbuf = alloca (tmpbuflen);
++            assert (tmpbuf == NULL);
++            tmpbuf = alloca_account (tmpbuflen, alloca_used);
+             int rc;
+             struct hostent th;
+             struct hostent *h;
+             int herrno;
+-          simple_again:
+             while (1)
+               {
+-                rc = __gethostbyname2_r (name, family, &th, tmpbuf,
++                rc = __gethostbyname2_r (name, AF_INET, &th, tmpbuf,
+                                          tmpbuflen, &h, &herrno);
+                 if (rc != ERANGE || herrno != NETDB_INTERNAL)
+                   break;
+-                tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen);
++
++                if (!malloc_tmpbuf
++                    && __libc_use_alloca (alloca_used + 2 * tmpbuflen))
++                  tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen,
++                                                  2 * tmpbuflen,
++                                                  alloca_used);
++                else
++                  {
++                    char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL,
++                                          2 * tmpbuflen);
++                    if (newp == NULL)
++                      {
++                        result = -EAI_MEMORY;
++                        goto free_and_return;
++                      }
++                    tmpbuf = newp;
++                    malloc_tmpbuf = true;
++                    tmpbuflen = 2 * tmpbuflen;
++                  }
+               }
+             if (rc == 0)
+               {
+-                if (h == NULL)
++                if (h != NULL)
+                   {
+-                    if (req->ai_family == AF_INET6
+-                        && (req->ai_flags & AI_V4MAPPED)
+-                        && family == AF_INET6)
++                    int i;
++                    /* We found data, count the number of addresses.  */
++                    for (i = 0; h->h_addr_list[i]; ++i)
++                      ;
++                    if (i > 0 && *pat != NULL)
++                      --i;
++
++                    if (__libc_use_alloca (alloca_used
++                                           + i * sizeof (struct gaih_addrtuple)))
++                      addrmem = alloca_account (i * sizeof (struct gaih_addrtuple),
++                                                alloca_used);
++                    else
+                       {
+-                        /* Try again, this time looking for IPv4
+-                           addresses.  */
+-                        family = AF_INET;
+-                        goto simple_again;
++                        addrmem = malloc (i
++                                          * sizeof (struct gaih_addrtuple));
++                        if (addrmem == NULL)
++                      {
++                            result = -EAI_MEMORY;
++                            goto free_and_return;
+                       }
++                        malloc_addrmem = true;
+                   }
+-                else
+-                  {
+-                    /* We found data, now convert it into the list.  */
+-                    for (int i = 0; h->h_addr_list[i]; ++i)
++
++                    /* Now convert it into the list.  */
++                    struct gaih_addrtuple *addrfree = addrmem;
++                    for (i = 0; h->h_addr_list[i]; ++i)
+                       {
+                         if (*pat == NULL)
+                           {
+-                            *pat = __alloca (sizeof (struct gaih_addrtuple));
++                            *pat = addrfree++;
+                             (*pat)->scopeid = 0;
+                           }
+                         (*pat)->next = NULL;
+-                        (*pat)->family = req->ai_family;
+-                        if (family == req->ai_family)
++                        (*pat)->family = AF_INET;
+                           memcpy ((*pat)->addr, h->h_addr_list[i],
+                                   h->h_length);
+-                        else
+-                          {
+-                            uint32_t *addr = (uint32_t *) (*pat)->addr;
+-                            addr[3] = *(uint32_t *) h->h_addr_list[i];
+-                            addr[2] = htonl (0xffff);
+-                            addr[1] = 0;
+-                            addr[0] = 0;
+-                          }
+                         pat = &((*pat)->next);
+                       }
+                   }
+@@ -582,15 +653,16 @@ gaih_inet (const char *name, const struc
+                 if (herrno == NETDB_INTERNAL)
+                   {
+                     __set_h_errno (herrno);
+-                    return -EAI_SYSTEM;
+-                  }
+-                if (herrno == TRY_AGAIN)
+-                  {
+-                    return -EAI_AGAIN;
++                    result = -EAI_SYSTEM;
+                   }
++                else if (herrno == TRY_AGAIN)
++                  result = -EAI_AGAIN;
++                else
+                 /* We made requests but they turned out no data.
+                    The name is known, though.  */
+-                return GAIH_OKIFUNSPEC | -EAI_NODATA;
++                  result = GAIH_OKIFUNSPEC | -EAI_NODATA;
++
++                goto free_and_return;
+               }
+             goto process_list;
+@@ -613,21 +685,56 @@ gaih_inet (const char *name, const struc
+                 bool added_canon = (req->ai_flags & AI_CANONNAME) == 0;
+                 char *addrs = air->addrs;
++                if (__libc_use_alloca (alloca_used
++                                       + air->naddrs * sizeof (struct gaih_addrtuple)))
++                  addrmem = alloca_account (air->naddrs
++                                            * sizeof (struct gaih_addrtuple),
++                                            alloca_used);
++                else
++                  {
++                    addrmem = malloc (air->naddrs
++                                      * sizeof (struct gaih_addrtuple));
++                    if (addrmem == NULL)
++                      {
++                        result = -EAI_MEMORY;
++                        goto free_and_return;
++                      }
++                    malloc_addrmem = true;
++                  }
++
++                struct gaih_addrtuple *addrfree = addrmem;
+                 for (int i = 0; i < air->naddrs; ++i)
+                   {
+                     socklen_t size = (air->family[i] == AF_INET
+                                       ? INADDRSZ : IN6ADDRSZ);
+                     if (*pat == NULL)
+                       {
+-                        *pat = __alloca (sizeof (struct gaih_addrtuple));
++                        *pat = addrfree++;
+                         (*pat)->scopeid = 0;
+                       }
+                     uint32_t *pataddr = (*pat)->addr;
+                     (*pat)->next = NULL;
+                     if (added_canon || air->canon == NULL)
+                       (*pat)->name = NULL;
+-                    else
+-                      canon = (*pat)->name = strdupa (air->canon);
++                    else if (canonbuf == NULL)
++                      {
++                        size_t canonlen = strlen (air->canon) + 1;
++                        if ((req->ai_flags & AI_CANONIDN) != 0
++                            && __libc_use_alloca (alloca_used + canonlen))
++                          canonbuf = alloca_account (canonlen, alloca_used);
++                        else
++                          {
++                            canonbuf = malloc (canonlen);
++                            if (canonbuf == NULL)
++                              {
++                                result = -EAI_MEMORY;
++                                goto free_and_return;
++                              }
++                            malloc_canonbuf = true;
++                          }
++                        canon = (*pat)->name = memcpy (canonbuf, air->canon,
++                                                       canonlen);
++                      }
+                     if (air->family[i] == AF_INET
+                         && req->ai_family == AF_INET6
+@@ -657,20 +764,26 @@ gaih_inet (const char *name, const struc
+                 free (air);
+                 if (at->family == AF_UNSPEC)
+-                  return GAIH_OKIFUNSPEC | -EAI_NONAME;
++                  {
++                    result = GAIH_OKIFUNSPEC | -EAI_NONAME;
++                    goto free_and_return;
++                  }
+                 goto process_list;
+               }
+             else if (err == 0)
+               /* The database contains a negative entry.  */
+-              return 0;
++              goto free_and_return;
+             else if (__nss_not_use_nscd_hosts == 0)
+               {
+                 if (herrno == NETDB_INTERNAL && errno == ENOMEM)
+-                  return -EAI_MEMORY;
+-                if (herrno == TRY_AGAIN)
+-                  return -EAI_AGAIN;
+-                return -EAI_SYSTEM;
++                  result = -EAI_MEMORY;
++                else if (herrno == TRY_AGAIN)
++                  result = -EAI_AGAIN;
++                else
++                  result = -EAI_SYSTEM;
++
++                goto free_and_return;
+               }
+           }
+ #endif
+@@ -699,7 +812,19 @@ gaih_inet (const char *name, const struc
+         _res.options &= ~RES_USE_INET6;
+         size_t tmpbuflen = 1024;
+-        char *tmpbuf = alloca (tmpbuflen);
++        malloc_tmpbuf = !__libc_use_alloca (alloca_used + tmpbuflen);
++        assert (tmpbuf == NULL);
++        if (!malloc_tmpbuf)
++          tmpbuf = alloca_account (tmpbuflen, alloca_used);
++        else
++          {
++            tmpbuf = malloc (tmpbuflen);
++            if (tmpbuf == NULL)
++              {
++                result = -EAI_MEMORY;
++                goto free_and_return;
++              }
++          }
+         while (!no_more)
+           {
+@@ -728,8 +853,25 @@ gaih_inet (const char *name, const struc
+                           no_data = herrno == NO_DATA;
+                         break;
+                       }
+-                    tmpbuf = extend_alloca (tmpbuf,
+-                                            tmpbuflen, 2 * tmpbuflen);
++
++                    if (!malloc_tmpbuf
++                        && __libc_use_alloca (alloca_used + 2 * tmpbuflen))
++                      tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen,
++                                                      2 * tmpbuflen,
++                                                      alloca_used);
++                    else
++                      {
++                        char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL,
++                                              2 * tmpbuflen);
++                        if (newp == NULL)
++                          {
++                            result = -EAI_MEMORY;
++                            goto free_and_return;
++                          }
++                        tmpbuf = newp;
++                        malloc_tmpbuf = true;
++                        tmpbuflen = 2 * tmpbuflen;
++                      }
+                   }
+                 if (status == NSS_STATUS_SUCCESS)
+@@ -832,18 +974,40 @@ gaih_inet (const char *name, const struc
+                             if (cfct != NULL)
+                               {
+                                 const size_t max_fqdn_len = 256;
+-                                char *buf = alloca (max_fqdn_len);
++                                if ((req->ai_flags & AI_CANONIDN) != 0
++                                    && __libc_use_alloca (alloca_used
++                                                          + max_fqdn_len))
++                                  canonbuf = alloca_account (max_fqdn_len,
++                                                             alloca_used);
++                                else
++                                  {
++                                    canonbuf = malloc (max_fqdn_len);
++                                    if (canonbuf == NULL)
++                                      {
++                                        result = -EAI_MEMORY;
++                                        goto free_and_return;
++                                      }
++                                    malloc_canonbuf = true;
++                                  }
+                                 char *s;
+                                 if (DL_CALL_FCT (cfct, (at->name ?: name,
+-                                                        buf, max_fqdn_len,
++                                                        canonbuf,
++                                                        max_fqdn_len,
+                                                         &s, &rc, &herrno))
+                                     == NSS_STATUS_SUCCESS)
+                                   canon = s;
+                                 else
+-                                  /* Set to name now to avoid using
+-                                     gethostbyaddr.  */
+-                                  canon = name;
++                                  {
++                                    /* Set to name now to avoid using
++                                       gethostbyaddr.  */
++                                    if (malloc_canonbuf)
++                                      {
++                                        free (canonbuf);
++                                        malloc_canonbuf = false;
++                                      }
++                                    canon = name;
++                                  }
+                               }
+                           }
+                         status = NSS_STATUS_SUCCESS;
+@@ -878,22 +1042,27 @@ gaih_inet (const char *name, const struc
+           {
+             /* If both requests timed out report this.  */
+             if (no_data == EAI_AGAIN && no_inet6_data == EAI_AGAIN)
+-              return -EAI_AGAIN;
++              result = -EAI_AGAIN;
++            else
++              /* We made requests but they turned out no data.  The name
++                 is known, though.  */
++              result = GAIH_OKIFUNSPEC | -EAI_NODATA;
+-            /* We made requests but they turned out no data.  The name
+-               is known, though.  */
+-            return GAIH_OKIFUNSPEC | -EAI_NODATA;
++            goto free_and_return;
+           }
+       }
+     process_list:
+       if (at->family == AF_UNSPEC)
+-      return GAIH_OKIFUNSPEC | -EAI_NONAME;
++      {
++        result = GAIH_OKIFUNSPEC | -EAI_NONAME;
++        goto free_and_return;
++      }
+     }
+   else
+     {
+       struct gaih_addrtuple *atr;
+-      atr = at = __alloca (sizeof (struct gaih_addrtuple));
++      atr = at = alloca_account (sizeof (struct gaih_addrtuple), alloca_used);
+       memset (at, '\0', sizeof (struct gaih_addrtuple));
+       if (req->ai_family == AF_UNSPEC)
+@@ -932,6 +1101,9 @@ gaih_inet (const char *name, const struc
+       /* Only the first entry gets the canonical name.  */
+       if (at2 == at && (req->ai_flags & AI_CANONNAME) != 0)
+         {
++          char *tmpbuf2 = NULL;
++          bool malloc_tmpbuf2 = false;
++
+           if (canon == NULL)
+             {
+               /* If the canonical name cannot be determined, use
+@@ -952,11 +1124,16 @@ gaih_inet (const char *name, const struc
+               int rc = __idna_to_unicode_lzlz (canon, &out, idn_flags);
+               if (rc != IDNA_SUCCESS)
+                 {
++                  if (malloc_tmpbuf2)
++                    free (tmpbuf2);
++
+                   if (rc == IDNA_MALLOC_ERROR)
+-                    return -EAI_MEMORY;
+-                  if (rc == IDNA_DLOPEN_ERROR)
+-                    return -EAI_SYSTEM;
+-                  return -EAI_IDN_ENCODE;
++                    result = -EAI_MEMORY;
++                  else if (rc == IDNA_DLOPEN_ERROR)
++                    result = -EAI_SYSTEM;
++                  else
++                    result = -EAI_IDN_ENCODE;
++                  goto free_and_return;
+                 }
+               /* In case the output string is the same as the input
+                  string no new string has been allocated and we
+@@ -970,10 +1147,25 @@ gaih_inet (const char *name, const struc
+ #ifdef HAVE_LIBIDN
+             make_copy:
+ #endif
+-              canon = strdup (canon);
+-              if (canon == NULL)
+-                return -EAI_MEMORY;
++              if (malloc_canonbuf)
++                /* We already allocated the string using malloc.  */
++                malloc_canonbuf = false;
++              else
++                {
++                  canon = strdup (canon);
++                  if (canon == NULL)
++                    {
++                      if (malloc_tmpbuf2)
++                        free (tmpbuf2);
++
++                      result = -EAI_MEMORY;
++                      goto free_and_return;
++                    }
++                }
+             }
++
++          if (malloc_tmpbuf2)
++            free (tmpbuf2);
+         }
+       family = at2->family;
+@@ -999,7 +1191,8 @@ gaih_inet (const char *name, const struc
+           if (ai == NULL)
+             {
+               free ((char *) canon);
+-              return -EAI_MEMORY;
++              result = -EAI_MEMORY;
++              goto free_and_return;
+             }
+           ai->ai_flags = req->ai_flags;
+@@ -1052,7 +1245,18 @@ gaih_inet (const char *name, const struc
+       at2 = at2->next;
+       }
+   }
+-  return 0;
++
++ free_and_return:
++  if (malloc_name)
++    free ((char *) name);
++  if (malloc_addrmem)
++    free (addrmem);
++  if (malloc_canonbuf)
++    free (canonbuf);
++  if (malloc_tmpbuf)
++    free (tmpbuf);
++
++  return result;
+ }
diff --git a/src/patches/glibc/glibc-rh797094-2.patch b/src/patches/glibc/glibc-rh797094-2.patch
new file mode 100644 (file)
index 0000000..5aa9084
--- /dev/null
@@ -0,0 +1,862 @@
+From: Ulrich Drepper <drepper@gmail.com>
+Date: Mon, 23 May 2011 03:04:16 +0000 (-0400)
+Subject: Add a few more alloca size checks
+X-Git-Tag: glibc-2.14~41
+X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=f2962a71959fd254a7a223437ca4b63b9e81130c
+
+Add a few more alloca size checks
+---
+
+ 2011-05-22  Ulrich Drepper  <drepper@gmail.com>
+       [BZ #12671]
+       * nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Use malloc in
+       some situations.
+       * nscd/nscd_getserv_r.c (nscd_getserv_r): Likewise.
+       * posix/glob.c (glob_in_dir): Take additional parameter alloca_used.
+       add in in __libc_use_alloca calls.  Adjust callers.
+       (glob): Use malloc in some situations.
+diff --git a/nis/nss_nis/nis-alias.c b/nis/nss_nis/nis-alias.c
+index 9286e36..cfe4097 100644
+--- a/nis/nss_nis/nis-alias.c
++++ b/nis/nss_nis/nis-alias.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1996-2002, 2003, 2006 Free Software Foundation, Inc.
++/* Copyright (C) 1996-2002, 2003, 2006, 2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
+@@ -142,10 +142,10 @@ internal_nis_getaliasent_r (struct aliasent *alias, char *buffer,
+       int yperr;
+       if (new_start)
+-        yperr = yp_first (domain, "mail.aliases", &outkey, &keylen, &result,
++      yperr = yp_first (domain, "mail.aliases", &outkey, &keylen, &result,
+                         &len);
+       else
+-        yperr = yp_next (domain, "mail.aliases", oldkey, oldkeylen, &outkey,
++      yperr = yp_next (domain, "mail.aliases", oldkey, oldkeylen, &outkey,
+                        &keylen, &result, &len);
+       if (__builtin_expect (yperr != YPERR_SUCCESS, 0))
+@@ -153,20 +153,20 @@ internal_nis_getaliasent_r (struct aliasent *alias, char *buffer,
+         enum nss_status retval = yperr2nss (yperr);
+         if (retval == NSS_STATUS_TRYAGAIN)
+-            *errnop = errno;
+-          return retval;
+-        }
++          *errnop = errno;
++        return retval;
++      }
+       if (__builtin_expect ((size_t) (len + 1) > buflen, 0))
+-        {
++      {
+         free (result);
+-          *errnop = ERANGE;
+-          return NSS_STATUS_TRYAGAIN;
+-        }
++        *errnop = ERANGE;
++        return NSS_STATUS_TRYAGAIN;
++      }
+       char *p = strncpy (buffer, result, len);
+       buffer[len] = '\0';
+       while (isspace (*p))
+-        ++p;
++      ++p;
+       free (result);
+       parse_res = _nss_nis_parse_aliasent (outkey, p, alias, buffer,
+@@ -213,13 +213,25 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
+       return NSS_STATUS_UNAVAIL;
+     }
+-  size_t namlen = strlen (name);
+-  char name2[namlen + 1];
+-
+   char *domain;
+   if (__builtin_expect (yp_get_default_domain (&domain), 0))
+     return NSS_STATUS_UNAVAIL;
++  size_t namlen = strlen (name);
++  char *name2;
++  int use_alloca = __libc_use_alloca (namlen + 1);
++  if (use_alloca)
++    name2 = __alloca (namlen + 1);
++  else
++    {
++      name2 = malloc (namlen + 1);
++      if (name2 == NULL)
++      {
++        *errnop = ENOMEM;
++        return NSS_STATUS_TRYAGAIN;
++      }
++    }
++
+   /* Convert name to lowercase.  */
+   size_t i;
+   for (i = 0; i < namlen; ++i)
+@@ -230,6 +242,9 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
+   int len;
+   int yperr = yp_match (domain, "mail.aliases", name2, namlen, &result, &len);
++  if (!use_alloca)
++    free (name2);
++
+   if (__builtin_expect (yperr != YPERR_SUCCESS, 0))
+     {
+       enum nss_status retval = yperr2nss (yperr);
+diff --git a/nscd/nscd_getserv_r.c b/nscd/nscd_getserv_r.c
+index dce4165..de96a57 100644
+--- a/nscd/nscd_getserv_r.c
++++ b/nscd/nscd_getserv_r.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2007, 2009 Free Software Foundation, Inc.
++/* Copyright (C) 2007, 2009, 2011 Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+    Contributed by Ulrich Drepper <drepper@redhat.com>, 2007.
+@@ -17,6 +17,7 @@
+    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+    02111-1307 USA.  */
++#include <assert.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <not-cancel.h>
+@@ -80,6 +81,7 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
+ {
+   int gc_cycle;
+   int nretries = 0;
++  size_t alloca_used = 0;
+   /* If the mapping is available, try to search there instead of
+      communicating with the nscd.  */
+@@ -88,13 +90,23 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
+                              &gc_cycle);
+   size_t protolen = proto == NULL ? 0 : strlen (proto);
+   size_t keylen = critlen + 1 + protolen + 1;
+-  char *key = alloca (keylen);
++  int alloca_key = __libc_use_alloca (keylen);
++  char *key;
++  if (alloca_key)
++    key = alloca_account (keylen, alloca_used);
++  else
++    {
++      key = malloc (keylen);
++      if (key == NULL)
++      return -1;
++    }
+   memcpy (__mempcpy (__mempcpy (key, crit, critlen),
+                    "/", 1), proto ?: "", protolen + 1);
+  retry:;
+   const char *s_name = NULL;
+   const char *s_proto = NULL;
++  int alloca_aliases_len = 0;
+   const uint32_t *aliases_len = NULL;
+   const char *aliases_list = NULL;
+   int retval = -1;
+@@ -136,8 +148,22 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
+         if (((uintptr_t) aliases_len & (__alignof__ (*aliases_len) - 1))
+             != 0)
+           {
+-            uint32_t *tmp = alloca (serv_resp.s_aliases_cnt
+-                                    * sizeof (uint32_t));
++            uint32_t *tmp;
++            alloca_aliases_len
++              = __libc_use_alloca (alloca_used
++                                   + (serv_resp.s_aliases_cnt
++                                      * sizeof (uint32_t)));
++            if (alloca_aliases_len)
++              tmp = __alloca (serv_resp.s_aliases_cnt * sizeof (uint32_t));
++            else
++              {
++                tmp = malloc (serv_resp.s_aliases_cnt * sizeof (uint32_t));
++                if (tmp == NULL)
++                  {
++                    retval = ENOMEM;
++                    goto out;
++                  }
++              }
+             aliases_len = memcpy (tmp, aliases_len,
+                                   serv_resp.s_aliases_cnt
+                                   * sizeof (uint32_t));
+@@ -217,8 +243,24 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
+         if (serv_resp.s_aliases_cnt > 0)
+           {
+-            aliases_len = alloca (serv_resp.s_aliases_cnt
+-                                  * sizeof (uint32_t));
++            assert (alloca_aliases_len == 0);
++            alloca_aliases_len
++              = __libc_use_alloca (alloca_used
++                                   + (serv_resp.s_aliases_cnt
++                                      * sizeof (uint32_t)));
++            if (alloca_aliases_len)
++              aliases_len = alloca (serv_resp.s_aliases_cnt
++                                    * sizeof (uint32_t));
++            else
++              {
++                aliases_len = malloc (serv_resp.s_aliases_cnt
++                                      * sizeof (uint32_t));
++                if (aliases_len == NULL)
++                  {
++                    retval = ENOMEM;
++                    goto out_close;
++                  }
++              }
+             vec[n].iov_base = (void *) aliases_len;
+             vec[n].iov_len = serv_resp.s_aliases_cnt * sizeof (uint32_t);
+@@ -329,5 +371,10 @@ nscd_getserv_r (const char *crit, size_t critlen, const char *proto,
+       goto retry;
+     }
++  if (!alloca_aliases_len)
++    free ((void *) aliases_len);
++  if (!alloca_key)
++    free (key);
++
+   return retval;
+ }
+diff --git a/posix/glob.c b/posix/glob.c
+index 6df083a..79b6e50 100644
+--- a/posix/glob.c
++++ b/posix/glob.c
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
++/* Copyright (C) 1991-2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
+    Free Software Foundation, Inc.
+    This file is part of the GNU C Library.
+@@ -199,7 +199,7 @@ static const char *next_brace_sub (const char *begin, int flags) __THROW;
+ static int glob_in_dir (const char *pattern, const char *directory,
+                       int flags, int (*errfunc) (const char *, int),
+-                      glob_t *pglob);
++                      glob_t *pglob, size_t alloca_used);
+ extern int __glob_pattern_type (const char *pattern, int quote)
+     attribute_hidden;
+@@ -253,13 +253,18 @@ glob (pattern, flags, errfunc, pglob)
+      glob_t *pglob;
+ {
+   const char *filename;
+-  const char *dirname;
++  char *dirname = NULL;
+   size_t dirlen;
+   int status;
+   size_t oldcount;
+   int meta;
+   int dirname_modified;
++  int malloc_dirname = 0;
+   glob_t dirs;
++  int retval = 0;
++#ifdef _LIBC
++  size_t alloca_used = 0;
++#endif
+   if (pattern == NULL || pglob == NULL || (flags & ~__GLOB_FLAGS) != 0)
+     {
+@@ -308,20 +313,26 @@ glob (pattern, flags, errfunc, pglob)
+         const char *next;
+         const char *rest;
+         size_t rest_len;
+-#ifdef __GNUC__
+-        char onealt[strlen (pattern) - 1];
+-#else
+-        char *onealt = (char *) malloc (strlen (pattern) - 1);
+-        if (onealt == NULL)
++        char *onealt;
++        size_t pattern_len = strlen (pattern) - 1;
++#ifdef _LIBC
++        int alloca_onealt = __libc_use_alloca (alloca_used + pattern_len);
++        if (alloca_onealt)
++          onealt = alloca_account (pattern_len, alloca_used);
++        else
++#endif
+           {
+-            if (!(flags & GLOB_APPEND))
++            onealt = (char *) malloc (pattern_len);
++            if (onealt == NULL)
+               {
+-                pglob->gl_pathc = 0;
+-                pglob->gl_pathv = NULL;
++                if (!(flags & GLOB_APPEND))
++                  {
++                    pglob->gl_pathc = 0;
++                    pglob->gl_pathv = NULL;
++                  }
++                return GLOB_NOSPACE;
+               }
+-            return GLOB_NOSPACE;
+           }
+-#endif
+         /* We know the prefix for all sub-patterns.  */
+         alt_start = mempcpy (onealt, pattern, begin - pattern);
+@@ -332,9 +343,11 @@ glob (pattern, flags, errfunc, pglob)
+         if (next == NULL)
+           {
+             /* It is an illegal expression.  */
+-#ifndef __GNUC__
+-            free (onealt);
++          illegal_brace:
++#ifdef _LIBC
++            if (__builtin_expect (!alloca_onealt, 0))
+ #endif
++              free (onealt);
+             return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
+           }
+@@ -344,13 +357,8 @@ glob (pattern, flags, errfunc, pglob)
+           {
+             rest = next_brace_sub (rest + 1, flags);
+             if (rest == NULL)
+-              {
+-                /* It is an illegal expression.  */
+-#ifndef __GNUC__
+-                free (onealt);
+-#endif
+-                return glob (pattern, flags & ~GLOB_BRACE, errfunc, pglob);
+-              }
++              /* It is an illegal expression.  */
++              goto illegal_brace;
+           }
+         /* Please note that we now can be sure the brace expression
+            is well-formed.  */
+@@ -386,9 +394,10 @@ glob (pattern, flags, errfunc, pglob)
+             /* If we got an error, return it.  */
+             if (result && result != GLOB_NOMATCH)
+               {
+-#ifndef __GNUC__
+-                free (onealt);
++#ifdef _LIBC
++                if (__builtin_expect (!alloca_onealt, 0))
+ #endif
++                  free (onealt);
+                 if (!(flags & GLOB_APPEND))
+                   {
+                     globfree (pglob);
+@@ -406,9 +415,10 @@ glob (pattern, flags, errfunc, pglob)
+             assert (next != NULL);
+           }
+-#ifndef __GNUC__
+-        free (onealt);
++#ifdef _LIBC
++        if (__builtin_expect (!alloca_onealt, 0))
+ #endif
++          free (onealt);
+         if (pglob->gl_pathc != firstc)
+           /* We found some entries.  */
+@@ -455,7 +465,7 @@ glob (pattern, flags, errfunc, pglob)
+        case is nothing but a notation for a directory.  */
+       if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~')
+       {
+-        dirname = pattern;
++        dirname = (char *) pattern;
+         dirlen = strlen (pattern);
+         /* Set FILENAME to NULL as a special flag.  This is ugly but
+@@ -473,9 +483,9 @@ glob (pattern, flags, errfunc, pglob)
+         filename = pattern;
+ #ifdef _AMIGA
+-        dirname = "";
++        dirname = (char *) "";
+ #else
+-        dirname = ".";
++        dirname = (char *) ".";
+ #endif
+         dirlen = 0;
+       }
+@@ -485,7 +495,7 @@ glob (pattern, flags, errfunc, pglob)
+              && (flags & GLOB_NOESCAPE) == 0))
+     {
+       /* "/pattern" or "\\/pattern".  */
+-      dirname = "/";
++      dirname = (char *) "/";
+       dirlen = 1;
+       ++filename;
+     }
+@@ -511,7 +521,17 @@ glob (pattern, flags, errfunc, pglob)
+            from "d:/", since "d:" and "d:/" are not the same.*/
+       }
+ #endif
+-      newp = (char *) __alloca (dirlen + 1);
++#ifdef _LIBC
++      if (__libc_use_alloca (alloca_used + dirlen + 1))
++      newp = alloca_account (dirlen + 1, alloca_used);
++      else
++#endif
++      {
++        newp = malloc (dirlen + 1);
++        if (newp == NULL)
++          return GLOB_NOSPACE;
++        malloc_dirname = 1;
++      }
+       *((char *) mempcpy (newp, pattern, dirlen)) = '\0';
+       dirname = newp;
+       ++filename;
+@@ -551,7 +571,8 @@ glob (pattern, flags, errfunc, pglob)
+             oldcount = pglob->gl_pathc + pglob->gl_offs;
+             goto no_matches;
+           }
+-        return val;
++        retval = val;
++        goto out;
+       }
+     }
+@@ -563,7 +584,8 @@ glob (pattern, flags, errfunc, pglob)
+             && (dirname[2] == '\0' || dirname[2] == '/')))
+       {
+         /* Look up home directory.  */
+-        const char *home_dir = getenv ("HOME");
++        char *home_dir = getenv ("HOME");
++        int malloc_home_dir = 0;
+ # ifdef _AMIGA
+         if (home_dir == NULL || home_dir[0] == '\0')
+           home_dir = "SYS:";
+@@ -582,7 +604,7 @@ glob (pattern, flags, errfunc, pglob)
+               /* `sysconf' does not support _SC_LOGIN_NAME_MAX.  Try
+                  a moderate value.  */
+               buflen = 20;
+-            name = (char *) __alloca (buflen);
++            name = alloca_account (buflen, alloca_used);
+             success = getlogin_r (name, buflen) == 0;
+             if (success)
+@@ -592,6 +614,7 @@ glob (pattern, flags, errfunc, pglob)
+                 long int pwbuflen = GETPW_R_SIZE_MAX ();
+                 char *pwtmpbuf;
+                 struct passwd pwbuf;
++                int malloc_pwtmpbuf = 0;
+                 int save = errno;
+ #    ifndef _LIBC
+@@ -600,7 +623,18 @@ glob (pattern, flags, errfunc, pglob)
+                      Try a moderate value.  */
+                   pwbuflen = 1024;
+ #    endif
+-                pwtmpbuf = (char *) __alloca (pwbuflen);
++                if (__libc_use_alloca (alloca_used + pwbuflen))
++                  pwtmpbuf = alloca_account (pwbuflen, alloca_used);
++                else
++                  {
++                    pwtmpbuf = malloc (pwbuflen);
++                    if (pwtmpbuf == NULL)
++                      {
++                        retval = GLOB_NOSPACE;
++                        goto out;
++                      }
++                    malloc_pwtmpbuf = 1;
++                  }
+                 while (getpwnam_r (name, &pwbuf, pwtmpbuf, pwbuflen, &p)
+                        != 0)
+@@ -610,46 +644,115 @@ glob (pattern, flags, errfunc, pglob)
+                         p = NULL;
+                         break;
+                       }
+-#    ifdef _LIBC
+-                    pwtmpbuf = extend_alloca (pwtmpbuf, pwbuflen,
++
++                    if (!malloc_pwtmpbuf
++                        && __libc_use_alloca (alloca_used
++                                              + 2 * pwbuflen))
++                      pwtmpbuf = extend_alloca_account (pwtmpbuf, pwbuflen,
++                                                        2 * pwbuflen,
++                                                        alloca_used);
++                    else
++                      {
++                        char *newp = realloc (malloc_pwtmpbuf
++                                              ? pwtmpbuf : NULL,
+                                               2 * pwbuflen);
+-#    else
+-                    pwbuflen *= 2;
+-                    pwtmpbuf = (char *) __alloca (pwbuflen);
+-#    endif
++                        if (newp == NULL)
++                          {
++                            if (__builtin_expect (malloc_pwtmpbuf, 0))
++                              free (pwtmpbuf);
++                            retval = GLOB_NOSPACE;
++                            goto out;
++                          }
++                        pwtmpbuf = newp;
++                        pwbuflen = 2 * pwbuflen;
++                        malloc_pwtmpbuf = 1;
++                      }
+                     __set_errno (save);
+                   }
+ #   else
+                 p = getpwnam (name);
+ #   endif
+                 if (p != NULL)
+-                  home_dir = p->pw_dir;
++                  {
++                    if (!malloc_pwtmpbuf)
++                      home_dir = p->pw_dir;
++                    else
++                      {
++                        size_t home_dir_len = strlen (p->pw_dir) + 1;
++                        if (__libc_use_alloca (alloca_used + home_dir_len))
++                          home_dir = alloca_account (home_dir_len,
++                                                     alloca_used);
++                        else
++                          {
++                            home_dir = malloc (home_dir_len);
++                            if (home_dir == NULL)
++                              {
++                                free (pwtmpbuf);
++                                retval = GLOB_NOSPACE;
++                                goto out;
++                              }
++                            malloc_home_dir = 1;
++                          }
++                        memcpy (home_dir, p->pw_dir, home_dir_len);
++
++                        free (pwtmpbuf);
++                      }
++                  }
+               }
+           }
+         if (home_dir == NULL || home_dir[0] == '\0')
+           {
+             if (flags & GLOB_TILDE_CHECK)
+-              return GLOB_NOMATCH;
++              {
++                if (__builtin_expect (malloc_home_dir, 0))
++                  free (home_dir);
++                retval = GLOB_NOMATCH;
++                goto out;
++              }
+             else
+-              home_dir = "~"; /* No luck.  */
++              home_dir = (char *) "~"; /* No luck.  */
+           }
+ #  endif /* WINDOWS32 */
+ # endif
+         /* Now construct the full directory.  */
+         if (dirname[1] == '\0')
+           {
++            if (__builtin_expect (malloc_dirname, 0))
++              free (dirname);
++
+             dirname = home_dir;
+             dirlen = strlen (dirname);
++            malloc_dirname = malloc_home_dir;
+           }
+         else
+           {
+             char *newp;
+             size_t home_len = strlen (home_dir);
+-            newp = (char *) __alloca (home_len + dirlen);
++            int use_alloca = __libc_use_alloca (alloca_used
++                                                + home_len + dirlen);
++            if (use_alloca)
++              newp = alloca_account (home_len + dirlen, alloca_used);
++            else
++              {
++                newp = malloc (home_len + dirlen);
++                if (newp == NULL)
++                  {
++                    if (__builtin_expect (malloc_home_dir, 0))
++                      free (home_dir);
++                    retval = GLOB_NOSPACE;
++                    goto out;
++                  }
++              }
++
+             mempcpy (mempcpy (newp, home_dir, home_len),
+                      &dirname[1], dirlen);
++
++            if (__builtin_expect (malloc_dirname, 0))
++              free (dirname);
++
+             dirname = newp;
+             dirlen += home_len - 1;
++            malloc_dirname = !use_alloca;
+           }
+         dirname_modified = 1;
+       }
+@@ -657,7 +760,8 @@ glob (pattern, flags, errfunc, pglob)
+       else
+       {
+         char *end_name = strchr (dirname, '/');
+-        const char *user_name;
++        char *user_name;
++        int malloc_user_name = 0;
+         const char *home_dir;
+         char *unescape = NULL;
+@@ -677,7 +781,18 @@ glob (pattern, flags, errfunc, pglob)
+         else
+           {
+             char *newp;
+-            newp = (char *) __alloca (end_name - dirname);
++            if (__libc_use_alloca (alloca_used + (end_name - dirname)))
++              newp = alloca_account (end_name - dirname, alloca_used);
++            else
++              {
++                newp = malloc (end_name - dirname);
++                if (newp == NULL)
++                  {
++                    retval = GLOB_NOSPACE;
++                    goto out;
++                  }
++                malloc_user_name = 1;
++              }
+             if (unescape != NULL)
+               {
+                 char *p = mempcpy (newp, dirname + 1,
+@@ -714,6 +829,7 @@ glob (pattern, flags, errfunc, pglob)
+ #  if defined HAVE_GETPWNAM_R || defined _LIBC
+           long int buflen = GETPW_R_SIZE_MAX ();
+           char *pwtmpbuf;
++          int malloc_pwtmpbuf = 0;
+           struct passwd pwbuf;
+           int save = errno;
+@@ -723,7 +839,21 @@ glob (pattern, flags, errfunc, pglob)
+                moderate value.  */
+             buflen = 1024;
+ #   endif
+-          pwtmpbuf = (char *) __alloca (buflen);
++          if (__libc_use_alloca (alloca_used + buflen))
++            pwtmpbuf = alloca_account (buflen, alloca_used);
++          else
++            {
++              pwtmpbuf = malloc (buflen);
++              if (pwtmpbuf == NULL)
++                {
++                nomem_getpw:
++                  if (__builtin_expect (malloc_user_name, 0))
++                    free (user_name);
++                  retval = GLOB_NOSPACE;
++                  goto out;
++                }
++              malloc_pwtmpbuf = 1;
++            }
+           while (getpwnam_r (user_name, &pwbuf, pwtmpbuf, buflen, &p) != 0)
+             {
+@@ -732,40 +862,77 @@ glob (pattern, flags, errfunc, pglob)
+                   p = NULL;
+                   break;
+                 }
+-#   ifdef _LIBC
+-              pwtmpbuf = extend_alloca (pwtmpbuf, buflen, 2 * buflen);
+-#   else
+-              buflen *= 2;
+-              pwtmpbuf = __alloca (buflen);
+-#   endif
++              if (!malloc_pwtmpbuf
++                  && __libc_use_alloca (alloca_used + 2 * buflen))
++                pwtmpbuf = extend_alloca_account (pwtmpbuf, buflen,
++                                                  2 * buflen, alloca_used);
++              else
++                {
++                  char *newp = realloc (malloc_pwtmpbuf ? pwtmpbuf : NULL,
++                                        2 * buflen);
++                  if (newp == NULL)
++                    {
++                      if (__builtin_expect (malloc_pwtmpbuf, 0))
++                        free (pwtmpbuf);
++                      goto nomem_getpw;
++                    }
++                  pwtmpbuf = newp;
++                  malloc_pwtmpbuf = 1;
++                }
+               __set_errno (save);
+             }
+ #  else
+           p = getpwnam (user_name);
+ #  endif
++
++          if (__builtin_expect (malloc_user_name, 0))
++            free (user_name);
++
++          /* If we found a home directory use this.  */
+           if (p != NULL)
+-            home_dir = p->pw_dir;
++            {
++              size_t home_len = strlen (p->pw_dir);
++              size_t rest_len = end_name == NULL ? 0 : strlen (end_name);
++
++              if (__builtin_expect (malloc_dirname, 0))
++                free (dirname);
++              malloc_dirname = 0;
++
++              if (__libc_use_alloca (alloca_used + home_len + rest_len + 1))
++                dirname = alloca_account (home_len + rest_len + 1,
++                                          alloca_used);
++              else
++                {
++                  dirname = malloc (home_len + rest_len + 1);
++                  if (dirname == NULL)
++                    {
++                      if (__builtin_expect (malloc_pwtmpbuf, 0))
++                        free (pwtmpbuf);
++                      retval = GLOB_NOSPACE;
++                      goto out;
++                    }
++                  malloc_dirname = 1;
++                }
++              *((char *) mempcpy (mempcpy (dirname, p->pw_dir, home_len),
++                                  end_name, rest_len)) = '\0';
++
++              dirlen = home_len + rest_len;
++              dirname_modified = 1;
++
++              if (__builtin_expect (malloc_pwtmpbuf, 0))
++                free (pwtmpbuf);
++            }
+           else
+-            home_dir = NULL;
++            {
++              if (__builtin_expect (malloc_pwtmpbuf, 0))
++                free (pwtmpbuf);
++
++              if (flags & GLOB_TILDE_CHECK)
++                /* We have to regard it as an error if we cannot find the
++                   home directory.  */
++                return GLOB_NOMATCH;
++            }
+         }
+-        /* If we found a home directory use this.  */
+-        if (home_dir != NULL)
+-          {
+-            char *newp;
+-            size_t home_len = strlen (home_dir);
+-            size_t rest_len = end_name == NULL ? 0 : strlen (end_name);
+-            newp = (char *) __alloca (home_len + rest_len + 1);
+-            *((char *) mempcpy (mempcpy (newp, home_dir, home_len),
+-                                end_name, rest_len)) = '\0';
+-            dirname = newp;
+-            dirlen = home_len + rest_len;
+-            dirname_modified = 1;
+-          }
+-        else
+-          if (flags & GLOB_TILDE_CHECK)
+-            /* We have to regard it as an error if we cannot find the
+-               home directory.  */
+-            return GLOB_NOMATCH;
+       }
+ # endif       /* Not Amiga && not WINDOWS32.  */
+     }
+@@ -899,7 +1066,7 @@ glob (pattern, flags, errfunc, pglob)
+         status = glob_in_dir (filename, dirs.gl_pathv[i],
+                               ((flags | GLOB_APPEND)
+                                & ~(GLOB_NOCHECK | GLOB_NOMAGIC)),
+-                              errfunc, pglob);
++                              errfunc, pglob, alloca_used);
+         if (status == GLOB_NOMATCH)
+           /* No matches in this directory.  Try the next.  */
+           continue;
+@@ -1000,7 +1167,8 @@ glob (pattern, flags, errfunc, pglob)
+       }
+       if (dirname_modified)
+       flags &= ~(GLOB_NOCHECK | GLOB_NOMAGIC);
+-      status = glob_in_dir (filename, dirname, flags, errfunc, pglob);
++      status = glob_in_dir (filename, dirname, flags, errfunc, pglob,
++                          alloca_used);
+       if (status != 0)
+       {
+         if (status == GLOB_NOMATCH && flags != orig_flags
+@@ -1063,7 +1231,11 @@ glob (pattern, flags, errfunc, pglob)
+            sizeof (char *), collated_compare);
+     }
+-  return 0;
++ out:
++  if (__builtin_expect (malloc_dirname, 0))
++    free (dirname);
++
++  return retval;
+ }
+ #if defined _LIBC && !defined glob
+ libc_hidden_def (glob)
+@@ -1273,7 +1445,7 @@ link_exists2_p (const char *dir, size_t dirlen, const char *fname,
+ static int
+ glob_in_dir (const char *pattern, const char *directory, int flags,
+            int (*errfunc) (const char *, int),
+-           glob_t *pglob)
++           glob_t *pglob, size_t alloca_used)
+ {
+   size_t dirlen = strlen (directory);
+   void *stream = NULL;
+@@ -1288,11 +1460,12 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
+   struct globnames *names = &init_names;
+   struct globnames *names_alloca = &init_names;
+   size_t nfound = 0;
+-  size_t allocasize = sizeof (init_names);
+   size_t cur = 0;
+   int meta;
+   int save;
++  alloca_used += sizeof (init_names);
++
+   init_names.next = NULL;
+   init_names.count = INITIAL_COUNT;
+@@ -1308,20 +1481,36 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
+     {
+       /* Since we use the normal file functions we can also use stat()
+        to verify the file is there.  */
+-      struct stat st;
+-      struct_stat64 st64;
++      union
++      {
++      struct stat st;
++      struct_stat64 st64;
++      } ust;
+       size_t patlen = strlen (pattern);
+-      char *fullname = (char *) __alloca (dirlen + 1 + patlen + 1);
++      int alloca_fullname = __libc_use_alloca (alloca_used
++                                             + dirlen + 1 + patlen + 1);
++      char *fullname;
++      if (alloca_fullname)
++      fullname = alloca_account (dirlen + 1 + patlen + 1, alloca_used);
++      else
++      {
++        fullname = malloc (dirlen + 1 + patlen + 1);
++        if (fullname == NULL)
++          return GLOB_NOSPACE;
++      }
+       mempcpy (mempcpy (mempcpy (fullname, directory, dirlen),
+                       "/", 1),
+              pattern, patlen + 1);
+       if ((__builtin_expect (flags & GLOB_ALTDIRFUNC, 0)
+-         ? (*pglob->gl_stat) (fullname, &st)
+-         : __stat64 (fullname, &st64)) == 0)
++         ? (*pglob->gl_stat) (fullname, &ust.st)
++         : __stat64 (fullname, &ust.st64)) == 0)
+       /* We found this file to be existing.  Now tell the rest
+          of the function to copy this name into the result.  */
+       flags |= GLOB_NOCHECK;
++
++      if (__builtin_expect (!alloca_fullname, 0))
++      free (fullname);
+     }
+   else
+     {
+@@ -1409,9 +1598,9 @@ glob_in_dir (const char *pattern, const char *directory, int flags,
+                         size_t size = (sizeof (struct globnames)
+                                        + ((count - INITIAL_COUNT)
+                                           * sizeof (char *)));
+-                        allocasize += size;
+-                        if (__libc_use_alloca (allocasize))
+-                          newnames = names_alloca = __alloca (size);
++                        if (__libc_use_alloca (alloca_used + size))
++                          newnames = names_alloca
++                            = alloca_account (size, alloca_used);
+                         else if ((newnames = malloc (size))
+                                  == NULL)
+                           goto memory_error;
diff --git a/src/patches/glibc/glibc-rh804630.patch b/src/patches/glibc/glibc-rh804630.patch
new file mode 100644 (file)
index 0000000..75dbe94
--- /dev/null
@@ -0,0 +1,23 @@
+diff -rup c/resolv/res_send.c d/resolv/res_send.c
+--- c/resolv/res_send.c        2012-01-01 05:16:32.000000000 -0700
++++ d/resolv/res_send.c        2012-03-30 12:39:30.862467628 -0600
+@@ -409,6 +409,7 @@ __libc_res_nsend(res_state statp, const
+        */
+       if (EXT(statp).nsinit == 0) {
+               unsigned char map[MAXNS];
++              unsigned int ext_total_nscount;
+               memset (map, MAXNS, sizeof (map));
+               for (n = 0; n < MAXNS; n++) {
+@@ -422,8 +423,9 @@ __libc_res_nsend(res_state statp, const
+                       }
+               }
+               n = statp->nscount;
+-              if (statp->nscount > EXT(statp).nscount)
+-                      for (n = EXT(statp).nscount, ns = 0;
++              ext_total_nscount = EXT(statp).nscount + EXT(statp).nscount6;
++              if (statp->nscount > ext_total_nscount)
++                      for (n = ext_total_nscount, ns = 0;
+                            n < statp->nscount; n++) {
+                               while (ns < MAXNS
+                                      && EXT(statp).nsmap[ns] != MAXNS)
diff --git a/src/patches/glibc/glibc-rh804689.patch b/src/patches/glibc/glibc-rh804689.patch
new file mode 100644 (file)
index 0000000..a96a33f
--- /dev/null
@@ -0,0 +1,23 @@
+diff -rup a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+--- a/sysdeps/posix/getaddrinfo.c      2012-03-20 21:31:14.177358937 -0600
++++ b/sysdeps/posix/getaddrinfo.c      2012-03-21 09:13:17.198290683 -0600
+@@ -560,15 +563,11 @@ gaih_inet (const char *name, const struc
+         int no_more;
+         int old_res_options;
+-        /* If we do not have to look for IPv4 and IPv6 together, use
+-           the simple, old functions.  */
+-        if ((req->ai_family == AF_INET
+-             || (req->ai_family == AF_INET6
+-                 && ((req->ai_flags & AI_V4MAPPED) == 0
+-                     || (req->ai_flags & AI_ALL) == 0)))
+-            && (req->ai_flags & AI_CANONNAME) == 0)
++        /* If we do not have to look for IPv6 addresses, use
++           the simple, old functions, which do not support
++           IPv6 scope ids. */
++        if (req->ai_family == AF_INET)
+           {
+-            int family = req->ai_family;
+             size_t tmpbuflen = 512;
+             assert (tmpbuf == NULL);
+             tmpbuf = alloca_account (tmpbuflen, alloca_used);
diff --git a/src/patches/glibc/glibc-rh808337.patch b/src/patches/glibc/glibc-rh808337.patch
new file mode 100644 (file)
index 0000000..bc20cbc
--- /dev/null
@@ -0,0 +1,21 @@
+commit 6a5ee1029b3966c5ae9adaaa881e255b2880f511
+Author: Ulrich Drepper <drepper@gmail.com>
+Date:   Sun Mar 6 00:01:50 2011 -0500
+
+    Fix loading first object along a path when tracing.
+
+diff --git a/elf/dl-load.c b/elf/dl-load.c
+index 1ad16a0..f866066 100644
+--- a/elf/dl-load.c
++++ b/elf/dl-load.c
+@@ -2111,7 +2111,9 @@ _dl_map_object (struct link_map *loader, const char *name,
+           {
+ #ifdef SHARED
+             // XXX Correct to unconditionally default to namespace 0?
+-            l = loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded;
++            l = (loader
++                 ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded
++                 ?: &GL(dl_rtld_map));
+ #else
+             l = loader;
+ #endif
diff --git a/src/patches/glibc/glibc-rh808545.patch b/src/patches/glibc/glibc-rh808545.patch
new file mode 100644 (file)
index 0000000..9a2cae3
--- /dev/null
@@ -0,0 +1,44 @@
+diff -rup a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
+--- a/resolv/nss_dns/dns-host.c        2012-04-18 11:17:31.527539744 -0600
++++ b/resolv/nss_dns/dns-host.c        2012-04-18 11:21:45.441394159 -0600
+@@ -745,6 +745,10 @@ getanswer_r (const querybuf *answer, int
+       if ((qtype == T_A || qtype == T_AAAA) && type == T_CNAME)
+       {
++        /* A CNAME could also have a TTL entry.  */
++        if (ttlp != NULL && ttl < *ttlp)
++            *ttlp = ttl;
++
+         if (ap >= &host_data->aliases[MAX_NR_ALIASES - 1])
+           continue;
+         n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
+@@ -906,7 +910,7 @@ getanswer_r (const querybuf *answer, int
+           {
+             register int nn;
+-            if (ttlp != NULL)
++            if (ttlp != NULL && ttl < *ttlp)
+               *ttlp = ttl;
+             if (canonp != NULL)
+               *canonp = bp;
+@@ -1082,6 +1086,11 @@ gaih_getanswer_slice (const querybuf *an
+       if (type == T_CNAME)
+       {
+         char tbuf[MAXDNAME];
++
++        /* A CNAME could also have a TTL entry.  */
++        if (ttlp != NULL && ttl < *ttlp)
++          *ttlp = ttl;
++
+         n = dn_expand (answer->buf, end_of_message, cp, tbuf, sizeof tbuf);
+         if (__builtin_expect (n < 0 || res_hnok (tbuf) == 0, 0))
+           {
+@@ -1162,7 +1171,7 @@ gaih_getanswer_slice (const querybuf *an
+       if (*firstp)
+       {
+-        if (ttlp != NULL)
++        if (ttlp != NULL && ttl < *ttlp)
+           *ttlp = ttl;
+         (*pat)->name = canon ?: h_name;
diff --git a/src/patches/glibc/glibc-rh809602.patch b/src/patches/glibc/glibc-rh809602.patch
new file mode 100644 (file)
index 0000000..81aa63a
--- /dev/null
@@ -0,0 +1,47 @@
+diff -rup a/nscd/nscd_getserv_r.c b/nscd/nscd_getserv_r.c
+--- a/nscd/nscd_getserv_r.c    2012-04-04 16:37:27.873951850 -0600
++++ b/nscd/nscd_getserv_r.c    2012-04-04 16:37:49.904837348 -0600
+@@ -124,6 +123,7 @@ nscd_getserv_r (const char *crit, size_t
+         s_name = (char *) (&found->data[0].servdata + 1);
+         serv_resp = found->data[0].servdata;
+         s_proto = s_name + serv_resp.s_name_len;
++        alloca_aliases_len = 1;
+         aliases_len = (uint32_t *) (s_proto + serv_resp.s_proto_len);
+         aliases_list = ((char *) aliases_len
+                         + serv_resp.s_aliases_cnt * sizeof (uint32_t));
+@@ -154,7 +154,9 @@ nscd_getserv_r (const char *crit, size_t
+                                    + (serv_resp.s_aliases_cnt
+                                       * sizeof (uint32_t)));
+             if (alloca_aliases_len)
+-              tmp = __alloca (serv_resp.s_aliases_cnt * sizeof (uint32_t));
++              tmp = alloca_account (serv_resp.s_aliases_cnt
++                                    * sizeof (uint32_t),
++                                    alloca_used);
+             else
+               {
+                 tmp = malloc (serv_resp.s_aliases_cnt * sizeof (uint32_t));
+@@ -249,8 +251,9 @@ nscd_getserv_r (const char *crit, size_t
+                                    + (serv_resp.s_aliases_cnt
+                                       * sizeof (uint32_t)));
+             if (alloca_aliases_len)
+-              aliases_len = alloca (serv_resp.s_aliases_cnt
+-                                    * sizeof (uint32_t));
++              aliases_len = alloca_account (serv_resp.s_aliases_cnt
++                                            * sizeof (uint32_t),
++                                            alloca_used);
+             else
+               {
+                 aliases_len = malloc (serv_resp.s_aliases_cnt
+@@ -368,7 +371,11 @@ nscd_getserv_r (const char *crit, size_t
+       }
+       if (retval != -1)
+-      goto retry;
++      {
++        if (!alloca_aliases_len)
++          free ((void *) aliases_len);
++        goto retry;
++      }
+     }
+   if (!alloca_aliases_len)
diff --git a/src/patches/glibc/glibc-rh833716.patch b/src/patches/glibc/glibc-rh833716.patch
new file mode 100644 (file)
index 0000000..e44573c
--- /dev/null
@@ -0,0 +1,45265 @@
+diff -Nrup a/stdio-common/Makefile b/stdio-common/Makefile
+--- a/stdio-common/Makefile    2012-05-23 14:54:54.670443298 -0600
++++ b/stdio-common/Makefile    2012-05-22 13:47:51.000000000 -0600
+@@ -60,7 +60,7 @@ tests := tstscanf test_rdwr test-popen t
+        tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
+        tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
+        bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
+-       scanf16 scanf17 tst-setvbuf1 bug-vfprintf-nargs
++       scanf16 scanf17 tst-setvbuf1 bug-vfprintf-nargs bug23 bug23-2 bug23-3
+ test-srcs = tst-unbputc tst-printf
+diff -Nrup a/stdio-common/bug23-2.c b/stdio-common/bug23-2.c
+--- a/stdio-common/bug23-2.c   1969-12-31 17:00:00.000000000 -0700
++++ b/stdio-common/bug23-2.c   2012-05-24 07:12:55.331644716 -0600
+@@ -0,0 +1,70 @@
++#include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
++
++static const char expected[] = "\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
++
++static int
++do_test (void)
++{
++  char *buf = malloc (strlen (expected) + 1);
++  snprintf (buf, strlen (expected) + 1,
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
++          "a", "b", "c", "d", 5);
++  return strcmp (buf, expected) != 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff -Nrup a/stdio-common/bug23-3.c b/stdio-common/bug23-3.c
+--- a/stdio-common/bug23-3.c   1969-12-31 17:00:00.000000000 -0700
++++ b/stdio-common/bug23-3.c   2012-05-24 07:13:26.948480695 -0600
+@@ -0,0 +1,45076 @@
++#include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
++
++static const char expected[] = "\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55\
++\n\
++a\n\
++abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
++
++
++
++int
++do_test (void)
++{
++  char *buf = malloc (strlen (expected) + 1);
++  snprintf (buf, strlen (expected) + 1, 
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
++          "a", "b", "c", "d", 5);
++  return (strcmp (buf, expected) != 0);
++}
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
++
+diff -Nrup a/stdio-common/bug23.c b/stdio-common/bug23.c
+--- a/stdio-common/bug23.c     1969-12-31 17:00:00.000000000 -0700
++++ b/stdio-common/bug23.c     2012-05-24 07:12:27.636788393 -0600
+@@ -0,0 +1,22 @@
++#include <stdio.h>
++#include <string.h>
++#include <stdlib.h>
++
++static const char expected[] = "\
++\n\
++a\n\
++abbcd55%%%%%%%%%%%%%%%%%%%%%%%%%%\n";
++
++static int
++do_test (void)
++{
++  char *buf = malloc (strlen (expected) + 1);
++  snprintf (buf, strlen (expected) + 1,
++          "\n%1$s\n" "%1$s" "%2$s" "%2$s" "%3$s" "%4$s" "%5$d" "%5$d"
++          "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
++          "a", "b", "c", "d", 5);
++  return strcmp (buf, expected) != 0;
++}
++
++#define TEST_FUNCTION do_test ()
++#include "../test-skeleton.c"
+diff -Nrup a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c
+--- a/stdio-common/vfprintf.c  2012-05-23 14:54:54.689443199 -0600
++++ b/stdio-common/vfprintf.c  2012-05-23 23:16:55.376155638 -0600
+@@ -238,6 +238,12 @@ vfprintf (FILE *s, const CHAR_T *format,
+   /* For the argument descriptions, which may be allocated on the heap.  */
+   void *args_malloced = NULL;
++  /* For positional argument handling.  */
++  struct printf_spec *specs;
++
++  /* Track if we malloced the SPECS array and thus must free it.  */
++  bool specs_malloced = false;
++
+   /* This table maps a character into a number representing a
+      class.  In each step there is a destination label for each
+      class.  */
+@@ -1638,10 +1644,10 @@ do_positional:
+     /* Array with information about the needed arguments.  This has to
+        be dynamically extensible.  */
+     size_t nspecs = 0;
+-    size_t nspecs_max = 32;   /* A more or less arbitrary start value.  */
+-    struct printf_spec *specs
+-      = alloca (nspecs_max * sizeof (struct printf_spec));
++    /* A more or less arbitrary start value.  */
++    size_t nspecs_size = 32 * sizeof (struct printf_spec);
++    specs = alloca (nspecs_size);
+     /* The number of arguments the format string requests.  This will
+        determine the size of the array needed to store the argument
+        attributes.  */
+@@ -1678,14 +1684,30 @@ do_positional:
+     for (f = lead_str_end; *f != L_('\0'); f = specs[nspecs++].next_fmt)
+       {
+-      if (nspecs >= nspecs_max)
++      if (nspecs * sizeof (*specs) >= nspecs_size)
+         {
+           /* Extend the array of format specifiers.  */
+           struct printf_spec *old = specs;
+-          specs = extend_alloca (specs, nspecs_max, 2 * nspecs_max);
++          if (__libc_use_alloca (2 * nspecs_size))
++            specs = extend_alloca (specs, nspecs_size, 2 * nspecs_size);
++          else
++            {
++              nspecs_size *= 2;
++              specs = malloc (nspecs_size);
++            }
++              
+           /* Copy the old array's elements to the new space.  */
+-          memmove (specs, old, nspecs * sizeof (struct printf_spec));
++          memmove (specs, old, nspecs * sizeof (*specs));
++
++          /* If we had previously malloc'd space for SPECS, then
++             release it after the copy is complete.  */
++          if (specs_malloced)
++            free (old);
++
++          /* Now set SPECS_MALLOCED if needed.  */
++         if (!__libc_use_alloca (nspecs_size))
++           specs_malloced = true;
+         }
+       /* Parse the format specifier.  */
+@@ -1998,6 +2020,8 @@ do_positional:
+   }
+ all_done:
++  if (specs_malloced)
++    free (specs);
+   free (args_malloced);
+   free (workstart);
+   /* Unlock the stream.  */
diff --git a/src/patches/glibc/glibc-rh837026.patch b/src/patches/glibc/glibc-rh837026.patch
new file mode 100644 (file)
index 0000000..558ad4f
--- /dev/null
@@ -0,0 +1,30 @@
+diff -rup a/resolv/res_send.c b/resolv/res_send.c
+--- a/resolv/res_send.c        2012-06-28 11:55:38.361886650 -0600
++++ b/resolv/res_send.c        2012-06-28 11:51:38.253963687 -0600
+@@ -424,17 +424,15 @@ __libc_res_nsend(res_state statp, const
+               }
+               n = statp->nscount;
+               ext_total_nscount = EXT(statp).nscount + EXT(statp).nscount6;
+-              if (statp->nscount > ext_total_nscount)
+-                      for (n = ext_total_nscount, ns = 0;
+-                           n < statp->nscount; n++) {
+-                              while (ns < MAXNS
+-                                     && EXT(statp).nsmap[ns] != MAXNS)
+-                                      ns++;
+-                              if (ns == MAXNS)
+-                                      break;
+-                              EXT(statp).nsmap[ns] = n;
+-                              map[n] = ns++;
+-                      }
++              for (n = 0, ns = 0; n < statp->nscount - ext_total_nscount; n++) {
++                      while (ns < MAXNS
++                             && EXT(statp).nsmap[ns] != MAXNS)
++                              ns++;
++                      if (ns == MAXNS)
++                              break;
++                      EXT(statp).nsmap[ns] = n;
++                      map[n] = ns++;
++              }
+               EXT(statp).nscount = n;
+               for (ns = 0; ns < EXT(statp).nscount; ns++) {
+                       n = map[ns];
diff --git a/src/patches/libnl-1.1-ULONG_MAX.patch b/src/patches/libnl-1.1-ULONG_MAX.patch
new file mode 100644 (file)
index 0000000..ca3dd40
--- /dev/null
@@ -0,0 +1,11 @@
+--- libnl-1.1/include/netlink-local.h.orig     2008-06-08 19:09:20.000000000 +0200
++++ libnl-1.1/include/netlink-local.h  2008-06-08 19:09:33.000000000 +0200
+@@ -26,6 +26,7 @@
+ #include <sys/socket.h>
+ #include <inttypes.h>
+ #include <assert.h>
++#include <limits.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>
+
diff --git a/src/patches/libsafe-alpha.diff b/src/patches/libsafe-alpha.diff
deleted file mode 100644 (file)
index dfeb9f2..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
---- libsafe-2.0-16-orig/src/intercept.c        2003-03-15 16:02:12.000000000 +0100
-+++ libsafe-2.0-16/src/intercept.c     2003-03-15 16:12:22.000000000 +0100
-@@ -165,7 +165,8 @@
-  */
- char *strcpy(char *dest, const char *src)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_memcpy)
-       real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-@@ -196,7 +197,8 @@
- char *strncpy(char *dest, const char *src, size_t n)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_strncpy)
-       real_strncpy = (strncpy_t) getLibraryFunction("strncpy");
-@@ -219,7 +221,8 @@
- char *stpcpy(char *dest, const char *src)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_memcpy)
-       real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-@@ -251,7 +254,8 @@
- #ifndef MISSING_WCSNLEN
- wchar_t *wcscpy(wchar_t *dest, const wchar_t *src)
- {
--    size_t max_bytes, max_wchars, len;
-+    size_t max_wchars, len;
-+    uint max_bytes;
-     if (!real_wcscpy)
-       real_wcscpy = (wcscpy_t) getLibraryFunction("wcscpy");
-@@ -291,7 +295,8 @@
- wchar_t *wcpcpy(wchar_t *dest, const wchar_t *src)
- {
--    size_t max_bytes, max_wchars, len;
-+    size_t max_wchars, len;
-+    uint max_bytes;
-     if (!real_wcpcpy)
-       real_wcpcpy = (wcpcpy_t) getLibraryFunction("wcpcpy");
-@@ -333,9 +338,15 @@
- /*
-  * This is needed!  See the strcpy() for the reason. -ab.
-  */
--void *memcpy(void *dest, const void *src, size_t n)
-+void *memcpy(void *dest, const void *src, size_t hack)
- {
--    size_t max_size;
-+    /*
-+     * a size_t IS an unsigned long everywhere, though it sometimes
-+     * doesn't state so, making printf misinterpret it.
-+     */
-+    unsigned long n = hack;
-+    uint max_size;
-+
-     if (!real_memcpy)
-       real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-@@ -344,11 +355,11 @@
-       return real_memcpy(dest, src, n);
-     if ((max_size = _libsafe_stackVariableP(dest)) == 0) {
--      LOG(5, "memcpy(<heap var> , <src>, %d)\n", n);
-+      LOG(5, "memcpy(<heap var> , <src>, %ld)\n", n);
-       return real_memcpy(dest, src, n);
-     }
--    LOG(4, "memcpy(<stack var> , <src>, %d) stack limit=%d)\n", n, max_size);
-+    LOG(4, "memcpy(<stack var> , <src>, %ld) stack limit=%d)\n", n, max_size);
-     if (n > max_size)
-       _libsafe_die("Overflow caused by memcpy()");
-     return real_memcpy(dest, src, n);
-@@ -357,7 +368,7 @@
- char *strcat(char *dest, const char *src)
- {
--    size_t max_size;
-+    uint max_size;
-     uint dest_len, src_len;
-     if (!real_memcpy)
-@@ -388,7 +399,7 @@
- char *strncat(char *dest, const char *src, size_t n)
- {
--    size_t max_size;
-+    uint max_size;
-     uint dest_len, src_len;
-     if (!real_strncat)
-@@ -1008,12 +1019,31 @@
-           if (is_printf_convspec[(int)*p]) {
-               caddr_t addr;
-               c++;
-+#if 0 
-+              /*
-+               * cannot add va_list (ap here) with a number on alpha.
-+               * this is faster than the other method, and might be
-+               * a good idea to enable this on !alpha arch.
-+               */
-               if (pnum) {
-                   addr = *((caddr_t*)(ap + (atoi(pnum)-1)*sizeof(char*)));
-               }
-               else {
-                   addr = *((caddr_t*)(ap + c*sizeof(char*)));
-               }
-+#else
-+              {
-+                  va_list apc;
-+                  uint nb = c + 1;
-+
-+                  va_copy(apc, ap);
-+                  if (pnum)
-+                      nb = atoi(pnum);
-+                  addr = NULL;
-+                  while (nb--)
-+                      addr = va_arg(apc, caddr_t);
-+              }
-+#endif
-               if (*p == 'n') {
-                   if (_libsafe_raVariableP((void *)(addr))) {
-                       _libsafe_die("printf(\"%%n\")");
-@@ -1172,12 +1202,32 @@
-           if (is_printf_convspec[(int)*p]) {
-               caddr_t addr;
-               c++;
-+#if 0
-+              /*
-+               * cannot add va_list (ap here) with a number on alpha.
-+               * this is faster than the other method, and might be
-+               * a good idea to enable this on !alpha arch.
-+               */
-+
-               if (pnum) {
-                   addr = *((caddr_t*)(ap + (atoi(pnum)-1)*sizeof(char*)));
-               }
-               else {
-                   addr = *((caddr_t*)(ap + c*sizeof(char*)));
-               }
-+#else
-+              {
-+                  va_list apc;
-+                  uint nb = c + 1;
-+
-+                  va_copy(apc, ap);
-+                  if (pnum)
-+                      nb = atoi(pnum);
-+                  addr = NULL;
-+                  while (nb--)
-+                    addr = va_arg(apc, caddr_t);
-+              }
-+#endif
-               if (*p == 'n') {
-                   if (_libsafe_raVariableP((void *)(addr))) {
-                       _libsafe_die("printf(\"%%n\")");
-@@ -1194,7 +1244,7 @@
- int sprintf(char *str, const char *format, ...)
- {
--    size_t max_size;
-+    uint max_size;
-     va_list ap;
-     int res;
-@@ -1242,7 +1292,7 @@
- int snprintf(char *str, size_t size, const char *format, ...)
- {
--    size_t max_size;
-+    uint max_size;
-     va_list ap;
-     int res;
-@@ -1288,7 +1338,7 @@
- int vsprintf(char *str, const char *format, va_list ap)
- {
--    size_t max_size;
-+    uint max_size;
-     int res;
-     if (!real_vsprintf)
-@@ -1325,7 +1375,7 @@
- int vsnprintf(char *str, size_t size, const char *format, va_list ap)
- {
--    size_t max_size;
-+    uint max_size;
-     int res;
-     if (!real_vsnprintf)
-@@ -1360,7 +1410,7 @@
- char *getwd(char *buf)
- {
--    size_t max_size;
-+    uint max_size;
-     char *res;
-     if (!real_getwd)
-@@ -1384,7 +1434,8 @@
- char *gets(char *s)
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     if (!real_gets)
-       real_gets = (gets_t) getLibraryFunction("gets");
-@@ -1409,7 +1460,8 @@
- char *realpath(char *path, char resolved_path[])
- {
--    size_t max_size, len;
-+    uint max_size;
-+    size_t len;
-     char *res;
-     char buf[MAXPATHLEN + 1];
diff --git a/src/patches/libsafe-functioncaching.diff b/src/patches/libsafe-functioncaching.diff
deleted file mode 100644 (file)
index db003a4..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-From: Goswin Brederlow <goswin.brederlow@student.uni-tuebingen.de>
-Subject: Bug#129345: patch to prevent a loop between libdl and libsafe causing libdl to crash
-To: 129345@bugs.debian.org
-Date: 01 Sep 2002 23:54:35 +0200
-Reply-To: Goswin Brederlow <goswin.brederlow@student.uni-tuebingen.de>,
-       129345@bugs.debian.org
-Resent-From: Goswin Brederlow <goswin.brederlow@student.uni-tuebingen.de>
-
-
--------
-[D. Coe edited this patch slightly -- moved an unrelated change into the
-Makefile itself [it changed the debugging comments only], and corrected a 
-spelling error and reworded the comments.  The original patch is in the 
-bug tracking system, if you want to see it as submitted by Goswin.]
--------
--------
-D. Coe subsequently modified the patch further, because in some cases
-the initializations did not occur (e.g. when IO_vfscanf or memcpy was
-called from ps or top (likely one of the libraries they use).  maybe
-they do something that disables libsafe's library globals initialization?
-
-
-In any case, I've adopted both strategise in this new patch; the addresses
-are preloaded as Goswin had coded, but they are also individually checked
-each time needed (as was the case before Goswin's patch), and are initialized
-at that point if necessary.  Hopefully this will let ps and top work
-and also continue to work around the libdl problem.
--------
-
-Hi,
-
-if libsafe is invoked from inside libdl (or only inside dlerror()?)
-and a real_XXX function is not yet looked up it will reenter
-libdl. That causes memory corruption resulting in a read from 0x0 and
-thus segfault.
-
-The patch below makes libsafe cache all needed symbols once upon
-init. That not only causes less lookups than before but should prevent
-fatal loops. Failures of the initial lookups might not be reported
-correctly but terminate in some odd way if the functions needed to
-report are not yet looked up.
-
-MfG
-        Goswin
-
-----------------------------------------------------------------------
-diff -Nurd libsafe-2.0-16/src/intercept.c libsafe-2.0-16-mrvn/src/intercept.c
---- libsafe-2.0-16/src/intercept.c     2002-05-31 19:37:34.000000000 +0200
-+++ libsafe-2.0-16-mrvn/src/intercept.c        2002-09-01 23:44:55.000000000 +0200
-@@ -128,14 +128,29 @@
- }
--/* Starting with version 2.0, we keep a single global copy of the pointer to
-- * the real memcpy() function.  This allows us to call
-- * getLibraryFunction("memcpy") just once instead of multiple times, since
-- * memcpy() is needed in four different functions below.
-+/* Starting with Debian version 2.0-16-2, we keep a global copy of the pointer
-+ * to each real functions.  Otherwise a getLibraryFunction might
-+ * be triggered from inside dlsym() and cause memory corruption reulting in a
-+ * segfault.
-  */
--static memcpy_t real_memcpy = NULL;
--
--
-+static memcpy_t      real_memcpy = NULL;
-+static _IO_vfscanf_t real_IO_vfscanf = NULL;
-+static vfprintf_t    real_vfprintf = NULL;
-+static vsnprintf_t   real_vsnprintf = NULL;
-+static vsprintf_t    real_vsprintf = NULL;
-+static gets_t        real_gets = NULL;
-+static getwd_t       real_getwd = NULL;
-+static realpath_t    real_realpath = NULL;
-+static stpcpy_t      real_stpcpy = NULL;
-+static strcat_t      real_strcat = NULL;
-+static strcpy_t      real_strcpy = NULL;
-+static strncat_t     real_strncat = NULL;
-+static strncpy_t     real_strncpy = NULL;
-+static wcscpy_t      real_wcscpy = NULL;
-+static wcpcpy_t      real_wcpcpy = NULL;
-+#ifndef MISSING_WCSNLEN
-+static wcscat_t      real_wcscat = NULL;
-+#endif
- /*
-  * -------------- system library implementations -------------------
-  * Here is the story: if a C source file includes <string.h> and is
-@@ -150,7 +165,6 @@
-  */
- char *strcpy(char *dest, const char *src)
- {
--    static strcpy_t real_strcpy = NULL;
-     size_t max_size, len;
-     if (!real_memcpy)
-@@ -182,7 +196,6 @@
- char *strncpy(char *dest, const char *src, size_t n)
- {
--    static strncpy_t real_strncpy = NULL;
-     size_t max_size, len;
-     if (!real_strncpy)
-@@ -206,7 +219,6 @@
- char *stpcpy(char *dest, const char *src)
- {
--    static stpcpy_t real_stpcpy = NULL;
-     size_t max_size, len;
-     if (!real_memcpy)
-@@ -239,7 +251,6 @@
- #ifndef MISSING_WCSNLEN
- wchar_t *wcscpy(wchar_t *dest, const wchar_t *src)
- {
--    static wcscpy_t real_wcscpy = NULL;
-     size_t max_bytes, max_wchars, len;
-     if (!real_wcscpy)
-@@ -280,7 +291,6 @@
- wchar_t *wcpcpy(wchar_t *dest, const wchar_t *src)
- {
--    static wcpcpy_t real_wcpcpy = NULL;
-     size_t max_bytes, max_wchars, len;
-     if (!real_wcpcpy)
-@@ -347,7 +357,6 @@
- char *strcat(char *dest, const char *src)
- {
--    static strcat_t real_strcat = NULL;
-     size_t max_size;
-     uint dest_len, src_len;
-@@ -379,7 +388,6 @@
- char *strncat(char *dest, const char *src, size_t n)
- {
--    static strncat_t real_strncat = NULL;
-     size_t max_size;
-     uint dest_len, src_len;
-@@ -408,7 +416,6 @@
- #ifndef MISSING_WCSNLEN
- wchar_t *wcscat(wchar_t *dest, const wchar_t *src)
- {
--    static wcscat_t real_wcscat = NULL;
-     size_t max_bytes;
-     uint dest_len, src_len;
-@@ -861,7 +868,6 @@
-  */
- int vfprintf(FILE *fp, const char *format, va_list ap)
- {
--    static vfprintf_t real_vfprintf = NULL;
-     int res;
-     char *p, *pnum;
-     int c = -1;               /* Next var arg to be used */
-@@ -1026,7 +1032,6 @@
-  */
- int _IO_vfprintf(FILE *fp, const char *format, va_list ap)
- {
--    static vfprintf_t real_vfprintf = NULL;
-     int res;
-     char *p, *pnum;
-     int c = -1;               /* Next var arg to be used */
-@@ -1189,8 +1194,6 @@
- int sprintf(char *str, const char *format, ...)
- {
--    static vsprintf_t real_vsprintf = NULL;
--    static vsnprintf_t real_vsnprintf = NULL;
-     size_t max_size;
-     va_list ap;
-     int res;
-@@ -1239,7 +1242,6 @@
- int snprintf(char *str, size_t size, const char *format, ...)
- {
--    static vsnprintf_t real_vsnprintf = NULL;
-     size_t max_size;
-     va_list ap;
-     int res;
-@@ -1286,8 +1288,6 @@
- int vsprintf(char *str, const char *format, va_list ap)
- {
--    static vsprintf_t real_vsprintf = NULL;
--    static vsnprintf_t real_vsnprintf = NULL;
-     size_t max_size;
-     int res;
-@@ -1325,7 +1325,6 @@
- int vsnprintf(char *str, size_t size, const char *format, va_list ap)
- {
--    static vsnprintf_t real_vsnprintf = NULL;
-     size_t max_size;
-     int res;
-@@ -1361,7 +1360,6 @@
- char *getwd(char *buf)
- {
--    static getwd_t real_getwd = NULL;
-     size_t max_size;
-     char *res;
-@@ -1386,7 +1384,6 @@
- char *gets(char *s)
- {
--    static gets_t real_gets = NULL;
-     size_t max_size, len;
-     if (!real_gets)
-@@ -1412,7 +1409,6 @@
- char *realpath(char *path, char resolved_path[])
- {
--    static realpath_t real_realpath = NULL;
-     size_t max_size, len;
-     char *res;
-     char buf[MAXPATHLEN + 1];
-@@ -1445,7 +1441,6 @@
- int _IO_vfscanf (_IO_FILE *s, const char *format, _IO_va_list argptr, int *errp)
- {
--    static _IO_vfscanf_t real_IO_vfscanf = NULL;
-     int res, save_count;
-     caddr_t ra_array[MAXLEVELS], fp_array[MAXLEVELS];
-@@ -1529,6 +1524,25 @@
-       
-       fclose(fp);
-     }
-+
-+    real_memcpy = (memcpy_t) getLibraryFunction("memcpy");
-+    real_IO_vfscanf = (_IO_vfscanf_t) getLibraryFunction("_IO_vfscanf");
-+    real_vfprintf = (vfprintf_t) getLibraryFunction("vfprintf");
-+    real_vsnprintf = (vsnprintf_t) getLibraryFunction("vsnprintf");
-+    real_vsprintf = (vsprintf_t) getLibraryFunction("vsprintf");
-+    real_gets = (gets_t) getLibraryFunction("gets");
-+    real_getwd = (getwd_t) getLibraryFunction("getwd");
-+    real_realpath = (realpath_t) getLibraryFunction("realpath");
-+    real_stpcpy = (stpcpy_t) getLibraryFunction("stpcpy");
-+    real_strcat = (strcat_t) getLibraryFunction("strcat");
-+    real_strcpy = (strcpy_t) getLibraryFunction("strcpy");
-+    real_strncat = (strncat_t) getLibraryFunction("strncat");
-+    real_strncpy = (strncpy_t) getLibraryFunction("strncpy");
-+    real_wcscpy = (wcscpy_t) getLibraryFunction("wcscpy");
-+    real_wcpcpy = (wcpcpy_t) getLibraryFunction("wcpcpy");
-+#ifndef MISSING_WCSNLEN
-+    real_wcscat = (wcscat_t) getLibraryFunction("wcscat");
-+#endif
- }
diff --git a/src/patches/netpbm-10.26.46-getline.patch b/src/patches/netpbm-10.26.46-getline.patch
new file mode 100644 (file)
index 0000000..c5a961b
--- /dev/null
@@ -0,0 +1,202 @@
+The getline function used in a couple of places in netpbm-free is also
+defined by POSIX:2008, and so netpbm-free fails to build with newer
+versions of (e)glibc. Here's a patch to rename it.
+
+  * Rename getline functions to get_line to avoid conflict with POSIX:2008.
+
+--- netpbm-free-10.0.orig/ppm/xvminitoppm.c
++++ netpbm-free-10.0/ppm/xvminitoppm.c
+@@ -14,7 +14,7 @@
+ #include "ppm.h"
+ #define BUFSIZE 256
+-static void getline ARGS((FILE *fp, char *buf));
++static void get_line ARGS((FILE *fp, char *buf));
+ int 
+ main(argc, argv)
+@@ -48,18 +48,18 @@
+                 i++;
+             }
+     
+-    getline(ifp, buf);
++    get_line(ifp, buf);
+     if( strncmp(buf, "P7 332", 6) != 0 )
+         pm_error("bad magic number - not a XV thumbnail picture");
+     while(1) {
+-        getline(ifp, buf);
++        get_line(ifp, buf);
+         if( strncmp(buf, "#END_OF_COMMENTS", 16)==0 )
+             break;
+         if( strncmp(buf, "#BUILTIN", 8)==0 )
+             pm_error("cannot convert builtin XV thumbnail pictures");
+     }
+-    getline(ifp, buf);
++    get_line(ifp, buf);
+     if( sscanf(buf, "%d %d %d", &cols, &rows, &maxval) != 3 ) 
+         pm_error("error parsing dimension info");
+     if( maxval != 255 )
+@@ -85,7 +85,7 @@
+ static void
+-getline(fp, buf)
++get_line(fp, buf)
+     FILE *fp;
+     char *buf;
+ {
+--- netpbm-free-10.0.orig/ppm/xpmtoppm.c
++++ netpbm-free-10.0/ppm/xpmtoppm.c
+@@ -114,7 +114,7 @@
+ static void
+-getline(char * const line, int const size, FILE * const stream) {
++get_line(char * const line, int const size, FILE * const stream) {
+ /*----------------------------------------------------------------------------
+    Read the next line from the input file 'stream', through the one-line
+    buffer lastInputLine[].
+@@ -130,7 +130,7 @@
+    Exit program if the line doesn't fit in the buffer.
+ -----------------------------------------------------------------------------*/
+     if (size > MAX_LINE+1)
+-        pm_error("INTERNAL ERROR: getline() received 'size' parameter "
++        pm_error("INTERNAL ERROR: get_line() received 'size' parameter "
+                  "which is out of bounds");
+     if (backup) {
+@@ -346,7 +346,7 @@
+                int * const transparentP) {
+ /*----------------------------------------------------------------------------
+   Read the header of the XPM file on stream 'stream'.  Assume the
+-  getline() stream is presently positioned to the beginning of the
++  get_line() stream is presently positioned to the beginning of the
+   file and it is a Version 3 XPM file.  Leave the stream positioned
+   after the header.
+@@ -377,25 +377,25 @@
+     *widthP = *heightP = *ncolorsP = *chars_per_pixelP = -1;
+     /* Read the XPM signature comment */
+-    getline(line, sizeof(line), stream);
++    get_line(line, sizeof(line), stream);
+     if (strncmp(line, xpm3_signature, strlen(xpm3_signature)) != 0) 
+         pm_error("Apparent XPM 3 file does not start with '/* XPM */'.  "
+                  "First line is '%s'", xpm3_signature);
+     /* Read the assignment line */
+-    getline(line, sizeof(line), stream);
++    get_line(line, sizeof(line), stream);
+     if (strncmp(line, "static char", 11) != 0)
+         pm_error("Cannot find data structure declaration.  Expected a "
+                  "line starting with 'static char', but found the line "
+                  "'%s'.", line);
+       /* Read the hints line */
+-    getline(line, sizeof(line), stream);
++    get_line(line, sizeof(line), stream);
+     /* skip the comment line if any */
+     if (!strncmp(line, "/*", 2)) {
+         while (!strstr(line, "*/"))
+-            getline(line, sizeof(line), stream);
+-        getline(line, sizeof(line), stream);
++            get_line(line, sizeof(line), stream);
++        get_line(line, sizeof(line), stream);
+     }
+     if (sscanf(line, "\"%d %d %d %d\",", widthP, heightP,
+                ncolorsP, chars_per_pixelP) != 4)
+@@ -427,10 +427,10 @@
+         *transparentP = -1;  /* initial value */
+         for (seqNum = 0; seqNum < *ncolorsP; seqNum++) {
+-            getline(line, sizeof(line), stream);
++            get_line(line, sizeof(line), stream);
+             /* skip the comment line if any */
+             if (!strncmp(line, "/*", 2))
+-                getline(line, sizeof(line), stream);
++                get_line(line, sizeof(line), stream);
+             
+             interpretXpm3ColorTableLine(line, seqNum, *chars_per_pixelP, 
+                                         *colorsP, *ptabP, transparentP);
+@@ -445,7 +445,7 @@
+                pixel ** const colorsP, int ** const ptabP) {
+ /*----------------------------------------------------------------------------
+   Read the header of the XPM file on stream 'stream'.  Assume the
+-  getline() stream is presently positioned to the beginning of the
++  get_line() stream is presently positioned to the beginning of the
+   file and it is a Version 1 XPM file.  Leave the stream positioned
+   after the header.
+   
+@@ -464,7 +464,7 @@
+     /* Read the initial defines. */
+     processedStaticChar = FALSE;
+     while (!processedStaticChar) {
+-        getline(line, sizeof(line), stream);
++        get_line(line, sizeof(line), stream);
+         if (sscanf(line, "#define %s %d", str1, &v) == 2) {
+             char *t1;
+@@ -512,7 +512,7 @@
+     /* If there's a monochrome color table, skip it. */
+     if (!strncmp(t1, "mono", 4)) {
+         for (;;) {
+-            getline(line, sizeof(line), stream);
++            get_line(line, sizeof(line), stream);
+             if (!strncmp(line, "static char", 11))
+                 break;
+         }
+@@ -533,7 +533,7 @@
+     /* Read color table. */
+     for (i = 0; i < *ncolorsP; ++i) {
+-        getline(line, sizeof(line), stream);
++        get_line(line, sizeof(line), stream);
+         if ((t1 = strchr(line, '"')) == NULL)
+             pm_error("D error scanning color table");
+@@ -569,7 +569,7 @@
+        "static char ...").
+     */
+     for (;;) {
+-        getline(line, sizeof(line), stream);
++        get_line(line, sizeof(line), stream);
+         if (strncmp(line, "static char", 11) == 0)
+             break;
+     }
+@@ -660,7 +660,7 @@
+     backup = FALSE;
+     /* Read the header line */
+-    getline(line, sizeof(line), stream);
++    get_line(line, sizeof(line), stream);
+     backup = TRUE;  /* back up so next read reads this line again */
+     
+     rc = sscanf(line, "/* %s */", str1);
+@@ -681,7 +681,7 @@
+         pm_error("Could not get %d bytes of memory for image", totalpixels);
+     cursor = *dataP;
+     maxcursor = *dataP + totalpixels - 1;
+-      getline(line, sizeof(line), stream); 
++      get_line(line, sizeof(line), stream); 
+         /* read next line (first line may not always start with comment) */
+     while (cursor <= maxcursor) {
+         if (strncmp(line, "/*", 2) == 0) {
+@@ -691,7 +691,7 @@
+                              ncolors, ptab, &cursor, maxcursor);
+         }
+         if (cursor <= maxcursor)
+-            getline(line, sizeof(line), stream);
++            get_line(line, sizeof(line), stream);
+     }
+     if (ptab) free(ptab);
+ }
+
+Thanks,
+
+-- 
+Colin Watson                                       [cjwatson@ubuntu.com]
+
+
+
+
diff --git a/src/patches/pptp-1.7.2-compat.patch b/src/patches/pptp-1.7.2-compat.patch
new file mode 100644 (file)
index 0000000..0ea1551
--- /dev/null
@@ -0,0 +1,71 @@
+Index: pptp_compat.c
+===================================================================
+RCS file: /cvsroot/pptpclient/pptp-linux/pptp_compat.c,v
+retrieving revision 1.1
+retrieving revision 1.3
+diff -u -r1.1 -r1.3
+--- pptp_compat.c      19 Feb 2008 21:43:28 -0000      1.1
++++ pptp_compat.c      25 Jul 2008 00:13:56 -0000      1.3
+@@ -7,14 +7,15 @@
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+-#include <stropts.h>
+ #include <stdlib.h>
++#if defined (__SVR4) && defined (__sun) /* Solaris */
++#include <stropts.h>
++#endif
+ #include <strings.h>
+ #include "pptp_compat.h"
+ #include <stdio.h>
+ #include "util.h"
+-
+ #if defined (__SVR4) && defined (__sun) /* Solaris */
+ /*
+  * daemon implementation from uClibc
+Index: pptp.c
+===================================================================
+RCS file: /cvsroot/pptpclient/pptp-linux/pptp.c,v
+retrieving revision 1.49
+retrieving revision 1.51
+diff -u -r1.49 -r1.51
+--- pptp.c     14 May 2008 06:32:52 -0000      1.49
++++ pptp.c     24 Jul 2008 05:53:05 -0000      1.51
+@@ -61,9 +61,8 @@
+ #include "version.h"
+ #if defined(__linux__)
+ #include <sys/prctl.h>
+-#else
+-#include "inststr.h"
+ #endif
++#include "inststr.h"
+ #include "util.h"
+ #include "pptp_quirks.h"
+ #include "pqueue.h"
+@@ -129,7 +128,7 @@
+ }
+ #if defined (__SVR4) && defined (__sun)
+-struct in_addr localbind = { INADDR_ANY };
++struct in_addr localbind = { .s_addr = INADDR_ANY };
+ #else
+ struct in_addr localbind = { INADDR_NONE };
+ #endif
+@@ -183,6 +182,7 @@
+     struct in_addr inetaddr;
+     volatile int callmgr_sock = -1;
+     char ttydev[PATH_MAX];
++    char *tty_name;
+     int pty_fd, tty_fd, gre_fd, rc;
+     volatile pid_t parent_pid, child_pid;
+     u_int16_t call_id, peer_call_id;
+@@ -391,7 +391,7 @@
+         file2fd("/dev/null", "wb", STDERR_FILENO);
+     }
+-    char *tty_name = ttyname(tty_fd);
++    tty_name = ttyname(tty_fd);
+     snprintf(buf, sizeof(buf), "pptp: GRE-to-PPP gateway on %s",
+               tty_name ? tty_name : "(null)");
+ #ifdef PR_SET_NAME
diff --git a/src/patches/slang-1.4.9-uclibc.patch b/src/patches/slang-1.4.9-uclibc.patch
deleted file mode 100644 (file)
index 7847147..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru slang-1.4.9.orig/src/slmisc.c slang-1.4.9/src/slmisc.c
---- slang-1.4.9.orig/src/slmisc.c      2003-03-23 07:06:40.000000000 +0000
-+++ slang-1.4.9/src/slmisc.c   2004-05-05 14:27:24.000000000 +0000
-@@ -565,7 +565,7 @@
-    return (int) SLatol (s);
- }
--#if !defined(HAVE_ISSETUGID) && defined(__GLIBC__) && (__GLIBC__ >= 2)
-+#if 0
- extern int __libc_enable_secure;
- # define HAVE___LIBC_ENABLE_SECURE 1
- #endif
diff --git a/src/patches/uClibc-gcc4-genwctype.patch b/src/patches/uClibc-gcc4-genwctype.patch
deleted file mode 100644 (file)
index 568e5bd..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- uClibc-0.9.28/extra/locale/gen_wctype.c.orig       2005-08-18 00:49:41.000000000 +0200
-+++ uClibc-0.9.28/extra/locale/gen_wctype.c    2005-12-09 16:29:53.000000000 +0100
-@@ -796,6 +796,7 @@
-               ti[i] = ut + j;
-               j += blocksize;
-       }
-+      memset(uniqblock, 0, sizeof(uniqblock));
-       /* sort */
-       nu_val = blocksize;
-
diff --git a/src/stripper b/src/stripper
new file mode 100755 (executable)
index 0000000..199d17f
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+function _strip() {
+       local file=${1}
+
+       local cmd="${STRIP-strip}"
+
+       case "$(file -bi ${file})" in
+               application/x-sharedlib*)
+                       cmd="${cmd} --strip-debug --remove-section=.comment --remove-section=.note"
+                       ;;
+               *)
+                       cmd="${cmd} --strip-unneeded"
+                       ;;
+       esac
+
+       echo "Stripping ${file}..."
+       ${cmd} ${file}
+}
+
+for dir in $@; do
+       find ${dir} -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \
+               | file -N -f - | sed -n -e 's/^\(.*\):[   ]*.*ELF.*, not stripped/\1/p' |
+               while read file; do
+                       _strip ${file}
+               done
+done
index 5450689396dc8baab5c2f214117c63906fe83928..ebbb4d822e9e7ba1801fafc98ea316994aad8fc3 100644 (file)
@@ -220,6 +220,7 @@ get_pkg_ver()
 if [ 'x86_64' = $MACHINE -o 'i686' = $MACHINE -o 'i586' = $MACHINE ]; then
        echo "`date -u '+%b %e %T'`: Machine is iX86 (or equivalent)" >> $LOGFILE
        MACHINE=i586
+       CROSSTARGET=${MACHINE}-cross-linux-gnu
        BUILDTARGET=i586-pc-linux-gnu
        CFLAGS="-O2 -march=i586 -pipe -fomit-frame-pointer"
        CXXFLAGS="-O2 -march=i586 -pipe -fomit-frame-pointer"
@@ -229,6 +230,7 @@ elif [ 'armv5tejl' = $MACHINE -o 'armv5tel' = $MACHINE -o 'armv6l' = $MACHINE -o
        echo "`date -u '+%b %e %T'`: Machine is ARM (or equivalent)" >> $LOGFILE
        MACHINE=armv5tel
        MACHINE_TYPE=arm
+       CROSSTARGET=${MACHINE}-cross-linux-gnueabi
        BUILDTARGET=${MACHINE}-unknown-linux-gnueabi
        CFLAGS="-O2 -march=armv5te -mfloat-abi=soft -fomit-frame-pointer -pipe"
        CXXFLAGS="$CFLAGS"
@@ -292,7 +294,7 @@ entershell() {
 
        echo "Entering to a shell inside LFS chroot, go out with exit"
        $linux32 chroot $LFS /tools/bin/env -i HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
-               PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
+               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
                VERSION=$VERSION CONFIG_ROOT=$CONFIG_ROOT \
                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                CFLAGS="$CF2LAGS" CXXFLAGS="$CXX2FLAGS" \
@@ -301,6 +303,7 @@ entershell() {
                CCACHE_COMPILERCHECK="none" \
                KVER=$KVER \
                BUILDTARGET="$BUILDTARGET" \
+               CROSSTARGET="${CROSSTARGET}" \
                MACHINE="$MACHINE" \
                MACHINE_TYPE="$MACHINE_TYPE" \
                KGCC="ccache /usr/bin/gcc" \
@@ -382,6 +385,7 @@ lfsmake1() {
        local PKG_TIME_START=`date +%s`
 
        cd $BASEDIR/lfs && make -f $*   BUILDTARGET=$BUILDTARGET \
+                                               CROSSTARGET="${CROSSTARGET}" \
                                                MACHINE=$MACHINE \
                                                MACHINE_TYPE=$MACHINE_TYPE \
                                                LFS_BASEDIR=$BASEDIR \
@@ -410,7 +414,7 @@ lfsmake2() {
        local PKG_TIME_START=`date +%s`
        $linux32 chroot $LFS /tools/bin/env -i  HOME=/root \
                                                TERM=$TERM PS1='\u:\w\$ ' \
-                                               PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
+                                               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
                                                VERSION=$VERSION \
                                                CONFIG_ROOT=$CONFIG_ROOT \
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
@@ -418,7 +422,9 @@ lfsmake2() {
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
                                                CCACHE_COMPILERCHECK="none" \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
-                                               BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                               BUILDTARGET="$BUILDTARGET" \
+                                               CROSSTARGET="${CROSSTARGET}" \
+                                               MACHINE="$MACHINE" \
                                                MACHINE_TYPE="$MACHINE_TYPE" \
                                                $(fake_environ) \
                                                /tools/bin/bash -x -c "cd /usr/src/lfs && \
@@ -443,7 +449,7 @@ ipfiremake() {
        local PKG_TIME_START=`date +%s`
        $linux32 chroot $LFS /tools/bin/env -i  HOME=/root \
                                                TERM=$TERM PS1='\u:\w\$ ' \
-                                               PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \
+                                               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin \
                                                VERSION=$VERSION \
                                                CORE=$CORE \
                                                CONFIG_ROOT=$CONFIG_ROOT \
@@ -452,7 +458,9 @@ ipfiremake() {
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
                                                CCACHE_COMPILERCHECK="none" \
                                                KVER=$KVER MAKETUNING=$MAKETUNING \
-                                               BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                               BUILDTARGET="$BUILDTARGET" \
+                                               CROSSTARGET="${CROSSTARGET}" \
+                                               MACHINE="$MACHINE" \
                                                MACHINE_TYPE="$MACHINE_TYPE" \
                                                $(fake_environ) \
                                                /bin/bash -x -c "cd /usr/src/lfs && \
@@ -477,7 +485,7 @@ ipfiredist() {
        local PKG_TIME_START=`date +%s`
        chroot $LFS /tools/bin/env -i   HOME=/root \
                                        TERM=$TERM PS1='\u:\w\$ ' \
-                                       PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \
+                                       PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin \
                                        VERSION=$VERSION \
                                        CONFIG_ROOT=$CONFIG_ROOT \
                                        NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
@@ -485,7 +493,9 @@ ipfiredist() {
                                        CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 \
                                        CCACHE_COMPILERCHECK="none" \
                                        KVER=$KVER \
-                                       BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                       BUILDTARGET="$BUILDTARGET" \
+                                       CROSSTARGET="${CROSSTARGET}" \
+                                       MACHINE="$MACHINE" \
                                        MACHINE_TYPE="$MACHINE_TYPE" \
                                        $(fake_environ) \
                                        /bin/bash -x -c "cd /usr/src/lfs && \
@@ -510,15 +520,16 @@ installmake() {
        local PKG_TIME_START=`date +%s`
        $linux32 chroot $LFS /tools/bin/env -i  HOME=/root \
                                                TERM=$TERM PS1='\u:\w\$ ' \
-                                               PATH=/opt/i586-uClibc/i586-linux-uclibc/bin:/opt/i586-uClibc/bin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin \
+                                               PATH=/tools/ccache/bin:/bin:/usr/bin:/sbin:/usr/sbin \
                                                VERSION=$VERSION \
                                                CONFIG_ROOT=$CONFIG_ROOT \
-                                               LFS_PASS="install" \
                                                NAME="$NAME" SNAME="$SNAME" SLOGAN="$SLOGAN" \
                                                CFLAGS="-Os" CXXFLAGS="-Os" \
                                                CCACHE_DIR=/usr/src/ccache CCACHE_COMPRESS=1 CCACHE_HASHDIR=1 \
                                                KVER=$KVER \
-                                               BUILDTARGET="$BUILDTARGET" MACHINE="$MACHINE" \
+                                               BUILDTARGET="$BUILDTARGET" \
+                                               CROSSTARGET="${CROSSTARGET}" \
+                                               MACHINE="$MACHINE" \
                                                MACHINE_TYPE="$MACHINE_TYPE" \
                    /bin/bash -x -c "cd /usr/src/lfs && \
                    make -f $* LFS_BASEDIR=/usr/src install" >>$LOGFILE 2>&1